From eb328da56c3fc7167b536dcb206df0abb0f4a9b9 Mon Sep 17 00:00:00 2001 From: Garrett D'Amore Date: Fri, 13 Nov 2020 22:31:18 -0800 Subject: fixes #1087 CMakeLists structural improvements desired This doesn't modularize all the tests yet, but it goes a long way in the right direction. --- tools/nngcat/CMakeLists.txt | 49 +++++++++++++++++++++++++-------------------- 1 file changed, 27 insertions(+), 22 deletions(-) (limited to 'tools') diff --git a/tools/nngcat/CMakeLists.txt b/tools/nngcat/CMakeLists.txt index 209d545e..bd7327ac 100644 --- a/tools/nngcat/CMakeLists.txt +++ b/tools/nngcat/CMakeLists.txt @@ -9,26 +9,31 @@ # if (NNG_ENABLE_NNGCAT) - add_executable (nngcat nngcat.c) - target_include_directories (nngcat PUBLIC ${PROJECT_SOURCE_DIR}/src) - target_link_libraries (nngcat ${PROJECT_NAME}) - install (TARGETS nngcat RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} - COMPONENT Tools) + add_executable(nngcat nngcat.c) + target_include_directories(nngcat PUBLIC ${PROJECT_SOURCE_DIR}/src) + target_link_libraries(nngcat nng nng_private) + install(TARGETS nngcat RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + COMPONENT Tools) - if (NNG_TESTS AND NNG_PLATFORM_POSIX AND BASH) - macro(add_nngcat_test NAME TIMEOUT) - add_test (NAME ${PROJECT_NAME}.${NAME} COMMAND ${BASH} ${CMAKE_CURRENT_SOURCE_DIR}/${NAME}_test.sh $) - set_tests_properties (${PROJECT_NAME}.${NAME} PROPERTIES TIMEOUT ${TIMEOUT}) - endmacro() - add_nngcat_test (nngcat_async 10) - add_nngcat_test (nngcat_ambiguous 10) - add_nngcat_test (nngcat_need_proto 10) - add_nngcat_test (nngcat_dup_proto 10) - add_nngcat_test (nngcat_help 10) - add_nngcat_test (nngcat_incompat 10) - add_nngcat_test (nngcat_pubsub 20) - add_nngcat_test (nngcat_recvmaxsz 20) - add_nngcat_test (nngcat_unlimited 20) - add_nngcat_test (nngcat_stdin_pipe 20) - endif() -endif() + if (NNG_TESTS AND CMAKE_SYSTEM_NAME MATCHES "Linux") + include(FindUnixCommands) + endif () + # TODO: This should be refactored to use a test driver. + # We only run the tests on Linux for now, because the Darwin CI/CD is too brittle. + if (NNG_TESTS AND BASH AND CMAKE_SYSTEM_NAME MATCHES "Linux") + macro(add_nngcat_test NAME TIMEOUT) + add_test(NAME nng.${NAME} COMMAND ${BASH} ${CMAKE_CURRENT_SOURCE_DIR}/${NAME}_test.sh $) + set_tests_properties(nng.${NAME} PROPERTIES TIMEOUT ${TIMEOUT}) + endmacro() + add_nngcat_test(nngcat_async 10) + add_nngcat_test(nngcat_ambiguous 10) + add_nngcat_test(nngcat_need_proto 10) + add_nngcat_test(nngcat_dup_proto 10) + add_nngcat_test(nngcat_help 10) + add_nngcat_test(nngcat_incompat 10) + add_nngcat_test(nngcat_pubsub 20) + add_nngcat_test(nngcat_recvmaxsz 20) + add_nngcat_test(nngcat_unlimited 20) + add_nngcat_test(nngcat_stdin_pipe 20) + endif () +endif () -- cgit v1.2.3-70-g09d2