Add bitmask type
[alexxy/gromacs.git] / cmake / gmxManageOpenMP.cmake
index d1a8e4dca576d00f1545c3109b82749a7b1dd7d9..ddcf7c4c9f42599037daf028cda8739aab4ed0aa 100644 (file)
@@ -81,3 +81,11 @@ if(GMX_OPENMP)
         endif()
     endif()
 endif()
+gmx_dependent_cache_variable(GMX_OPENMP_MAX_THREADS
+    "Maximum number of OpenMP Threads supported. Has to be 32 or a multiple of 64."
+    STRING 32 GMX_OPENMP)
+mark_as_advanced(GMX_OPENMP_MAX_THREADS)
+math(EXPR MAX_THREAD_MOD "${GMX_OPENMP_MAX_THREADS} % 64")
+if (NOT GMX_OPENMP_MAX_THREADS EQUAL 32 AND NOT ${MAX_THREAD_MOD} EQUAL 0)
+    message(FATAL_ERROR "Only 32 or multiples of 64 supported for GMX_OPENMP_MAX_THREADS.")
+endif()