# package: find external packages include(FindPkgConfig) # package: required boost libraries set(Boost_USE_STATIC_LIBS OFF) set(Boost_USE_MULTITHREADED ON) set(Boost_USE_STATIC_RUNTIME OFF) find_package(Boost 1.44 COMPONENTS unit_test_framework system program_options date_time serialization REQUIRED) include_directories(${Boost_INCLUDE_DIRS}) link_directories(${Boost_LIBRARY_DIRS}) # package: libi2ncommon pkg_check_modules(I2NCOMMON REQUIRED libi2ncommon) include_directories(${I2NCOMMON_INCLUDE_DIRS}) link_directories(${I2NCOMMON_LIBRARY_DIRS}) # compiler: include directories where the source code is located include_directories(${CMAKE_SOURCE_DIR}/src) # compiler: include directories where the source code is located include_directories(${CMAKE_CURRENT_SOURCE_DIR}/src) # cmake: enable ctest enable_testing() # cmake: inclusion of each test case cmake file include(CMakeLists.test_configurationcommandline.txt) include(CMakeLists.test_configurationfile.txt) include(CMakeLists.test_configurationoptions.txt) include(CMakeLists.test_messagepayload.txt) include(CMakeLists.test_pingprotocol.txt) include(CMakeLists.test_hoststatus.txt) include(CMakeLists.test_linkstatus.txt) include(CMakeLists.test_loglevel.txt) include(CMakeLists.test_logoutput.txt) include(CMakeLists.test_ipv4header.txt) include(CMakeLists.test_ipv6header.txt) include(CMakeLists.test_icmpv4header.txt) include(CMakeLists.test_icmpv6header.txt) include(CMakeLists.test_icmppacket.txt) include(CMakeLists.test_tcpheader.txt) include(CMakeLists.test_dns.txt) # cmake: add a custom "make check" target which automatically builds the binary add_custom_target(check COMMAND ${CMAKE_CTEST_COMMAND} DEPENDS test_configurationcommandline test_configurationfile test_configurationoptions test_messagepayload test_pingprotocol test_hoststatus test_linkstatus test_loglevel test_ipv4header test_ipv6header test_icmpv4header test_icmpv6header test_icmppacket test_tcpheader test_dns )