denv-cpp/addressbook/CMakeLists.txt

38 lines
1.2 KiB
CMake
Raw Permalink Normal View History

2024-05-26 17:59:17 +02:00
project(addressbook LANGUAGES CXX VERSION 0.0.1)
# https://cmake.org/cmake/help/latest/module/FindProtobuf.html
find_package(Protobuf REQUIRED)
include_directories(${Protobuf_INCLUDE_DIRS})
include_directories(${CMAKE_CURRENT_BINARY_DIR})
protobuf_generate_cpp(PROTO_SRCS PROTO_HDRS addressbook.proto)
add_library(${PROJECT_NAME}
${PROTO_SRCS}
#${PROTO_HDRS}
)
target_link_libraries(${PROJECT_NAME}
PRIVATE # private implementation, others can not link with this library
protobuf::libprotobuf
)
target_include_directories(${PROJECT_NAME}
PUBLIC # Will make these headers availvable to the library itself
# and to any target trying to link agains it
${CMAKE_CURRENT_BINARY_DIR}
)
#if(testing_enabled)
# https://cmake.org/cmake/help/book/mastering-cmake/chapter/Testing%20With%20CMake%20and%20CTest.html
add_executable(${PROJECT_NAME}-test
test.cpp
)
target_link_libraries(${PROJECT_NAME}-test PRIVATE Catch2::Catch2WithMain)
catch_discover_tests(${PROJECT_NAME}-test)
add_test(
NAME "Custom-test-script"
#CONFIGURATIONS "systemt"
#COMMAND $<TARGET-FILE>:ctest --success
COMMAND echo "testing [OK]"
)
#endif()