cmake_minimum_required(VERSION 2.6)
# Java requires 2.8.6
-message(STATUS "Cmake version ${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}")
+message(STATUS "Cmake version ${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}.${CMAKE_PATCH_VERSION}$")
project(SimGrid C CXX)
endif()
set(SIMGRID_VERSION_STRING "SimGrid version ${release_version}${SIMGRID_VERSION_EXTRA}")
-set(SIMGRID_VERSION_BANNER
- "SIMGRID_VERSION_STRING\\nCopyright (c) 2004-${SIMGRID_VERSION_DATE}. The Simgrid Team.")
+set(SIMGRID_VERSION_BANNER "SIMGRID_VERSION_STRING\\nCopyright (c) 2004-${SIMGRID_VERSION_DATE}. The Simgrid Team.")
+if(release)
+ set(SIMGRID_VERSION_BANNER "${SIMGRID_VERSION_BANNER}\\nRelease build")
+else()
+ set(SIMGRID_VERSION_BANNER "${SIMGRID_VERSION_BANNER}\\nDevelopment build")
+endif()
set(libsimgrid_version "${release_version}")
set(libsimgrid-java_version "${release_version}")
### Set some variables for Cmake
SET(LIBRARY_OUTPUT_PATH ${CMAKE_BINARY_DIR}/lib)
+### Compute the include paths
set(INCLUDES
${CMAKE_HOME_DIRECTORY}
${CMAKE_HOME_DIRECTORY}/include
string(REGEX MATCH "^[0-9]" COMPILER_C_MAJOR_VERSION "${COMPILER_C_VERSION}")
string(REGEX MATCH "^[0-9].[0-9]" COMPILER_C_MINOR_VERSION "${COMPILER_C_VERSION}")
string(REGEX REPLACE "^${COMPILER_C_MAJOR_VERSION}." "" COMPILER_C_MINOR_VERSION "${COMPILER_C_MINOR_VERSION}")
- if(COMPILER_C_MAJOR_VERSION)
- # set(__GNUC__ ${COMPILER_C_MAJOR_VERSION})
- endif()
- if(COMPILER_C_MINOR_VERSION)
- # set(__GNUC_MINOR__ ${COMPILER_C_MINOR_VERSION})
- endif()
endif()
set(NSIS_WIN_VERSION $ENV{PROCESSOR_ARCHITEW6432})
${CMAKE_HOME_DIRECTORY}/tools/cmake/Modules
)
-# x86_64
-# x86
-# i.86
-
### Determine the assembly flavor that we need today
include(CMakeDetermineSystem)
IF(CMAKE_SYSTEM_PROCESSOR MATCHES ".86|AMD64|amd64")
set(HAVE_RAWCTX 1)
endif()
-ELSEIF(CMAKE_SYSTEM_PROCESSOR MATCHES "^alpha")
- message(STATUS "System processor: alpha")
-
-ELSEIF(CMAKE_SYSTEM_PROCESSOR MATCHES "^arm")
- # Subdir is "arm" for both big-endian (arm) and little-endian (armel).
- message(STATUS "System processor: arm")
-
-ELSEIF(CMAKE_SYSTEM_PROCESSOR MATCHES "^mips")
- # mips* machines are bi-endian mostly so processor does not tell
- # endianess of the underlying system.
- message(STATUS "System processor: ${CMAKE_SYSTEM_PROCESSOR}" "mips" "mipsel" "mipseb")
-
-ELSEIF(CMAKE_SYSTEM_PROCESSOR MATCHES "^(powerpc|ppc)64")
- message(STATUS "System processor: ppc64")
-
-ELSEIF(CMAKE_SYSTEM_PROCESSOR MATCHES "^(powerpc|ppc)")
- message(STATUS "System processor: ppc")
-
-ELSEIF(CMAKE_SYSTEM_PROCESSOR MATCHES "^sparc")
- # Both flavours can run on the same processor
- message(STATUS "System processor: ${CMAKE_SYSTEM_PROCESSOR}" "sparc" "sparcv9")
-
-ELSEIF(CMAKE_SYSTEM_PROCESSOR MATCHES "^(parisc|hppa)")
- message(STATUS "System processor: parisc" "parisc64")
-
-ELSEIF(CMAKE_SYSTEM_PROCESSOR MATCHES "^s390")
- # s390 binaries can run on s390x machines
- message(STATUS "System processor: ${CMAKE_SYSTEM_PROCESSOR}" "s390" "s390x")
-
-ELSEIF(CMAKE_SYSTEM_PROCESSOR MATCHES "^sh")
- message(STATUS "System processor: sh")
-
-ELSE() #PROCESSOR NOT FOUND
- message(STATUS "PROCESSOR NOT FOUND: ${CMAKE_SYSTEM_PROCESSOR}")
-
ENDIF()
if(ARCH_32_BITS)
# The detection of asprintf 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_SNPRINTF 1)
+ set(HAVE_VSNPRINTF 1)
set(HAVE_ASPRINTF 1)
set(HAVE_VASPRINTF 1)
endif()
if(WIN32) # Those files are not detected despite being present
set(HAVE_UCONTEXT_H 1)
set(HAVE_MAKECONTEXT 1)
- set(HAVE_SNPRINTF 1)
- set(HAVE_VSNPRINTF 1)
endif()
set(CONTEXT_UCONTEXT 0)
-SET(CONTEXT_THREADS 0)
+set(CONTEXT_THREADS 0)
if(enable_jedule)
- SET(HAVE_JEDULE 1)
+ set(HAVE_JEDULE 1)
endif()
if(enable_latency_bound_tracking)
FILE(STRINGS ${CMAKE_HOME_DIRECTORY}/.gitversion GIT_VERSION)
endif()
-if(release)
- set(SIMGRID_VERSION_BANNER "${SIMGRID_VERSION_BANNER}\\nRelease build")
-else()
- set(SIMGRID_VERSION_BANNER "${SIMGRID_VERSION_BANNER}\\nDevelopment build")
-endif()
if(GIT_VERSION)
set(SIMGRID_VERSION_BANNER "${SIMGRID_VERSION_BANNER} at commit ${GIT_VERSION}")
endif()
string(REPLACE "," "" makecontext_size "${MAKECONTEXT_SIZE}")
set(pth_skaddr_makecontext "#define pth_skaddr_makecontext(skaddr,sksize) (${makecontext_addr})")
set(pth_sksize_makecontext "#define pth_sksize_makecontext(skaddr,sksize) (${makecontext_size})")
- message(STATUS "${pth_skaddr_makecontext}")
- message(STATUS "${pth_sksize_makecontext}")
else()
# message(FATAL_ERROR "makecontext is not compilable")
endif()
SET_DIRECTORY_PROPERTIES(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES
"${generated_files_to_clean}")
-IF(${ARCH_32_BITS})
- set(WIN_ARCH "32")
-ELSE()
- set(WIN_ARCH "64")
-ENDIF()
configure_file("${CMAKE_HOME_DIRECTORY}/tools/cmake/src/simgrid.nsi.in" "${CMAKE_BINARY_DIR}/simgrid.nsi" @ONLY IMMEDIATE)
### Define source packages for Libs