mirror of
https://github.com/zeromq/cppzmq.git
synced 2024-12-12 10:33:52 +01:00
54 lines
1.1 KiB
CMake
54 lines
1.1 KiB
CMake
find_package(Threads)
|
|
|
|
find_package(Catch2 QUIET)
|
|
|
|
if (NOT Catch2_FOUND)
|
|
include(FetchContent)
|
|
|
|
FetchContent_Declare(
|
|
Catch2
|
|
GIT_REPOSITORY https://github.com/catchorg/Catch2.git
|
|
GIT_TAG v3.5.3)
|
|
|
|
FetchContent_MakeAvailable(Catch2)
|
|
|
|
list(APPEND CMAKE_MODULE_PATH ${catch2_SOURCE_DIR}/contrib)
|
|
endif()
|
|
|
|
add_executable(
|
|
unit_tests
|
|
buffer.cpp
|
|
message.cpp
|
|
context.cpp
|
|
socket.cpp
|
|
socket_ref.cpp
|
|
poller.cpp
|
|
active_poller.cpp
|
|
multipart.cpp
|
|
recv_multipart.cpp
|
|
send_multipart.cpp
|
|
codec_multipart.cpp
|
|
monitor.cpp
|
|
utilities.cpp
|
|
)
|
|
|
|
target_include_directories(unit_tests PUBLIC ${CATCH_MODULE_PATH})
|
|
target_link_libraries(
|
|
unit_tests
|
|
PRIVATE Catch2::Catch2WithMain
|
|
PRIVATE cppzmq
|
|
PRIVATE ${CMAKE_THREAD_LIBS_INIT}
|
|
)
|
|
|
|
OPTION (COVERAGE "Enable gcda file generation needed by lcov" OFF)
|
|
|
|
if (COVERAGE)
|
|
target_compile_options(unit_tests PRIVATE --coverage)
|
|
target_link_options(unit_tests PRIVATE --coverage)
|
|
message(STATUS "Coverage enabled")
|
|
endif()
|
|
|
|
include(CTest)
|
|
include(Catch)
|
|
catch_discover_tests(unit_tests)
|