Fix that rerunning cmake gives the same result as 1st run
authorRoland Schulz <roland@utk.edu>
Tue, 26 Jun 2012 18:50:55 +0000 (14:50 -0400)
committerRoland Schulz <roland@utk.edu>
Tue, 26 Jun 2012 19:02:10 +0000 (15:02 -0400)
- SetBuildInformation: strip was missing for 3 of 6 CPU_* variables
  Not sure why this caused only for the first run an extra newline.
  Extra newline doesn't change the build but causes unnessray
  complete rebuild.
- IsFinite: The cached value of whether one of the 3 isfinite
  function was found wasn't set the 2nd time. Thus after reruninng
  cmake the isfinite function wasn't used anymore.

Change-Id: I988763e6b26cc5bae62c4da66cc7b30f2f93c128

cmake/gmxSetBuildInformation.cmake
cmake/gmxTestIsfinite.cmake

index 36c62f556b27703a0a646e79ac6e4b82ee4d15f2..cfbf1c268684bd603599fa075a9b9f3574745230 100644 (file)
@@ -83,6 +83,9 @@ macro(gmx_set_build_information)
 
         string(STRIP "@OUTPUT_CPU_VENDOR@" OUTPUT_CPU_VENDOR)
         string(STRIP "@OUTPUT_CPU_BRAND@" OUTPUT_CPU_BRAND)
+        string(STRIP "@OUTPUT_CPU_FAMILY@" OUTPUT_CPU_FAMILY)
+        string(STRIP "@OUTPUT_CPU_MODEL@" OUTPUT_CPU_MODEL)
+        string(STRIP "@OUTPUT_CPU_STEPPING@" OUTPUT_CPU_STEPPING)
         string(STRIP "@OUTPUT_CPU_FEATURES@" OUTPUT_CPU_FEATURES)
 
         set(BUILD_CPU_VENDOR   "@OUTPUT_CPU_VENDOR@"   CACHE INTERNAL "Build CPU vendor")
index b4ad7ad8a490bdcf58862411dacdfd433b13a990..cb026b7f5ddeca1b87f98aa3ed70dbc949a6a390 100644 (file)
@@ -28,13 +28,15 @@ int main(void) {
 
     if(isfinite_compile_ok)
         MESSAGE(STATUS "Checking for isfinite - yes")
-            set(${VARIABLE} ${isfinite_compile_ok}
-                "Result of test for isfinite")
     else(isfinite_compile_ok)
         MESSAGE(STATUS "Checking for isfinite - no")
     endif(isfinite_compile_ok)
     set(isfinite_compile_ok "${isfinite_compile_ok}" CACHE INTERNAL "Result of isfinite check")
   endif(NOT DEFINED isfinite_compile_ok)
+  if(isfinite_compile_ok)
+    set(${VARIABLE} ${isfinite_compile_ok}
+                "Result of test for isfinite")
+  endif()
 ENDMACRO(gmx_test_isfinite VARIABLE)
 
 MACRO(gmx_test__isfinite VARIABLE)
@@ -52,13 +54,15 @@ int main(void) {
 
     if(_isfinite_compile_ok)
         MESSAGE(STATUS "Checking for _isfinite - yes")
-            set(${VARIABLE} ${_isfinite_compile_ok}
-                "Result of test for _isfinite")
     else(_isfinite_compile_ok)
         MESSAGE(STATUS "Checking for _isfinite - no")
     endif(_isfinite_compile_ok)
     set(_isfinite_compile_ok "${_isfinite_compile_ok}" CACHE INTERNAL "Result of _isfinite check")
   endif(NOT DEFINED _isfinite_compile_ok)
+  if(_isfinite_compile_ok)
+    set(${VARIABLE} ${_isfinite_compile_ok}
+                "Result of test for _isfinite")
+  endif()
 ENDMACRO(gmx_test__isfinite VARIABLE)
 
 # Necessary for MSVC
@@ -76,11 +80,13 @@ int main(void) {
 
     if(_finite_compile_ok)
         MESSAGE(STATUS "Checking for _finite - yes")
-            set(${VARIABLE} ${_finite_compile_ok}
-                "Result of test for _finite")
     else(_finite_compile_ok)
         MESSAGE(STATUS "Checking for _finite - no")
     endif(_finite_compile_ok)
     set(_finite_compile_ok "${_finite_compile_ok}" CACHE INTERNAL "Result of _finite check")
   endif(NOT DEFINED _finite_compile_ok)
+  if(_finite_compile_ok)
+    set(${VARIABLE} ${_finite_compile_ok}
+                "Result of test for _finite")
+  endif()
 ENDMACRO(gmx_test__finite VARIABLE)