xref: /llvm-project/libcxx/cmake/caches/Armv7M-picolibc.cmake (revision 917ada35cd937ad4104dff89c48398bd796ba6b7)
1set(CMAKE_ASM_COMPILER_TARGET "armv7m-none-eabi" CACHE STRING "")
2set(CMAKE_CXX_COMPILER_TARGET "armv7m-none-eabi" CACHE STRING "")
3set(CMAKE_CXX_FLAGS "-mfloat-abi=soft" CACHE STRING "")
4set(CMAKE_C_COMPILER_TARGET "armv7m-none-eabi" CACHE STRING "")
5set(CMAKE_C_FLAGS "-mfloat-abi=soft" CACHE STRING "")
6set(CMAKE_SYSTEM_NAME Generic CACHE STRING "")
7set(CMAKE_TRY_COMPILE_TARGET_TYPE STATIC_LIBRARY CACHE STRING "")
8set(COMPILER_RT_BAREMETAL_BUILD ON CACHE BOOL "")
9set(COMPILER_RT_BUILD_LIBFUZZER OFF CACHE BOOL "")
10set(COMPILER_RT_BUILD_PROFILE OFF CACHE BOOL "")
11set(COMPILER_RT_BUILD_SANITIZERS OFF CACHE BOOL "")
12set(COMPILER_RT_BUILD_XRAY OFF CACHE BOOL "")
13set(COMPILER_RT_DEFAULT_TARGET_ONLY ON CACHE BOOL "")
14set(LIBCXXABI_BAREMETAL ON CACHE BOOL "")
15set(LIBCXXABI_ENABLE_ASSERTIONS OFF CACHE BOOL "")
16set(LIBCXXABI_ENABLE_EXCEPTIONS ON CACHE BOOL "")
17set(LIBCXXABI_ENABLE_SHARED OFF CACHE BOOL "")
18set(LIBCXXABI_ENABLE_STATIC ON CACHE BOOL "")
19set(LIBCXXABI_ENABLE_STATIC_UNWINDER ON CACHE BOOL "")
20set(LIBCXXABI_ENABLE_THREADS OFF CACHE BOOL "")
21set(LIBCXXABI_USE_COMPILER_RT ON CACHE BOOL "")
22set(LIBCXX_ENABLE_EXCEPTIONS ON CACHE BOOL "")
23set(LIBCXX_ENABLE_FILESYSTEM OFF CACHE STRING "")
24set(LIBCXX_ENABLE_MONOTONIC_CLOCK OFF CACHE BOOL "")
25set(LIBCXX_ENABLE_RANDOM_DEVICE OFF CACHE BOOL "")
26set(LIBCXX_ENABLE_RTTI ON CACHE BOOL "")
27set(LIBCXX_ENABLE_SHARED OFF CACHE BOOL "")
28set(LIBCXX_ENABLE_STATIC ON CACHE BOOL "")
29set(LIBCXX_ENABLE_THREADS OFF CACHE BOOL "")
30set(LIBCXX_ENABLE_WIDE_CHARACTERS OFF CACHE BOOL "")
31set(LIBCXX_INCLUDE_BENCHMARKS OFF CACHE BOOL "")
32# Long tests are prohibitively slow when run via emulation.
33set(LIBCXX_TEST_PARAMS "long_tests=False" CACHE STRING "")
34set(LIBCXX_USE_COMPILER_RT ON CACHE BOOL "")
35set(LIBUNWIND_ENABLE_SHARED OFF CACHE BOOL "")
36set(LIBUNWIND_ENABLE_STATIC ON CACHE BOOL "")
37set(LIBUNWIND_ENABLE_THREADS OFF CACHE BOOL "")
38set(LIBUNWIND_IS_BAREMETAL ON CACHE BOOL "")
39set(LIBUNWIND_REMEMBER_HEAP_ALLOC ON CACHE BOOL "")
40set(LIBUNWIND_USE_COMPILER_RT ON CACHE BOOL "")
41find_program(QEMU_SYSTEM_ARM qemu-system-arm REQUIRED)
42
43# On embedded platforms that don't support shared library targets, CMake implicitly changes shared
44# library targets to be static library targets. This results in duplicate definitions of the static
45# library targets even though we might not ever build the shared library target, which breaks the
46# build. To work around this, we change the output name of the  shared library target so that it
47# can't conflict with the static library target.
48#
49# This is tracked by https://gitlab.kitware.com/cmake/cmake/-/issues/25759.
50set(LIBCXX_SHARED_OUTPUT_NAME "c++-shared" CACHE STRING "")
51set(LIBCXXABI_SHARED_OUTPUT_NAME "c++abi-shared" CACHE STRING "")
52set(LIBUNWIND_SHARED_OUTPUT_NAME "unwind-shared" CACHE STRING "")
53