From: Matthias Maier Date: Thu, 17 Dec 2020 02:19:44 +0000 (-0600) Subject: CMake: Make ENABLE_IF_LINKS macro more robust X-Git-Tag: v9.3.0-rc1~749^2 X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0b99a5b7ad5830af5e6900c088db5c56a5c5501d;p=dealii.git CMake: Make ENABLE_IF_LINKS macro more robust --- diff --git a/cmake/macros/macro_enable_if_links.cmake b/cmake/macros/macro_enable_if_links.cmake index bfcbe31a96..860a0291c6 100644 --- a/cmake/macros/macro_enable_if_links.cmake +++ b/cmake/macros/macro_enable_if_links.cmake @@ -23,16 +23,17 @@ # MACRO(ENABLE_IF_LINKS _variable _flag) - STRING(STRIP "${_flag}" _flag_stripped) + # keep on top to avoid cluttering the _flag and _flag_stripped variables + ENABLE_IF_SUPPORTED(CMAKE_REQUIRED_FLAGS "-Werror") + STRING(STRIP "${_flag}" _flag_stripped) IF(NOT "${_flag_stripped}" STREQUAL "") STRING(REGEX REPLACE "^-" "" _flag_name "${_flag_stripped}") STRING(REGEX REPLACE "\[-+,\]" "_" _flag_name "${_flag_name}") - SET(_backup ${CMAKE_REQUIRED_LIBRARIES}) LIST(APPEND CMAKE_REQUIRED_LIBRARIES "${_flag_stripped}") CHECK_CXX_SOURCE_COMPILES("int main(){}" DEAL_II_HAVE_LINKER_FLAG_${_flag_name}) - SET(CMAKE_REQUIRED_LIBRARIES ${_backup}) + RESET_CMAKE_REQUIRED() IF(DEAL_II_HAVE_LINKER_FLAG_${_flag_name}) SET(${_variable} "${${_variable}} ${_flag_stripped}")