diff options
author | Aina Niemetz <aina.niemetz@gmail.com> | 2018-08-13 15:22:07 -0700 |
---|---|---|
committer | Mathias Preiner <mathias.preiner@gmail.com> | 2018-09-22 16:30:59 -0700 |
commit | 37cdc26762e4f5436c3e1403c92d4bc825eeced2 (patch) | |
tree | db4eccb8364b0d52904c95a2c8a42101db75c7b0 | |
parent | 782da6094716b80d3b2b50eb126a0d5fe1cd8c89 (diff) |
cmake: Fixed compiler flag macros.
-rw-r--r-- | CMakeLists.txt | 55 |
1 files changed, 40 insertions, 15 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index c54ddfd87..26aa10f89 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -49,36 +49,61 @@ include(CheckCXXCompilerFlag) macro(add_c_flag flag) set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${flag}") + message(STATUS "Configuring with C flag '${flag}'") +endmacro() + +macro(add_cxx_flag flag) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${flag}") + message(STATUS "Configuring with CXX flag '${flag}'") +endmacro() + +macro(add_c_cxx_flag flag) + add_c_flag(${flag}) + add_cxx_flag(${flag}) endmacro() macro(add_check_c_flag flag) - check_c_compiler_flag("${flag}" HAVE_FLAG_${flag}) - if(HAVE_FLAG_${flag}) + string(REGEX REPLACE "[-=]" "_" flagname ${flag}) + check_c_compiler_flag("${flag}" HAVE_FLAG${flagname}) + if(HAVE_FLAG${flagname}) add_c_flag(${flag}) endif() endmacro() -macro(add_cxx_flag flag) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${flag}") -endmacro() - macro(add_check_cxx_flag flag) - check_cxx_compiler_flag("${flag}" HAVE_FLAG_${flag}) - if(HAVE_FLAG_${flag}) + string(REGEX REPLACE "[-=]" "_" flagname ${flag}) + check_cxx_compiler_flag("${flag}" HAVE_FLAG${flagname}) + if(HAVE_FLAG${flagname}) add_cxx_flag(${flag}) endif() endmacro() -macro(add_c_cxx_flag flag) - add_c_flag(${flag}) - add_cxx_flag(${flag}) - message(STATUS "Configure with flag '${flag}'") -endmacro() - macro(add_check_c_cxx_flag flag) add_check_c_flag(${flag}) add_check_cxx_flag(${flag}) - message(STATUS "Configure with flag '${flag}'") +endmacro() + +macro(add_required_cxx_flag flag) + string(REGEX REPLACE "[-=]" "_" flagnamename ${flag}) + check_cxx_compiler_flag("${flag}" HAVE_FLAG${flagname}) + if (NOT HAVE_FLAG${flagname}) + message(FATAL_ERROR "Required compiler flag ${flag} not supported") + endif() + add_cxx_flag(${flag}) +endmacro() + +macro(add_required_c_flag flag) + string(REGEX REPLACE "[-=]" "_" flagname ${flag}) + check_c_compiler_flag("${flag}" HAVE_FLAG${flagname}) + if (NOT HAVE_FLAG${flagname}) + message(FATAL_ERROR "Required compiler flag ${flag} not supported") + endif() + add_c_flag(${flag}) +endmacro() + +macro(add_required_c_cxx_flag flag) + add_required_c_flag(${flag}) + add_required_cxx_flag(${flag}) endmacro() macro(cvc4_link_library library) |