blob: 5e51c444e0054adf672e48a27fb8e25502f30c87 [file] [log] [blame]
Eric Fiselier42ef22b2016-08-28 18:16:18 +00001include(AddLLVM) # for add_lit_testsuite
Dan Albertfd961bd2014-07-10 02:20:11 +00002macro(pythonize_bool var)
3 if (${var})
4 set(${var} True)
5 else()
6 set(${var} False)
7 endif()
8endmacro()
9
Ben Craig81681ae2016-04-19 12:47:38 +000010if (NOT DEFINED LIBCXX_ENABLE_SHARED)
11 set(LIBCXX_ENABLE_SHARED ON)
12endif()
13
Eric Fiselier046d2fc2016-06-02 02:18:31 +000014pythonize_bool(LIBCXXABI_BUILD_32_BITS)
Ben Craig81681ae2016-04-19 12:47:38 +000015pythonize_bool(LIBCXX_ENABLE_SHARED)
Dan Albertfd961bd2014-07-10 02:20:11 +000016pythonize_bool(LIBCXXABI_ENABLE_SHARED)
Eric Fiselierd872a692014-11-24 22:42:03 +000017pythonize_bool(LIBCXXABI_ENABLE_THREADS)
Asiri Rathnayake4174e8b2016-05-31 12:01:32 +000018pythonize_bool(LIBCXXABI_ENABLE_EXCEPTIONS)
Dan Albert000b3c92014-07-11 15:36:02 +000019pythonize_bool(LIBCXXABI_USE_LLVM_UNWINDER)
Asiri Rathnayake1f4def22017-01-09 11:57:21 +000020pythonize_bool(LIBCXXABI_BUILD_EXTERNAL_THREAD_LIBRARY)
Jonathan Roelofs60df0402015-02-26 15:55:01 +000021set(LIBCXXABI_TARGET_INFO "libcxx.test.target_info.LocalTI" CACHE STRING
22 "TargetInfo to use when setting up test environment.")
23set(LIBCXXABI_EXECUTOR "None" CACHE STRING
24 "Executor to use when running tests.")
Dan Albertfd961bd2014-07-10 02:20:11 +000025
26set(AUTO_GEN_COMMENT "## Autogenerated by libcxxabi configuration.\n# Do not edit!")
Dan Albertfd961bd2014-07-10 02:20:11 +000027
Ben Craig81681ae2016-04-19 12:47:38 +000028if (LIBCXXABI_ENABLE_SHARED)
29 set(LIBCXXABI_TEST_DEPS cxxabi_shared)
30else()
31 set(LIBCXXABI_TEST_DEPS cxxabi_static)
32endif()
33
Asiri Rathnayake1f4def22017-01-09 11:57:21 +000034if (LIBCXXABI_BUILD_EXTERNAL_THREAD_LIBRARY)
Asiri Rathnayake71ba2872017-01-03 12:58:34 +000035 list(APPEND LIBCXXABI_TEST_DEPS cxx_external_threads)
36endif()
37
Eric Fiselier42ef22b2016-08-28 18:16:18 +000038if (NOT LIBCXXABI_STANDALONE_BUILD)
Dan Albertfd961bd2014-07-10 02:20:11 +000039 list(APPEND LIBCXXABI_TEST_DEPS cxx)
Petr Hosekfff85c82016-08-08 22:09:54 +000040 if (LIBCXXABI_USE_LLVM_UNWINDER)
41 list(APPEND LIBCXXABI_TEST_DEPS unwind)
42 endif()
Dan Albert000b3c92014-07-11 15:36:02 +000043endif()
44
Eric Fiseliera171e2b2018-01-17 22:07:09 +000045
46configure_lit_site_cfg(
47 ${CMAKE_CURRENT_SOURCE_DIR}/lit.site.cfg.in
48 ${CMAKE_CURRENT_BINARY_DIR}/lit.site.cfg)
49
Eric Fiselier564b6ea2016-08-28 18:28:51 +000050add_lit_testsuite(check-cxxabi "Running libcxxabi tests"
Dan Albertfd961bd2014-07-10 02:20:11 +000051 ${CMAKE_CURRENT_BINARY_DIR}
52 DEPENDS ${LIBCXXABI_TEST_DEPS}
53 )
Eric Fiselier564b6ea2016-08-28 18:28:51 +000054
55# TODO: This is a legacy target name and should be removed at some point.
56add_custom_target(check-libcxxabi DEPENDS check-cxxabi)