@@ -5,57 +5,23 @@ add_subdirectory(tools)
55# This ensures that we run the test suite against a setup that matches what we ship
66# in production as closely as possible (in terms of file paths, rpaths, etc).
77set (LIBCXX_TESTING_INSTALL_PREFIX "${LIBCXX_BINARY_DIR} /test-suite-install" )
8+ set (libcxx_test_suite_install_targets cxx-headers cxx cxx-modules)
89if (LIBCXX_CXX_ABI STREQUAL "libcxxabi" )
9- add_custom_target (install -cxxabi-test -suite-prefix
10- DEPENDS cxxabi-headers
11- cxxabi
12- COMMAND ${CMAKE_COMMAND} -E make_directory "${LIBCXX_TESTING_INSTALL_PREFIX} "
13- COMMAND "${CMAKE_COMMAND} "
14- -DCMAKE_INSTALL_COMPONENT=cxxabi-headers
15- -DCMAKE_INSTALL_PREFIX="${LIBCXX_TESTING_INSTALL_PREFIX} "
16- -P "${CMAKE_BINARY_DIR} /cmake_install.cmake"
17- COMMAND "${CMAKE_COMMAND} "
18- -DCMAKE_INSTALL_COMPONENT=cxxabi
19- -DCMAKE_INSTALL_PREFIX="${LIBCXX_TESTING_INSTALL_PREFIX} "
20- -P "${CMAKE_BINARY_DIR} /cmake_install.cmake" )
21- add_dependencies (cxx-test -depends install -cxxabi-test -suite-prefix )
10+ list (APPEND libcxx_test_suite_install_targets cxxabi-headers cxxabi)
2211endif ()
23-
2412if (LIBCXXABI_USE_LLVM_UNWINDER AND TARGET unwind)
25- add_custom_target (install -unwind-test -suite-prefix
26- DEPENDS unwind-headers
27- unwind
28- COMMAND ${CMAKE_COMMAND} -E make_directory "${LIBCXX_TESTING_INSTALL_PREFIX} "
29- COMMAND "${CMAKE_COMMAND} "
30- -DCMAKE_INSTALL_COMPONENT=unwind-headers
31- -DCMAKE_INSTALL_PREFIX="${LIBCXX_TESTING_INSTALL_PREFIX} "
32- -P "${CMAKE_BINARY_DIR} /cmake_install.cmake"
33- COMMAND "${CMAKE_COMMAND} "
34- -DCMAKE_INSTALL_COMPONENT=unwind
35- -DCMAKE_INSTALL_PREFIX="${LIBCXX_TESTING_INSTALL_PREFIX} "
36- -P "${CMAKE_BINARY_DIR} /cmake_install.cmake" )
37- add_dependencies (cxx-test -depends install -unwind-test -suite-prefix )
13+ list (APPEND libcxx_test_suite_install_targets unwind-headers unwind)
14+ endif ()
15+ foreach (target IN LISTS libcxx_test_suite_install_targets)
16+ add_custom_target (libcxx-test -suite-install -${target} DEPENDS "${target} "
17+ COMMAND "${CMAKE_COMMAND} " --install "${CMAKE_BINARY_DIR} "
18+ --prefix "${LIBCXX_TESTING_INSTALL_PREFIX} "
19+ --component "${target} " )
20+ add_dependencies (cxx-test -depends libcxx-test -suite-install -${target} )
21+ endforeach ()
22+ if (TARGET cxx_experimental)
23+ add_dependencies (libcxx-test -suite-install -cxx cxx_experimental)
3824endif ()
39-
40- add_custom_target (install -cxx-test -suite-prefix
41- DEPENDS cxx-headers
42- cxx
43- cxx_experimental
44- cxx-modules
45- COMMAND ${CMAKE_COMMAND} -E make_directory "${LIBCXX_TESTING_INSTALL_PREFIX} "
46- COMMAND "${CMAKE_COMMAND} "
47- -DCMAKE_INSTALL_COMPONENT=cxx-headers
48- -DCMAKE_INSTALL_PREFIX="${LIBCXX_TESTING_INSTALL_PREFIX} "
49- -P "${CMAKE_BINARY_DIR} /cmake_install.cmake"
50- COMMAND "${CMAKE_COMMAND} "
51- -DCMAKE_INSTALL_COMPONENT=cxx-modules
52- -DCMAKE_INSTALL_PREFIX="${LIBCXX_TESTING_INSTALL_PREFIX} "
53- -P "${CMAKE_BINARY_DIR} /cmake_install.cmake"
54- COMMAND "${CMAKE_COMMAND} "
55- -DCMAKE_INSTALL_COMPONENT=cxx
56- -DCMAKE_INSTALL_PREFIX="${LIBCXX_TESTING_INSTALL_PREFIX} "
57- -P "${LIBCXX_BINARY_DIR} /cmake_install.cmake" )
58- add_dependencies (cxx-test -depends install -cxx-test -suite-prefix )
5925
6026set (AUTO_GEN_COMMENT "## Autogenerated by libcxx configuration.\n # Do not edit!" )
6127set (SERIALIZED_LIT_PARAMS "# Lit parameters serialized here for llvm-lit to pick them up\n " )
0 commit comments