Eric Fiselier | 42ef22b | 2016-08-28 18:16:18 +0000 | [diff] [blame] | 1 | include(AddLLVM) # for add_lit_testsuite |
Dan Albert | fd961bd | 2014-07-10 02:20:11 +0000 | [diff] [blame] | 2 | macro(pythonize_bool var) |
| 3 | if (${var}) |
| 4 | set(${var} True) |
| 5 | else() |
| 6 | set(${var} False) |
| 7 | endif() |
| 8 | endmacro() |
| 9 | |
Ben Craig | 81681ae | 2016-04-19 12:47:38 +0000 | [diff] [blame] | 10 | if (NOT DEFINED LIBCXX_ENABLE_SHARED) |
| 11 | set(LIBCXX_ENABLE_SHARED ON) |
| 12 | endif() |
| 13 | |
Eric Fiselier | 046d2fc | 2016-06-02 02:18:31 +0000 | [diff] [blame] | 14 | pythonize_bool(LIBCXXABI_BUILD_32_BITS) |
Ben Craig | 81681ae | 2016-04-19 12:47:38 +0000 | [diff] [blame] | 15 | pythonize_bool(LIBCXX_ENABLE_SHARED) |
Dan Albert | fd961bd | 2014-07-10 02:20:11 +0000 | [diff] [blame] | 16 | pythonize_bool(LIBCXXABI_ENABLE_SHARED) |
Eric Fiselier | d872a69 | 2014-11-24 22:42:03 +0000 | [diff] [blame] | 17 | pythonize_bool(LIBCXXABI_ENABLE_THREADS) |
Asiri Rathnayake | 4174e8b | 2016-05-31 12:01:32 +0000 | [diff] [blame] | 18 | pythonize_bool(LIBCXXABI_ENABLE_EXCEPTIONS) |
Dan Albert | 000b3c9 | 2014-07-11 15:36:02 +0000 | [diff] [blame] | 19 | pythonize_bool(LIBCXXABI_USE_LLVM_UNWINDER) |
Asiri Rathnayake | 1f4def2 | 2017-01-09 11:57:21 +0000 | [diff] [blame] | 20 | pythonize_bool(LIBCXXABI_BUILD_EXTERNAL_THREAD_LIBRARY) |
Jonathan Roelofs | 60df040 | 2015-02-26 15:55:01 +0000 | [diff] [blame] | 21 | set(LIBCXXABI_TARGET_INFO "libcxx.test.target_info.LocalTI" CACHE STRING |
| 22 | "TargetInfo to use when setting up test environment.") |
| 23 | set(LIBCXXABI_EXECUTOR "None" CACHE STRING |
| 24 | "Executor to use when running tests.") |
Dan Albert | fd961bd | 2014-07-10 02:20:11 +0000 | [diff] [blame] | 25 | |
| 26 | set(AUTO_GEN_COMMENT "## Autogenerated by libcxxabi configuration.\n# Do not edit!") |
Dan Albert | fd961bd | 2014-07-10 02:20:11 +0000 | [diff] [blame] | 27 | |
Ben Craig | 81681ae | 2016-04-19 12:47:38 +0000 | [diff] [blame] | 28 | if (LIBCXXABI_ENABLE_SHARED) |
| 29 | set(LIBCXXABI_TEST_DEPS cxxabi_shared) |
| 30 | else() |
| 31 | set(LIBCXXABI_TEST_DEPS cxxabi_static) |
| 32 | endif() |
| 33 | |
Asiri Rathnayake | 1f4def2 | 2017-01-09 11:57:21 +0000 | [diff] [blame] | 34 | if (LIBCXXABI_BUILD_EXTERNAL_THREAD_LIBRARY) |
Asiri Rathnayake | 71ba287 | 2017-01-03 12:58:34 +0000 | [diff] [blame] | 35 | list(APPEND LIBCXXABI_TEST_DEPS cxx_external_threads) |
| 36 | endif() |
| 37 | |
Eric Fiselier | 42ef22b | 2016-08-28 18:16:18 +0000 | [diff] [blame] | 38 | if (NOT LIBCXXABI_STANDALONE_BUILD) |
Dan Albert | fd961bd | 2014-07-10 02:20:11 +0000 | [diff] [blame] | 39 | list(APPEND LIBCXXABI_TEST_DEPS cxx) |
Petr Hosek | fff85c8 | 2016-08-08 22:09:54 +0000 | [diff] [blame] | 40 | if (LIBCXXABI_USE_LLVM_UNWINDER) |
| 41 | list(APPEND LIBCXXABI_TEST_DEPS unwind) |
| 42 | endif() |
Dan Albert | 000b3c9 | 2014-07-11 15:36:02 +0000 | [diff] [blame] | 43 | endif() |
| 44 | |
Eric Fiselier | a171e2b | 2018-01-17 22:07:09 +0000 | [diff] [blame] | 45 | |
| 46 | configure_lit_site_cfg( |
| 47 | ${CMAKE_CURRENT_SOURCE_DIR}/lit.site.cfg.in |
| 48 | ${CMAKE_CURRENT_BINARY_DIR}/lit.site.cfg) |
| 49 | |
Eric Fiselier | 564b6ea | 2016-08-28 18:28:51 +0000 | [diff] [blame] | 50 | add_lit_testsuite(check-cxxabi "Running libcxxabi tests" |
Dan Albert | fd961bd | 2014-07-10 02:20:11 +0000 | [diff] [blame] | 51 | ${CMAKE_CURRENT_BINARY_DIR} |
| 52 | DEPENDS ${LIBCXXABI_TEST_DEPS} |
| 53 | ) |
Eric Fiselier | 564b6ea | 2016-08-28 18:28:51 +0000 | [diff] [blame] | 54 | |
| 55 | # TODO: This is a legacy target name and should be removed at some point. |
| 56 | add_custom_target(check-libcxxabi DEPENDS check-cxxabi) |