CMake (MSVC): cmake automatically adds the /EHsc and /GR compiler
authorOscar Fuentes <ofv@wanadoo.es>
Fri, 31 Dec 2010 19:10:49 +0000 (19:10 +0000)
committerOscar Fuentes <ofv@wanadoo.es>
Fri, 31 Dec 2010 19:10:49 +0000 (19:10 +0000)
options. If we are building with exceptions/rtti disabled, we replace
/EHsc with /EHs-c- and /GR with /GR-, respectively. If we just add the
disabling options we get warnings like this:

cl : Command line warning D9025 : overriding '/EHs' with '/EHs-'

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122648 91177308-0d34-0410-b5e6-96231b3b80d8

cmake/modules/LLVMProcessSources.cmake

index 7bfca207f6890c448eecaebe6a00f71689904994..d9c14fbe837a0314f979657af382820923f7b270 100644 (file)
@@ -42,7 +42,7 @@ function(llvm_process_sources OUT_VAR)
     if( CMAKE_COMPILER_IS_GNUCXX )
       add_definitions( -fno-exceptions )
     elseif( MSVC )
-      add_definitions( /EHs-c- )
+      string( REGEX REPLACE "[ ^]/EHsc ?" " /EHs-c- " CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}" )
       add_definitions( /D_HAS_EXCEPTIONS=0 )
     endif()
   endif()
@@ -50,7 +50,7 @@ function(llvm_process_sources OUT_VAR)
     if( CMAKE_COMPILER_IS_GNUCXX )
       add_definitions( -fno-rtti )
     elseif( MSVC )
-      add_definitions( /GR- )
+      string( REGEX REPLACE "[ ^]/GR ?" " /GR- " CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}" )
     endif()
   endif()