summaryrefslogtreecommitdiff
path: root/lib/xray/tests/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'lib/xray/tests/CMakeLists.txt')
-rw-r--r--lib/xray/tests/CMakeLists.txt33
1 files changed, 10 insertions, 23 deletions
diff --git a/lib/xray/tests/CMakeLists.txt b/lib/xray/tests/CMakeLists.txt
index 151fa4c10..b140671c2 100644
--- a/lib/xray/tests/CMakeLists.txt
+++ b/lib/xray/tests/CMakeLists.txt
@@ -13,34 +13,21 @@ set(XRAY_UNITTEST_CFLAGS
macro(add_xray_unittest testname)
set(XRAY_TEST_ARCH ${XRAY_SUPPORTED_ARCH})
- if (APPLE)
- darwin_filter_host_archs(XRAY_SUPPORTED_ARCH)
- endif()
- if(UNIX)
+ cmake_parse_arguments(TEST "" "" "SOURCES;HEADERS" ${ARGN})
+ set(TEST_OBJECTS)
+ # FIXME: Figure out how to run even just the unit tests on APPLE.
+ if(UNIX AND NOT APPLE)
foreach(arch ${XRAY_TEST_ARCH})
- cmake_parse_arguments(TEST "" "" "SOURCES;HEADERS" ${ARGN})
- set(TEST_OBJECTS)
- foreach(SOURCE ${TEST_SOURCES} ${COMPILER_RT_GTEST_SOURCE})
- sanitizer_test_compile(TEST_OBJECTS ${SOURCE} ${arch}
- DEPS gtest_main xray
- CFLAGS ${XRAY_UNITTEST_CFLAGS})
- endforeach()
- get_target_flags_for_arch(${arch} TARGET_LINK_FLAGS)
- set(TEST_DEPS ${TEST_OBJECTS})
- if(NOT COMPILER_RT_STANDALONE_BUILD)
- list(APPEND TEST_DEPS gtest_main xray)
- endif()
- if(NOT APPLE)
- add_compiler_rt_test(XRayUnitTests ${testname}-${arch}
- OBJECTS ${TEST_OBJECTS}
- DEPS ${TEST_DEPS}
- LINK_FLAGS ${TARGET_LINK_FLAGS}
+ generate_compiler_rt_tests(TEST_OBJECTS
+ XRayUnitTests "${testname}-${arch}" "${arch}"
+ SOURCES ${TEST_SOURCES} ${COMPILER_RT_GTEST_SOURCE}
+ DEPS gtest_main xray
+ CFLAGS ${XRAY_UNITTEST_CFLAGS}
+ LINK_FLAGS
-lstdc++ -lm ${CMAKE_THREAD_LIBS_INIT}
-lpthread
-L${COMPILER_RT_LIBRARY_OUTPUT_DIR} -lclang_rt.xray-${arch}
-ldl -lrt)
- endif()
- # FIXME: Figure out how to run even just the unit tests on APPLE.
endforeach()
endif()
endmacro()