summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cmake/modules/AddLLVMDefinitions.cmake5
-rw-r--r--tools/llvm-config/CMakeLists.txt11
2 files changed, 15 insertions, 1 deletions
diff --git a/cmake/modules/AddLLVMDefinitions.cmake b/cmake/modules/AddLLVMDefinitions.cmake
index 0f6d81f736..2787830bfa 100644
--- a/cmake/modules/AddLLVMDefinitions.cmake
+++ b/cmake/modules/AddLLVMDefinitions.cmake
@@ -5,7 +5,10 @@
# Beware that there is no implementation of remove_llvm_definitions.
macro(add_llvm_definitions)
- set(LLVM_DEFINITIONS "${LLVM_DEFINITIONS} ${ARGN}")
+ # We don't want no semicolons on LLVM_DEFINITIONS:
+ foreach(arg ${ARGN})
+ set(LLVM_DEFINITIONS "${LLVM_DEFINITIONS} ${arg}")
+ endforeach(arg)
add_definitions( ${ARGN} )
endmacro(add_llvm_definitions)
diff --git a/tools/llvm-config/CMakeLists.txt b/tools/llvm-config/CMakeLists.txt
index cf672a4869..b9a833f7bb 100644
--- a/tools/llvm-config/CMakeLists.txt
+++ b/tools/llvm-config/CMakeLists.txt
@@ -92,6 +92,17 @@ set(C_FLGS "${CMAKE_C_FLAGS_${uppercase_CMAKE_BUILD_TYPE}} ${LLVM_DEFINITIONS}")
set(CXX_FLGS "${CMAKE_CXX_FLAGS_${uppercase_CMAKE_BUILD_TYPE}} ${LLVM_DEFINITIONS}")
set(CPP_FLGS "${CMAKE_CPP_FLAGS_${uppercase_CMAKE_BUILD_TYPE}} ${LLVM_DEFINITIONS}")
+# We don't want certain flags on the output of
+# llvm-config --cflags --cxxflags
+macro(remove_option_from_llvm_config option)
+ llvm_replace_compiler_option(C_FLGS "${option}" "")
+ llvm_replace_compiler_option(CXX_FLGS "${option}" "")
+ llvm_replace_compiler_option(CPP_FLGS "${option}" "")
+endmacro(remove_option_from_llvm_config)
+remove_option_from_llvm_config("-pedantic")
+remove_option_from_llvm_config("-Wall")
+remove_option_from_llvm_config("-W")
+
add_custom_command(OUTPUT ${LLVM_CONFIG}
COMMAND echo 's!@LLVM_CPPFLAGS@!${CPP_FLGS}!' > temp.sed
COMMAND echo 's!@LLVM_CFLAGS@!${C_FLGS}!' >> temp.sed