mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-01-31 20:51:52 +01:00
[CMake] Don't override required compiler flags in the runtimes build
Ensure that HandleLLVMOptions adds all necessary required flags, including -Wno-error when building with LLVM_ENABLE_WERROR enabled. Differential Revision: https://reviews.llvm.org/D58092 llvm-svn: 353790
This commit is contained in:
parent
5965fabac1
commit
9763e14b67
@ -93,23 +93,15 @@ if(${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_CURRENT_SOURCE_DIR})
|
||||
set(LLVM_ENABLE_LIBCXX ON CACHE BOOL "")
|
||||
endif()
|
||||
|
||||
set(SAFE_CMAKE_REQUIRED_FLAGS ${CMAKE_REQUIRED_FLAGS})
|
||||
set(SAFE_CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES})
|
||||
|
||||
include(CheckLibraryExists)
|
||||
include(CheckCCompilerFlag)
|
||||
|
||||
check_library_exists(c fopen "" LLVM_HAS_C_LIB)
|
||||
check_c_compiler_flag(-nodefaultlibs LLVM_HAS_NODEFAULTLIBS_FLAG)
|
||||
if(LLVM_HAS_NODEFAULTLIBS_FLAG)
|
||||
set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} -nodefaultlibs")
|
||||
if(LLVM_HAS_C_LIB)
|
||||
list(APPEND CMAKE_REQUIRED_LIBRARIES c)
|
||||
endif()
|
||||
endif()
|
||||
# We don't have libc++ (yet).
|
||||
set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} -nostdlib++")
|
||||
|
||||
# Avoid checking whether the compiler is working.
|
||||
set(LLVM_COMPILER_CHECKED ON)
|
||||
# Mark the compiler as compatible with GCC.
|
||||
# Enable warnings, otherwise -w gets added to the cflags by HandleLLVMOptions
|
||||
# resulting in unjustified successes by check_cxx_compiler_flag.
|
||||
set(LLVM_ENABLE_WARNINGS ON)
|
||||
@ -119,8 +111,8 @@ if(${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_CURRENT_SOURCE_DIR})
|
||||
include(HandleLLVMOptions)
|
||||
include(FindPythonInterp)
|
||||
|
||||
set(CMAKE_REQUIRED_FLAGS ${SAFE_CMAKE_REQUIRED_FLAGS})
|
||||
set(CMAKE_REQUIRED_LIBRARIES ${SAFE_CMAKE_REQUIRED_LIBRARIES})
|
||||
# Remove the -nostdlib++ option we've added earlier.
|
||||
string(REPLACE "-nostdlib++" "" CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS}")
|
||||
|
||||
# This can be used to detect whether we're in the runtimes build.
|
||||
set(RUNTIMES_BUILD ON)
|
||||
|
Loading…
x
Reference in New Issue
Block a user