Skip to content

Commit

Permalink
[CMake] Don't override required compiler flags in the runtimes build
Browse files Browse the repository at this point in the history
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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@353790 91177308-0d34-0410-b5e6-96231b3b80d8
  • Loading branch information
petrhosek committed Feb 12, 2019
1 parent 5790936 commit 0f056ec
Showing 1 changed file with 5 additions and 13 deletions.
18 changes: 5 additions & 13 deletions runtimes/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand All @@ -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)
Expand Down

0 comments on commit 0f056ec

Please sign in to comment.