mirror of
https://github.com/RPCSX/llvm.git
synced 2024-12-03 17:31:50 +00:00
a933c2a939
Currently LLVM_COMPILER_IS_GCC_COMPATIBLE is set as a side-effect of determining the stdlib to use in HandleLLVMStdlib, which causes problems when attempting to use AddLLVM from an installed LLVM toolchain, as HandleLLVMStdlib is not used. Move the setting of this variable into DetermineGCCCompatible and include that from both AddLLVM and HandleLLVMStdlib. Differential Revision: http://reviews.llvm.org/D13216 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@248798 91177308-0d34-0410-b5e6-96231b3b80d8
36 lines
1.1 KiB
CMake
36 lines
1.1 KiB
CMake
# This CMake module is responsible for setting the standard library to libc++
|
|
# if the user has requested it.
|
|
|
|
include(DetermineGCCCompatible)
|
|
|
|
if(NOT DEFINED LLVM_STDLIB_HANDLED)
|
|
set(LLVM_STDLIB_HANDLED ON)
|
|
|
|
function(append value)
|
|
foreach(variable ${ARGN})
|
|
set(${variable} "${${variable}} ${value}" PARENT_SCOPE)
|
|
endforeach(variable)
|
|
endfunction()
|
|
|
|
include(CheckCXXCompilerFlag)
|
|
if(LLVM_ENABLE_LIBCXX)
|
|
if(LLVM_COMPILER_IS_GCC_COMPATIBLE)
|
|
check_cxx_compiler_flag("-stdlib=libc++" CXX_SUPPORTS_STDLIB)
|
|
if(CXX_SUPPORTS_STDLIB)
|
|
append("-stdlib=libc++"
|
|
CMAKE_CXX_FLAGS CMAKE_EXE_LINKER_FLAGS CMAKE_SHARED_LINKER_FLAGS
|
|
CMAKE_MODULE_LINKER_FLAGS)
|
|
if(LLVM_ENABLE_LIBCXXABI)
|
|
append("-lc++abi"
|
|
CMAKE_EXE_LINKER_FLAGS CMAKE_SHARED_LINKER_FLAGS
|
|
CMAKE_MODULE_LINKER_FLAGS)
|
|
endif()
|
|
else()
|
|
message(WARNING "Can't specify libc++ with '-stdlib='")
|
|
endif()
|
|
else()
|
|
message(WARNING "Not sure how to specify libc++ for this compiler")
|
|
endif()
|
|
endif()
|
|
endif()
|