aboutsummaryrefslogtreecommitdiff
path: root/llvm
diff options
context:
space:
mode:
authorDave Lee <davelee.com@gmail.com>2020-09-21 10:22:51 -0700
committerDave Lee <davelee.com@gmail.com>2020-09-21 10:23:17 -0700
commitb36bdfe5ca0c2b863248f327b03d41516b38dc11 (patch)
tree678b317b8fd8f1499cc1e8b82f8af3b8587a7e2e /llvm
parent3b3b9ba1c7d89afe4909a42e2a795354bb79e062 (diff)
downloadllvm-b36bdfe5ca0c2b863248f327b03d41516b38dc11.zip
llvm-b36bdfe5ca0c2b863248f327b03d41516b38dc11.tar.gz
llvm-b36bdfe5ca0c2b863248f327b03d41516b38dc11.tar.bz2
[cmake] Centralize LLVM_ENABLE_WARNINGS option
Configure default value of `LLVM_ENABLE_WARNINGS` in `HandleLLVMOptions.cmake`. `LLVM_ENABLE_WARNINGS` is documented as ON by default, but `HandleLLVMOptions` assumes the default has been set somewhere else. If it has not been explicitly set, then `HandleLLVMOptions` implicitly uses OFF as a default. This removes the various `option()` declarations in favor of a single declaration in `HandleLLVMOptions`. This will prevent the unwanted use of `-w` that is mentioned in a couple of the comments. Reviewed By: DavidTruby, #libunwind, JDevlieghere, compnerd Differential Revision: https://reviews.llvm.org/D87243
Diffstat (limited to 'llvm')
-rw-r--r--llvm/CMakeLists.txt1
-rw-r--r--llvm/cmake/modules/HandleLLVMOptions.cmake2
-rw-r--r--llvm/cmake/modules/LLVMConfig.cmake.in2
-rw-r--r--llvm/runtimes/CMakeLists.txt4
4 files changed, 4 insertions, 5 deletions
diff --git a/llvm/CMakeLists.txt b/llvm/CMakeLists.txt
index 4ae7bc1..a63c1cc 100644
--- a/llvm/CMakeLists.txt
+++ b/llvm/CMakeLists.txt
@@ -399,7 +399,6 @@ set(LLVM_TARGETS_TO_BUILD
list(REMOVE_DUPLICATES LLVM_TARGETS_TO_BUILD)
option(LLVM_ENABLE_PIC "Build Position-Independent Code" ON)
-option(LLVM_ENABLE_WARNINGS "Enable compiler warnings." ON)
option(LLVM_ENABLE_MODULES "Compile with C++ modules enabled." OFF)
if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
option(LLVM_ENABLE_MODULE_DEBUGGING "Compile with -gmodules." ON)
diff --git a/llvm/cmake/modules/HandleLLVMOptions.cmake b/llvm/cmake/modules/HandleLLVMOptions.cmake
index 09bebaf..ddf2b6e 100644
--- a/llvm/cmake/modules/HandleLLVMOptions.cmake
+++ b/llvm/cmake/modules/HandleLLVMOptions.cmake
@@ -409,6 +409,8 @@ elseif(MINGW) # FIXME: Also cygwin?
endif()
endif()
+option(LLVM_ENABLE_WARNINGS "Enable compiler warnings." ON)
+
if( MSVC )
include(ChooseMSVCCRT)
diff --git a/llvm/cmake/modules/LLVMConfig.cmake.in b/llvm/cmake/modules/LLVMConfig.cmake.in
index 4453020..d8a511b 100644
--- a/llvm/cmake/modules/LLVMConfig.cmake.in
+++ b/llvm/cmake/modules/LLVMConfig.cmake.in
@@ -36,6 +36,8 @@ set(TARGET_TRIPLE "@TARGET_TRIPLE@")
set(LLVM_ABI_BREAKING_CHECKS @LLVM_ABI_BREAKING_CHECKS@)
+set(LLVM_ENABLE_WARNINGS @LLVM_ENABLE_WARNINGS@)
+
set(LLVM_ENABLE_EXPENSIVE_CHECKS @LLVM_ENABLE_EXPENSIVE_CHECKS@)
set(LLVM_ENABLE_ASSERTIONS @LLVM_ENABLE_ASSERTIONS@)
diff --git a/llvm/runtimes/CMakeLists.txt b/llvm/runtimes/CMakeLists.txt
index 04a13e4..3a9046d 100644
--- a/llvm/runtimes/CMakeLists.txt
+++ b/llvm/runtimes/CMakeLists.txt
@@ -105,10 +105,6 @@ if(${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_CURRENT_SOURCE_DIR})
# Avoid checking whether the compiler is working.
set(LLVM_COMPILER_CHECKED ON)
- # 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)
-
# Handle common options used by all runtimes.
include(AddLLVM)
include(HandleLLVMOptions)