| |
| set(CXXTEST_SOURCES |
| test.cc |
| test_exception.cc |
| test_guard.cc |
| test_typeinfo.cc |
| ) |
| |
| |
| add_executable(system-test ${CXXTEST_SOURCES}) |
| |
| # Generating excpected output with system-test |
| add_custom_target(test-expected-output ALL |
| COMMAND system-test > ${CMAKE_CURRENT_BINARY_DIR}/expected_output.log 2>&1 |
| DEPENDS system-test) |
| |
| |
| add_executable(cxxrt-test-static ${CXXTEST_SOURCES}) |
| set_property(TARGET cxxrt-test-static PROPERTY LINK_FLAGS -nodefaultlibs) |
| target_link_libraries(cxxrt-test-static cxxrt-static gcc_s pthread dl c) |
| |
| add_executable(cxxrt-test-shared ${CXXTEST_SOURCES}) |
| set_property(TARGET cxxrt-test-shared PROPERTY LINK_FLAGS -nodefaultlibs) |
| target_link_libraries(cxxrt-test-shared cxxrt-shared pthread dl c) |
| |
| add_test(cxxrt-test-static-test |
| ${CMAKE_CURRENT_SOURCE_DIR}/run_test.sh |
| ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/cxxrt-test-static |
| ${CMAKE_CURRENT_BINARY_DIR}/expected_output.log |
| ${CMAKE_CURRENT_BINARY_DIR}/test-static-output.log) |
| |
| add_test(cxxrt-test-shared-test |
| ${CMAKE_CURRENT_SOURCE_DIR}/run_test.sh |
| ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/cxxrt-test-shared |
| ${CMAKE_CURRENT_BINARY_DIR}/expected_output.log |
| ${CMAKE_CURRENT_BINARY_DIR}/test-shared-output.log) |
| |
| set(valgrind "valgrind -q") |
| |
| if(TEST_VALGRIND) |
| add_test(cxxrt-test-static-test-valgrind |
| ${CMAKE_CURRENT_SOURCE_DIR}/run_test.sh |
| "${valgrind} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/cxxrt-test-static" |
| ${CMAKE_CURRENT_BINARY_DIR}/expected_output.log |
| ${CMAKE_CURRENT_BINARY_DIR}/test-static-output.log) |
| |
| add_test(cxxrt-test-shared-test-valgrind |
| ${CMAKE_CURRENT_SOURCE_DIR}/run_test.sh |
| "${valgrind} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/cxxrt-test-shared" |
| ${CMAKE_CURRENT_BINARY_DIR}/expected_output.log |
| ${CMAKE_CURRENT_BINARY_DIR}/test-shared-output.log) |
| endif() |
| |
| |
| # Testing with libunwind |
| option(TEST_LIBUNWIND "Test libcxxrt with libunwind" OFF) |
| |
| if(TEST_LIBUNWIND) |
| if(NOT LIBUNWIND_PATH) |
| message(FATAL_ERROR "Path to libunwind should be specified. Please set LIBUNWIND_PATH variable") |
| endif() |
| |
| add_executable(cxxrt-test-libunwind-static ${CXXTEST_SOURCES}) |
| set_property(TARGET cxxrt-test-libunwind-static PROPERTY LINK_FLAGS |
| "-L${LIBUNWIND_PATH} -nodefaultlibs") |
| target_link_libraries(cxxrt-test-libunwind-static cxxrt-static |
| ${LIBUNWIND_PATH}/libunwind.a pthread gcc dl c) |
| |
| add_test(cxxrt-test-libunwind-static-test |
| ${CMAKE_CURRENT_SOURCE_DIR}/run_test.sh |
| ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/cxxrt-test-libunwind-static |
| ${CMAKE_CURRENT_BINARY_DIR}/expected_output.log |
| ${CMAKE_CURRENT_BINARY_DIR}/test-libunwind-static-output.log) |
| |
| add_executable(cxxrt-test-libunwind-shared ${CXXTEST_SOURCES}) |
| set_property(TARGET cxxrt-test-libunwind-shared PROPERTY LINK_FLAGS |
| "-L${LIBUNWIND_PATH} -nodefaultlibs") |
| target_link_libraries(cxxrt-test-libunwind-shared cxxrt-shared |
| ${LIBUNWIND_PATH}/libunwind.so unwind pthread dl c) |
| |
| add_test(cxxrt-test-libunwind-shared-test |
| ${CMAKE_CURRENT_SOURCE_DIR}/run_test.sh |
| ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/cxxrt-test-libunwind-shared |
| ${CMAKE_CURRENT_BINARY_DIR}/expected_output.log |
| ${CMAKE_CURRENT_BINARY_DIR}/test-libunwind-shared-output.log) |
| |
| if(TEST_VALGRIND) |
| add_test(cxxrt-test-libunwind-static-test-valgrind |
| ${CMAKE_CURRENT_SOURCE_DIR}/run_test.sh |
| "${valgrind} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/cxxrt-test-libunwind-static" |
| ${CMAKE_CURRENT_BINARY_DIR}/expected_output.log |
| ${CMAKE_CURRENT_BINARY_DIR}/test-libunwind-static-output.log) |
| |
| add_test(cxxrt-test-libunwind-shared-test-valgrind |
| ${CMAKE_CURRENT_SOURCE_DIR}/run_test.sh |
| "${valgrind} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/cxxrt-test-libunwind-shared" |
| ${CMAKE_CURRENT_BINARY_DIR}/expected_output.log |
| ${CMAKE_CURRENT_BINARY_DIR}/test-libunwind-shared-output.log) |
| endif() |
| endif() |
| |