diff --git a/test/signal/CMakeLists.txt b/test/signal/CMakeLists.txt index da1ba56b3881..6bce413a64cd 100644 --- a/test/signal/CMakeLists.txt +++ b/test/signal/CMakeLists.txt @@ -1,20 +1,24 @@ -add_executable(test-signalhandler - test-signalhandler.cpp - ${PROJECT_SOURCE_DIR}/cli/signalhandler.cpp - ${PROJECT_SOURCE_DIR}/cli/stacktrace.cpp) -target_include_directories(test-signalhandler PRIVATE ${PROJECT_SOURCE_DIR}/cli ${PROJECT_SOURCE_DIR}/lib) -# names for static functions are omitted from trace -target_compile_options_safe(test-signalhandler -Wno-missing-declarations) -target_compile_options_safe(test-signalhandler -Wno-missing-prototypes) -# required for backtrace() to produce function names -target_link_options(test-signalhandler PRIVATE -rdynamic) +if (CMAKE_VERSION VERSION_EQUAL "3.13" OR CMAKE_VERSION VERSION_GREATER "3.13") + # target_link_options requires CMake 3.13 -add_executable(test-stacktrace - test-stacktrace.cpp - ${PROJECT_SOURCE_DIR}/cli/stacktrace.cpp) -target_include_directories(test-stacktrace PRIVATE ${PROJECT_SOURCE_DIR}/cli ${PROJECT_SOURCE_DIR}/lib) -# names for static functions are omitted from trace -target_compile_options_safe(test-stacktrace -Wno-missing-declarations) -target_compile_options_safe(test-stacktrace -Wno-missing-prototypes) -# required for backtrace() to produce function names -target_link_options(test-stacktrace PRIVATE -rdynamic) \ No newline at end of file + add_executable(test-signalhandler + test-signalhandler.cpp + ${PROJECT_SOURCE_DIR}/cli/signalhandler.cpp + ${PROJECT_SOURCE_DIR}/cli/stacktrace.cpp) + target_include_directories(test-signalhandler PRIVATE ${PROJECT_SOURCE_DIR}/cli ${PROJECT_SOURCE_DIR}/lib) + # names for static functions are omitted from trace + target_compile_options_safe(test-signalhandler -Wno-missing-declarations) + target_compile_options_safe(test-signalhandler -Wno-missing-prototypes) + # required for backtrace() to produce function names + target_link_options(test-signalhandler PRIVATE -rdynamic) + + add_executable(test-stacktrace + test-stacktrace.cpp + ${PROJECT_SOURCE_DIR}/cli/stacktrace.cpp) + target_include_directories(test-stacktrace PRIVATE ${PROJECT_SOURCE_DIR}/cli ${PROJECT_SOURCE_DIR}/lib) + # names for static functions are omitted from trace + target_compile_options_safe(test-stacktrace -Wno-missing-declarations) + target_compile_options_safe(test-stacktrace -Wno-missing-prototypes) + # required for backtrace() to produce function names + target_link_options(test-stacktrace PRIVATE -rdynamic) +endif() \ No newline at end of file