diff options
author | Stanislaw Halik <sthalik@misaki.pl> | 2017-03-27 00:36:31 +0200 |
---|---|---|
committer | Stanislaw Halik <sthalik@misaki.pl> | 2017-03-27 00:36:31 +0200 |
commit | 87ec56fd4725007dea2875b796b635f722b62c7c (patch) | |
tree | ecdd295220e0740df091da02d362d9134c674105 /cmake | |
parent | 7c072cd1b62998c763a6c3e56ccd17c3f89f556c (diff) |
cmake: remove -DNDEBUG from cxxflags automatically
User came complain why ndebug-guard.hpp #error'ed out.
Diffstat (limited to 'cmake')
-rw-r--r-- | cmake/opentrack-platform.cmake | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/cmake/opentrack-platform.cmake b/cmake/opentrack-platform.cmake index 83784ffc..ce8341b1 100644 --- a/cmake/opentrack-platform.cmake +++ b/cmake/opentrack-platform.cmake @@ -95,6 +95,30 @@ endif() set_property(GLOBAL PROPERTY USE_FOLDERS OFF) +function(fix_flags lang flag replacement) + set(part "-") + set(pfx "-") + if(MSVC) + set(part "[-/]") + set(pfx "/") + endif() + if(".${replacement}" STREQUAL ".") + set(pfx "") + endif() + opentrack_escape_string(flag "${flag}") + foreach(k _DEBUG _RELEASE _MINSIZEREL _RELWITHDEBINFO "") + set(tmp "${CMAKE_${lang}_FLAGS${k}}") + if(NOT ".${replacement}" STREQUAL ".") + string(APPEND replacement " ") + endif() + string(REGEX REPLACE "(^| )${part}${flag}(\$| )" " ${pfx}${replacement}" CMAKE_${lang}_FLAGS${k} "${CMAKE_${lang}_FLAGS${k}}") + if(NOT ".${tmp}" STREQUAL ".${CMAKE_${lang}_FLAGS${k}}") + set(CMAKE_${lang}_FLAGS${k} "${CMAKE_${lang}_FLAGS${k}}" CACHE STRING "" FORCE) + else() + set(CMAKE_${lang}_FLAGS${k} "${CMAKE_${lang}_FLAGS${k}} ${pfx}${replacement}" CACHE STRING "" FORCE) + endif() + endforeach() +endfunction() # nix -rdynamic passed from Linux-GNU.cmake if(CMAKE_COMPILER_IS_GNUCXX) set(__LINUX_COMPILER_GNU 1) |