Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
[cmake] Fix foreach() loop for default values
[simgrid.git] / CMakeLists.txt
index 144bea9..30b2978 100644 (file)
@@ -186,6 +186,7 @@ include_directories(${INCLUDES})
 include(${CMAKE_HOME_DIRECTORY}/tools/cmake/Option.cmake)
 
 ### Determine the assembly flavor that we need today
+set(HAVE_RAW_CONTEXTS 0)
 include(CMakeDetermineSystem)
 IF(CMAKE_SYSTEM_PROCESSOR MATCHES ".86|AMD64|amd64")
   IF(${ARCH_32_BITS})
@@ -198,7 +199,7 @@ IF(CMAKE_SYSTEM_PROCESSOR MATCHES ".86|AMD64|amd64")
     set(PROCESSOR_x86_64 1)
   ENDIF()
   if (WIN32)
-    message(STATUS "Disable fast raw contextes on Windows.")
+    message(STATUS "Disable fast raw contexts on Windows.")
   else()
     set(HAVE_RAW_CONTEXTS 1)
   endif()
@@ -287,15 +288,6 @@ else()
   set(CMAKE_REQUIRED_DEFINITIONS "-D_GNU_SOURCE")
 endif()
 
-SET(HAVE_VALGRIND_H 0)
-SET(HAVE_UNISTD_H 0)
-SET(HAVE_EXECINFO_H 0)
-SET(HAVE_SIGNAL_H 0)
-SET(HAVE_SYS_PARAM_H 0)
-SET(HAVE_SYS_SYSCTL_H 0)
-SET(HAVE_UCONTEXT_H 0)
-SET(HAVE_FUTEX_H 0)
-
 CHECK_INCLUDE_FILE("valgrind/valgrind.h" HAVE_VALGRIND_H)
 CHECK_INCLUDE_FILE("unistd.h" HAVE_UNISTD_H)
 CHECK_INCLUDE_FILE("execinfo.h" HAVE_EXECINFO_H)
@@ -305,14 +297,6 @@ CHECK_INCLUDE_FILE("sys/sysctl.h" HAVE_SYS_SYSCTL_H)
 CHECK_INCLUDE_FILE("ucontext.h" HAVE_UCONTEXT_H)
 CHECK_INCLUDE_FILE("linux/futex.h" HAVE_FUTEX_H)
 
-SET(HAVE_GETTIMEOFDAY 0)
-SET(HAVE_NANOSLEEP 0)
-SET(HAVE_GETDTABLESIZE 0)
-SET(HAVE_SYSCONF 0)
-SET(HAVE_POPEN 0)
-SET(HAVE_PROCESS_VM_READV 0)
-SET(HAVE_MMAP 0)
-
 CHECK_FUNCTION_EXISTS(gettimeofday HAVE_GETTIMEOFDAY)
 CHECK_FUNCTION_EXISTS(nanosleep HAVE_NANOSLEEP)
 CHECK_FUNCTION_EXISTS(getdtablesize HAVE_GETDTABLESIZE)
@@ -321,15 +305,35 @@ CHECK_FUNCTION_EXISTS(popen HAVE_POPEN)
 CHECK_FUNCTION_EXISTS(process_vm_readv HAVE_PROCESS_VM_READV)
 CHECK_FUNCTION_EXISTS(mmap HAVE_MMAP)
 
-SET(HAVE_VASPRINTF 0)
 CHECK_SYMBOL_EXISTS(vasprintf stdio.h HAVE_VASPRINTF)
-if(MINGW) 
+if(MINGW)
   # The detection of vasprintf fails on MinGW, assumingly because it's
   # defined as an inline function in stdio.h instead of a regular
   # function. So force the result to be 1 despite of the test.
   set(HAVE_VASPRINTF 1)
 endif()
 
+foreach(var
+  HAVE_VALGRIND_H
+  HAVE_UNISTD_H
+  HAVE_EXECINFO_H
+  HAVE_SIGNAL_H
+  HAVE_SYS_PARAM_H
+  HAVE_SYS_SYSCTL_H
+  HAVE_UCONTEXT_H
+  HAVE_FUTEX_H
+  HAVE_GETTIMEOFDAY
+  HAVE_NANOSLEEP
+  HAVE_GETDTABLESIZE
+  HAVE_SYSCONF
+  HAVE_POPEN
+  HAVE_PROCESS_VM_READV
+  HAVE_MMAP
+  HAVE_VASPRINTF)
+  if(NOT DEFINED ${var})
+    set(${var} 0)
+  endif()
+endforeach()
 
 #Check if __thread is defined
 execute_process(