From: Oscar Fuentes Date: Fri, 31 Dec 2010 19:10:49 +0000 (+0000) Subject: CMake (MSVC): cmake automatically adds the /EHsc and /GR compiler X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=023c63351ec78d88c1b3bd600cbcab56838769ae;p=oota-llvm.git CMake (MSVC): cmake automatically adds the /EHsc and /GR compiler 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 --- diff --git a/cmake/modules/LLVMProcessSources.cmake b/cmake/modules/LLVMProcessSources.cmake index 7bfca207f68..d9c14fbe837 100644 --- a/cmake/modules/LLVMProcessSources.cmake +++ b/cmake/modules/LLVMProcessSources.cmake @@ -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()