| include_directories(..) |
| |
| add_custom_target(ScudoUnitTests) |
| set_target_properties(ScudoUnitTests PROPERTIES |
| FOLDER "Compiler-RT Tests") |
| |
| set(SCUDO_UNITTEST_CFLAGS |
| ${COMPILER_RT_UNITTEST_CFLAGS} |
| ${COMPILER_RT_GTEST_CFLAGS} |
| -I${COMPILER_RT_SOURCE_DIR}/include |
| -I${COMPILER_RT_SOURCE_DIR}/lib |
| -I${COMPILER_RT_SOURCE_DIR}/lib/scudo/standalone |
| -DGTEST_HAS_RTTI=0) |
| |
| set(SCUDO_TEST_ARCH ${SCUDO_SUPPORTED_ARCH}) |
| |
| # gtests requires c++ |
| set(LINK_FLAGS -lstdc++ -pthread) |
| |
| set(TEST_HEADERS) |
| foreach (header ${SCUDO_HEADERS}) |
| list(APPEND TEST_HEADERS ${CMAKE_CURRENT_SOURCE_DIR}/../${header}) |
| endforeach() |
| |
| # add_scudo_unittest(<name> |
| # SOURCES <sources list> |
| # HEADERS <extra headers list>) |
| macro(add_scudo_unittest testname) |
| cmake_parse_arguments(TEST "" "" "SOURCES;HEADERS" ${ARGN}) |
| if(COMPILER_RT_HAS_SCUDO_STANDALONE) |
| foreach(arch ${SCUDO_TEST_ARCH}) |
| set(ScudoUnitTestsObjects) |
| generate_compiler_rt_tests(ScudoUnitTestsObjects ScudoUnitTests |
| "${testname}-${arch}-Test" ${arch} |
| SOURCES ${TEST_SOURCES} ${COMPILER_RT_GTEST_SOURCE} |
| COMPILE_DEPS ${TEST_HEADERS} |
| DEPS gtest scudo_standalone |
| CFLAGS ${SCUDO_UNITTEST_CFLAGS} |
| LINK_FLAGS ${LINK_FLAGS}) |
| endforeach() |
| endif() |
| endmacro() |
| |
| set(SCUDO_UNIT_TEST_SOURCES |
| atomic_test.cc |
| list_test.cc |
| scudo_unit_test_main.cc) |
| |
| add_scudo_unittest(ScudoUnitTest |
| SOURCES ${SCUDO_UNIT_TEST_SOURCES}) |