Fix GMX_TEST_CFLAG bug with acceleration flags
authorRoland Schulz <roland@utk.edu>
Sat, 17 Nov 2012 20:26:44 +0000 (15:26 -0500)
committerSzilárd Páll <pszilard@cbr.su.se>
Sun, 18 Nov 2012 21:19:55 +0000 (22:19 +0100)
If a cmake error occured (e.g. fftw not found) between a flag being
tested (e.g. -msse4.1) and the flags being set, then those flags
weren't set. Neither on the first run with the error, nor later
because in later runs GROMACS_C_FLAGS_SET would already be set.

Fixes #1037

Change-Id: Ibc555d885bab5bec04a1aa5b10f06351e6aa6f38

cmake/gmxCFlags.cmake

index dec3c4858531de4b545f049f37088f6b716821d4..061607f19048d1e1e77be40c4c5d47159f6a4b20 100644 (file)
@@ -4,10 +4,10 @@
 MACRO(GMX_TEST_CFLAG VARIABLE FLAGS CFLAGSVAR)
     IF(NOT DEFINED ${VARIABLE})
         CHECK_C_COMPILER_FLAG("${FLAGS}" ${VARIABLE})
-        IF (${VARIABLE})
-            SET (${CFLAGSVAR} "${FLAGS} ${${CFLAGSVAR}}")
-        ENDIF (${VARIABLE}) 
     ENDIF(NOT DEFINED ${VARIABLE})
+    IF (${VARIABLE})
+        SET (${CFLAGSVAR} "${FLAGS} ${${CFLAGSVAR}}")
+    ENDIF (${VARIABLE})
 ENDMACRO(GMX_TEST_CFLAG VARIABLE FLAGS CFLAGSVAR)
 
 # Test C++ flags FLAGS, and set VARIABLE to true if the work. Also add the
@@ -15,10 +15,10 @@ ENDMACRO(GMX_TEST_CFLAG VARIABLE FLAGS CFLAGSVAR)
 MACRO(GMX_TEST_CXXFLAG VARIABLE FLAGS CXXFLAGSVAR)
     IF(NOT DEFINED ${VARIABLE} AND CMAKE_CXX_COMPILER_LOADED)
         CHECK_CXX_COMPILER_FLAG("${FLAGS}" ${VARIABLE})
-        IF (${VARIABLE})
-            SET (${CXXFLAGSVAR} "${FLAGS} ${${CXXFLAGSVAR}}")
-        ENDIF (${VARIABLE}) 
     ENDIF(NOT DEFINED ${VARIABLE} AND CMAKE_CXX_COMPILER_LOADED)
+    IF (${VARIABLE})
+        SET (${CXXFLAGSVAR} "${FLAGS} ${${CXXFLAGSVAR}}")
+    ENDIF (${VARIABLE})
 ENDMACRO(GMX_TEST_CXXFLAG VARIABLE FLAGS CXXFLAGSVAR)