cmake_minimum_required(VERSION 3.20) project(ecg-u01) add_library(ecg_tree SHARED node.cpp) add_executable(main main.cpp) target_link_libraries(main ecg_tree) find_package(Catch2 3) if(Catch2_FOUND) add_executable(tests tests.cpp) target_link_libraries(tests PRIVATE Catch2::Catch2WithMain ecg_tree) include(CTest) include(Catch) catch_discover_tests(tests) endif() install(TARGETS main) install(TARGETS ecg_tree DESTINATION lib)