mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2025-01-19 06:38:28 +00:00
[MSVC] Don't add -nostdinc++ -isystem to runtimes builds
If the host compiler is MSVC or clang-cl, then the compiler used to buidl the runtimes will be clang-cl, and it doesn't support either of those flags. Worse, because -isystem is a space separated flag, it causes all cmake try_compile tests to fail, so none of the -Wno-* flags make it to the compiler in libcxx. I noticed that we weren't passing -Wno-user-defined-literals to clang-cl and were getting warnings in the build, and this fixes that for me. Differential Revision: https://reviews.llvm.org/D94817
This commit is contained in:
parent
6a42cbf6d2
commit
98c89ccfbd
@ -77,12 +77,15 @@ endif()
|
||||
include(CheckLibraryExists)
|
||||
include(CheckCCompilerFlag)
|
||||
|
||||
# We don't have libc++ (yet)...
|
||||
set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} -nostdinc++ -nostdlib++")
|
||||
# Disable use of the installed C++ standard library when building runtimes. If
|
||||
# MSVC is true, we must be using the clang-cl driver, which doesn't understand
|
||||
# these flags.
|
||||
if (NOT MSVC)
|
||||
set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} -nostdinc++ -nostdlib++")
|
||||
|
||||
# ...but we need access to libc++ headers for CMake checks to succeed.
|
||||
if (LLVM_EXTERNAL_LIBCXX_SOURCE_DIR AND "libcxx" IN_LIST LLVM_ENABLE_RUNTIMES)
|
||||
set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} -isystem ${LLVM_EXTERNAL_LIBCXX_SOURCE_DIR}/include")
|
||||
if (LLVM_EXTERNAL_LIBCXX_SOURCE_DIR AND "libcxx" IN_LIST LLVM_ENABLE_RUNTIMES)
|
||||
set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} -isystem ${LLVM_EXTERNAL_LIBCXX_SOURCE_DIR}/include")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# Avoid checking whether the compiler is working.
|
||||
|
Loading…
x
Reference in New Issue
Block a user