Don't rerun checks and be quiet 2nd time cmake is run
authorRoland Schulz <roland@utk.edu>
Tue, 26 Jun 2012 19:23:38 +0000 (15:23 -0400)
committerRoland Schulz <roland@utk.edu>
Thu, 5 Jul 2012 08:31:15 +0000 (04:31 -0400)
Change-Id: I86f8cb4dfb73898e74d320ae8ef3676e62ebde51

CMakeLists.txt
cmake/gmxTestMPI_IN_PLACE.cmake

index 9760d3a83a0a3755d67ab44192c23e76460e86eb..b94c9ea8efdbfb81dc5e0154a4a848b81c8c7950 100644 (file)
@@ -586,8 +586,9 @@ elseif(${GMX_ACCELERATION} STREQUAL "SSE2")
 
     # The user should not be able to set this orthogonally to the acceleration
     set(GMX_X86_SSE2 1)
-
-    message(STATUS "Enabling SSE2 Gromacs acceleration, and it will help compiler optimization.")
+    if (NOT ACCELERATION_QUIETLY)
+      message(STATUS "Enabling SSE2 Gromacs acceleration, and it will help compiler optimization.")
+    endif()
 
 elseif(${GMX_ACCELERATION} STREQUAL "SSE4.1")
 
@@ -623,8 +624,9 @@ elseif(${GMX_ACCELERATION} STREQUAL "SSE4.1")
     # The user should not be able to set this orthogonally to the acceleration
     set(GMX_X86_SSE4_1 1)
     set(GMX_X86_SSE2   1)
-
-    message(STATUS "Enabling SSE4.1 Gromacs acceleration, and it will help compiler optimization.")
+    if (NOT ACCELERATION_QUIETLY)
+      message(STATUS "Enabling SSE4.1 Gromacs acceleration, and it will help compiler optimization.")
+    endif()
 
 elseif(${GMX_ACCELERATION} STREQUAL "AVX_128_FMA" OR ${GMX_ACCELERATION} STREQUAL "AVX_256")
 
@@ -663,11 +665,15 @@ elseif(${GMX_ACCELERATION} STREQUAL "AVX_128_FMA" OR ${GMX_ACCELERATION} STREQUA
     # But just enable one of the choices internally...
     if(${GMX_ACCELERATION} STREQUAL "AVX_128_FMA")
         set(GMX_X86_AVX_128_FMA 1)
-        message(STATUS "Enabling 128-bit AVX Gromacs acceleration (with fused-multiply add), and it will help compiler optimization.")
+        if (NOT ACCELERATION_QUIETLY)
+          message(STATUS "Enabling 128-bit AVX Gromacs acceleration (with fused-multiply add), and it will help compiler optimization.")
+        endif()
     else()
         # If we are not doing AVX_128, it must be AVX_256...
         set(GMX_X86_AVX_256 1)
-        message(STATUS "Enabling 256-bit AVX Gromacs acceleration, and it will help compiler optimization.")
+        if (NOT ACCELERATION_QUIETLY)
+          message(STATUS "Enabling 256-bit AVX Gromacs acceleration, and it will help compiler optimization.")
+        endif()
     endif()
 
 elseif(${GMX_ACCELERATION} STREQUAL "FORTRAN")
@@ -678,7 +684,9 @@ elseif(${GMX_ACCELERATION} STREQUAL "FORTRAN")
 
 elseif(${GMX_ACCELERATION} STREQUAL "BLUEGENE")
 # GMX_ACCELERATION=BlueGene should be set in the Toolchain-BlueGene?-???.cmake file
-    message(STATUS "Configuring for BlueGene")
+    if (NOT ACCELERATION_QUIETLY)
+      message(STATUS "Configuring for BlueGene")
+    endif()
     set(GMX_BLUEGENE 1)
     if (${CMAKE_SYSTEM_NAME} STREQUAL "BlueGeneL")
         set(SHARED_LIBS_DEFAULT OFF CACHE BOOL "Shared libraries not compatible with BlueGene/L, disabled!" FORCE)
@@ -696,6 +704,7 @@ elseif(${GMX_ACCELERATION} STREQUAL "POWER6")
 else(${GMX_ACCELERATION} STREQUAL "NONE")
     MESSAGE(FATAL_ERROR "Unrecognized option for accelerated kernels: ${GMX_ACCELERATION}. Pick one of None, SSE2, SSE4.1, AVX_128_FMA, AVX_256, Fortran, BlueGene, Power6")
 endif(${GMX_ACCELERATION} STREQUAL "NONE")
+set(ACCELERATION_QUIETLY TRUE CACHE INTERNAL "")
 
 if(GMX_FORTRAN OR GMX_POWER6)
     if (GMX_THREAD_MPI)
index 8668cfdb58e734f1d7f6abd06435bed49a326d00..7bce601bcb63e671981ed70803fbf917cf675fb3 100644 (file)
@@ -7,6 +7,7 @@
 
 include(CheckCSourceCompiles)
 MACRO(GMX_TEST_MPI_IN_PLACE VARIABLE)
+  if(NOT DEFINED MPI_IN_PLACE_COMPILE_OK)
     MESSAGE(STATUS "Checking for MPI_IN_PLACE")
 
     set(CMAKE_REQUIRED_DEFINITIONS ${MPI_COMPILE_FLAGS})
@@ -21,11 +22,15 @@ int main(void) {
 
     if(MPI_IN_PLACE_COMPILE_OK)
         MESSAGE(STATUS "Checking for MPI_IN_PLACE - yes")
-            set(${VARIABLE} ${MPI_IN_PLACE_COMPILE_OK} 
-                "Result of test for MPI_IN_PLACE")
     else(MPI_IN_PLACE_COMPILE_OK)
         MESSAGE(STATUS "Checking for MPI_IN_PLACE - no")
     endif(MPI_IN_PLACE_COMPILE_OK)
+    set(MPI_IN_PLACE_COMPILE_OK "${MPI_IN_PLACE_COMPILE_OK}" CACHE INTERNAL "Result of mpi_in_place check")
+  endif()
+  if (MPI_IN_PLACE_COMPILE_OK)
+    set(${VARIABLE} ${MPI_IN_PLACE_COMPILE_OK} 
+      "Result of test for MPI_IN_PLACE")
+  endif()
 ENDMACRO(GMX_TEST_MPI_IN_PLACE VARIABLE)