This uses CMake’s BUILD_SHARED_LIBS variable, which by default is set to OFF. To build the shared library and link the binaries against it, you can set it to ON.
20 lines
422 B
CMake
20 lines
422 B
CMake
cmake_minimum_required(VERSION 3.20)
|
|
project(ecg_tree)
|
|
|
|
add_library(tree node.cpp)
|
|
add_executable(main main.cpp)
|
|
target_link_libraries(main tree)
|
|
|
|
find_package(Catch2 3)
|
|
if(Catch2_FOUND)
|
|
add_executable(tests tests.cpp)
|
|
target_link_libraries(tests PRIVATE Catch2::Catch2WithMain tree)
|
|
|
|
include(CTest)
|
|
include(Catch)
|
|
catch_discover_tests(tests)
|
|
endif()
|
|
|
|
install(TARGETS main)
|
|
install(TARGETS tree DESTINATION lib)
|