Changeset View
Changeset View
Standalone View
Standalone View
cmake/modules/AddCompilerFlags.cmake
Show First 20 Lines • Show All 45 Lines • ▼ Show 20 Lines | |||||
macro(remove_compiler_flags_from_var TARGET) | macro(remove_compiler_flags_from_var TARGET) | ||||
foreach(f ${ARGN}) | foreach(f ${ARGN}) | ||||
string(REGEX REPLACE "${f}( |$)" "" ${TARGET} "${${TARGET}}") | string(REGEX REPLACE "${f}( |$)" "" ${TARGET} "${${TARGET}}") | ||||
endforeach() | endforeach() | ||||
endmacro() | endmacro() | ||||
function(remove_c_compiler_flags) | function(remove_c_compiler_flags) | ||||
remove_compiler_flags_from_var(CMAKE_C_FLAGS ${ARGN}) | remove_compiler_flags_from_var(CMAKE_C_FLAGS ${ARGN}) | ||||
set(CMAKE_C_FLAGS ${CMAKE_C_FLAGS} PARENT_SCOPE) | |||||
if(NOT "${CMAKE_BUILD_TYPE}" STREQUAL "") | if(NOT "${CMAKE_BUILD_TYPE}" STREQUAL "") | ||||
string(TOUPPER "CMAKE_C_FLAGS_${CMAKE_BUILD_TYPE}" BUILD_TYPE_FLAGS) | string(TOUPPER "CMAKE_C_FLAGS_${CMAKE_BUILD_TYPE}" BUILD_TYPE_FLAGS) | ||||
remove_compiler_flags_from_var(${BUILD_TYPE_FLAGS} ${ARGN}) | remove_compiler_flags_from_var(${BUILD_TYPE_FLAGS} ${ARGN}) | ||||
endif() | |||||
set(${BUILD_TYPE_FLAGS} ${${BUILD_TYPE_FLAGS}} PARENT_SCOPE) | set(${BUILD_TYPE_FLAGS} ${${BUILD_TYPE_FLAGS}} PARENT_SCOPE) | ||||
endif() | |||||
endfunction() | endfunction() | ||||
function(remove_cxx_compiler_flags) | function(remove_cxx_compiler_flags) | ||||
remove_compiler_flags_from_var(CMAKE_CXX_FLAGS ${ARGN}) | remove_compiler_flags_from_var(CMAKE_CXX_FLAGS ${ARGN}) | ||||
set(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} PARENT_SCOPE) | |||||
if(NOT "${CMAKE_BUILD_TYPE}" STREQUAL "") | if(NOT "${CMAKE_BUILD_TYPE}" STREQUAL "") | ||||
string(TOUPPER "CMAKE_CXX_FLAGS_${CMAKE_BUILD_TYPE}" BUILD_TYPE_FLAGS) | string(TOUPPER "CMAKE_CXX_FLAGS_${CMAKE_BUILD_TYPE}" BUILD_TYPE_FLAGS) | ||||
remove_compiler_flags_from_var(${BUILD_TYPE_FLAGS} ${ARGN}) | remove_compiler_flags_from_var(${BUILD_TYPE_FLAGS} ${ARGN}) | ||||
endif() | |||||
set(${BUILD_TYPE_FLAGS} ${${BUILD_TYPE_FLAGS}} PARENT_SCOPE) | set(${BUILD_TYPE_FLAGS} ${${BUILD_TYPE_FLAGS}} PARENT_SCOPE) | ||||
endif() | |||||
endfunction() | endfunction() | ||||
macro(remove_compiler_flags) | macro(remove_compiler_flags) | ||||
remove_c_compiler_flags(${ARGN}) | remove_c_compiler_flags(${ARGN}) | ||||
remove_cxx_compiler_flags(${ARGN}) | remove_cxx_compiler_flags(${ARGN}) | ||||
endmacro() | endmacro() | ||||
function(add_cxx_compiler_flag_with_fallback TARGET_VAR FLAG FALLBACK) | function(add_cxx_compiler_flag_with_fallback TARGET_VAR FLAG FALLBACK) | ||||
▲ Show 20 Lines • Show All 60 Lines • Show Last 20 Lines |