summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2009-12-15 14:02:52 -0500
committerBrad King <brad.king@kitware.com>2009-12-15 14:02:52 -0500
commit0306080e6e11620f3b36ee515078f389bc00e4f3 (patch)
treebcf5a029d4f7fa438a607d19271ff1bb494e6481
parent8a87458954af2cc0efccd3ca76c95eeb4e9de767 (diff)
downloadcmake-0306080e6e11620f3b36ee515078f389bc00e4f3.tar.gz
FortranCInterface: Support '=' in language flags
The commit "FortranCInterface: Honor language flags in checks" taught the FortranCInterface module to pass C and Fortran flags into its detection and verification checks. We improve on the change to allow the '=' character in the language flags. This requires passing the cache entry type with the -D options.
-rw-r--r--Modules/FortranCInterface.cmake6
-rw-r--r--Modules/FortranCInterface/Detect.cmake4
-rw-r--r--Tests/FortranC/CMakeLists.txt4
3 files changed, 7 insertions, 7 deletions
diff --git a/Modules/FortranCInterface.cmake b/Modules/FortranCInterface.cmake
index 812e3198a1..a7d5571363 100644
--- a/Modules/FortranCInterface.cmake
+++ b/Modules/FortranCInterface.cmake
@@ -248,9 +248,9 @@ function(FortranCInterface_VERIFY)
VerifyFortranC
CMAKE_FLAGS -DVERIFY_CXX=${verify_cxx}
-DCMAKE_VERBOSE_MAKEFILE=ON
- "-DCMAKE_C_FLAGS=${CMAKE_C_FLAGS}"
- "-DCMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS}"
- "-DCMAKE_Fortran_FLAGS=${CMAKE_Fortran_FLAGS}"
+ "-DCMAKE_C_FLAGS:STRING=${CMAKE_C_FLAGS}"
+ "-DCMAKE_CXX_FLAGS:STRING=${CMAKE_CXX_FLAGS}"
+ "-DCMAKE_Fortran_FLAGS:STRING=${CMAKE_Fortran_FLAGS}"
OUTPUT_VARIABLE _output)
file(WRITE "${FortranCInterface_BINARY_DIR}/Verify${lang}/output.txt" "${_output}")
diff --git a/Modules/FortranCInterface/Detect.cmake b/Modules/FortranCInterface/Detect.cmake
index 0f964a9066..2ea43d1320 100644
--- a/Modules/FortranCInterface/Detect.cmake
+++ b/Modules/FortranCInterface/Detect.cmake
@@ -40,8 +40,8 @@ try_compile(FortranCInterface_COMPILED
${FortranCInterface_SOURCE_DIR}
FortranCInterface
CMAKE_FLAGS
- "-DCMAKE_C_FLAGS=${CMAKE_C_FLAGS}"
- "-DCMAKE_Fortran_FLAGS=${CMAKE_Fortran_FLAGS}"
+ "-DCMAKE_C_FLAGS:STRING=${CMAKE_C_FLAGS}"
+ "-DCMAKE_Fortran_FLAGS:STRING=${CMAKE_Fortran_FLAGS}"
OUTPUT_VARIABLE FortranCInterface_OUTPUT)
set(FortranCInterface_COMPILED ${FortranCInterface_COMPILED})
unset(FortranCInterface_COMPILED CACHE)
diff --git a/Tests/FortranC/CMakeLists.txt b/Tests/FortranC/CMakeLists.txt
index e4e8ca1aea..12d4165127 100644
--- a/Tests/FortranC/CMakeLists.txt
+++ b/Tests/FortranC/CMakeLists.txt
@@ -13,11 +13,11 @@ file(REMOVE_RECURSE ${CMAKE_BINARY_DIR}/CMakeFiles/FortranCInterface)
if(FortranC_TEST_FLAGS)
# Test whether FortranCInterface checks see C flags.
- set(ENV{TEST_OPT_CC} "--test-opt-cc")
+ set(ENV{TEST_OPT_CC} "--test-opt-cc=1")
set(CMAKE_C_FLAGS "$ENV{TEST_OPT_CC}")
# Test whether FortranCInterface checks see Fortran flags.
- set(ENV{TEST_OPT_FC} "--test-opt-fc")
+ set(ENV{TEST_OPT_FC} "--test-opt-fc=1")
set(CMAKE_Fortran_FLAGS "$ENV{TEST_OPT_FC}")
endif()