From 82b62b61b626ba1b68b2d4abb70027f806cb2e58 Mon Sep 17 00:00:00 2001 From: David Zarzycki Date: Tue, 10 Sep 2019 14:19:52 +0000 Subject: [PATCH] [CMake] Don't pass all LLVM_COMPILE_FLAGS to the C compiler GCC (unlike clang!) warns about C++ flags when compiling C. https://reviews.llvm.org/D67171 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@371521 91177308-0d34-0410-b5e6-96231b3b80d8 --- cmake/modules/AddLLVM.cmake | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/cmake/modules/AddLLVM.cmake b/cmake/modules/AddLLVM.cmake index 832f261bbea..b5f612469ff 100644 --- a/cmake/modules/AddLLVM.cmake +++ b/cmake/modules/AddLLVM.cmake @@ -8,6 +8,8 @@ function(llvm_update_compile_flags name) set(update_src_props ON) endif() + list(APPEND LLVM_COMPILE_CFLAGS " ${LLVM_COMPILE_FLAGS}") + # LLVM_REQUIRES_EH is an internal flag that individual targets can use to # force EH if(LLVM_REQUIRES_EH OR LLVM_ENABLE_EH) @@ -54,14 +56,19 @@ function(llvm_update_compile_flags name) # - LLVM_COMPILE_FLAGS is list. # - PROPERTY COMPILE_FLAGS is string. string(REPLACE ";" " " target_compile_flags " ${LLVM_COMPILE_FLAGS}") + string(REPLACE ";" " " target_compile_cflags " ${LLVM_COMPILE_CFLAGS}") if(update_src_props) foreach(fn ${sources}) get_filename_component(suf ${fn} EXT) - if("${suf}" STREQUAL ".cpp" OR "${suf}" STREQUAL ".c") + if("${suf}" STREQUAL ".cpp") set_property(SOURCE ${fn} APPEND_STRING PROPERTY COMPILE_FLAGS "${target_compile_flags}") endif() + if("${suf}" STREQUAL ".c") + set_property(SOURCE ${fn} APPEND_STRING PROPERTY + COMPILE_FLAGS "${target_compile_cflags}") + endif() endforeach() else() # Update target props, since all sources are C++. -- 2.40.0