summaryrefslogtreecommitdiff
path: root/Modules
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2012-10-10 15:38:36 -0400
committerBrad King <brad.king@kitware.com>2012-10-10 15:42:55 -0400
commit71491bbe8fd6e3ca83f9ed705c8c81f7ddaf9448 (patch)
treee4f2a400a1020a5c42bbb88fca9743a8c65d6719 /Modules
parentcf7b1d9f714251fbf1d9ad9536977c6d2fc11a14 (diff)
downloadcmake-71491bbe8fd6e3ca83f9ed705c8c81f7ddaf9448.tar.gz
FortranCInterface: Pass all flags to VERIFY project (#13579)
Teach FortranCInterface_VERIFY to build the test project in a specific configuration and pass all flags for that configuration. This ensures that any modifications made by the user or project to the flag are used in the test project consistently.
Diffstat (limited to 'Modules')
-rw-r--r--Modules/FortranCInterface.cmake6
1 files changed, 5 insertions, 1 deletions
diff --git a/Modules/FortranCInterface.cmake b/Modules/FortranCInterface.cmake
index aafecb4c30..c59e1f839e 100644
--- a/Modules/FortranCInterface.cmake
+++ b/Modules/FortranCInterface.cmake
@@ -61,7 +61,7 @@
# If the check fails and QUIET is not given the function terminates
# with a FATAL_ERROR message describing the problem. The purpose of
# this check is to stop a build early for incompatible compiler
-# combinations.
+# combinations. The test is built in the Release configuration.
#
# FortranCInterface is aware of possible GLOBAL and MODULE manglings
# for many Fortran compilers, but it also provides an interface to
@@ -250,6 +250,7 @@ function(FortranCInterface_VERIFY)
message(STATUS "${_desc}")
# Build a sample project which reports symbols.
+ set(CMAKE_TRY_COMPILE_CONFIGURATION Release)
try_compile(FortranCInterface_VERIFY_${lang}_COMPILED
${FortranCInterface_BINARY_DIR}/Verify${lang}
${FortranCInterface_SOURCE_DIR}/Verify
@@ -259,6 +260,9 @@ function(FortranCInterface_VERIFY)
"-DCMAKE_C_FLAGS:STRING=${CMAKE_C_FLAGS}"
"-DCMAKE_CXX_FLAGS:STRING=${CMAKE_CXX_FLAGS}"
"-DCMAKE_Fortran_FLAGS:STRING=${CMAKE_Fortran_FLAGS}"
+ "-DCMAKE_C_FLAGS_RELEASE:STRING=${CMAKE_C_FLAGS_RELEASE}"
+ "-DCMAKE_CXX_FLAGS_RELEASE:STRING=${CMAKE_CXX_FLAGS_RELEASE}"
+ "-DCMAKE_Fortran_FLAGS_RELEASE:STRING=${CMAKE_Fortran_FLAGS_RELEASE}"
OUTPUT_VARIABLE _output)
file(WRITE "${FortranCInterface_BINARY_DIR}/Verify${lang}/output.txt" "${_output}")