- # We always provide our own implementation of ucontext on Windows.
- try_compile(HAVE_UCONTEXT
- ${CMAKE_BINARY_DIR}
- ${CMAKE_HOME_DIRECTORY}/tools/cmake/test_prog/prog_AC_CHECK_MCSC.c)
-endif()
-
-#If can have both context
-
-if(HAVE_UCONTEXT)
- set(CONTEXT_UCONTEXT 1)
- message("-- Support for ucontext factory")
-endif()
-
-if(HAVE_PTHREAD)
- set(CONTEXT_THREADS 1)
- message("-- Support for thread context factory")
-endif()
-
-###############
-## GIT version check
-##
-if(EXISTS ${CMAKE_HOME_DIRECTORY}/.git/)
- execute_process(COMMAND git remote
- COMMAND head -n 1
- WORKING_DIRECTORY ${CMAKE_HOME_DIRECTORY}/.git/
- OUTPUT_VARIABLE remote
- RESULT_VARIABLE ret
- )
- string(REPLACE "\n" "" remote "${remote}")
- #message(STATUS "Git remote: ${remote}")
- execute_process(COMMAND git config --get remote.${remote}.url
- WORKING_DIRECTORY ${CMAKE_HOME_DIRECTORY}/.git/
- OUTPUT_VARIABLE url
- RESULT_VARIABLE ret
- )
- string(REPLACE "\n" "" url "${url}")
- #message(STATUS "Git url: ${url}")
- if(url)
- execute_process(COMMAND git --git-dir=${CMAKE_HOME_DIRECTORY}/.git log --pretty=oneline --abbrev-commit -1
- WORKING_DIRECTORY ${CMAKE_HOME_DIRECTORY}/.git/
- OUTPUT_VARIABLE GIT_VERSION
- RESULT_VARIABLE ret
- )
- string(REPLACE "\n" "" GIT_VERSION "${GIT_VERSION}")
- message(STATUS "Git version: ${GIT_VERSION}")
- execute_process(COMMAND git --git-dir=${CMAKE_HOME_DIRECTORY}/.git log -n 1 --pretty=format:%ai .
- WORKING_DIRECTORY ${CMAKE_HOME_DIRECTORY}/.git/
- OUTPUT_VARIABLE GIT_DATE
- RESULT_VARIABLE ret
- )
- string(REPLACE "\n" "" GIT_DATE "${GIT_DATE}")
- message(STATUS "Git date: ${GIT_DATE}")
- string(REGEX REPLACE " .*" "" GIT_VERSION "${GIT_VERSION}")
-
- execute_process(COMMAND git --git-dir=${CMAKE_HOME_DIRECTORY}/.git log --pretty=format:%H -1
- WORKING_DIRECTORY ${CMAKE_HOME_DIRECTORY}/.git/
- OUTPUT_VARIABLE SIMGRID_GITHASH
- RESULT_VARIABLE ret
- )
- string(REPLACE "\n" "" SIMGRID_GITHASH "${SIMGRID_GITHASH}")
-
- endif()
-elseif(EXISTS ${CMAKE_HOME_DIRECTORY}/.gitversion)
- FILE(STRINGS ${CMAKE_HOME_DIRECTORY}/.gitversion GIT_VERSION)
-endif()
-
-if(GIT_VERSION)
- set(SIMGRID_VERSION_BANNER "${SIMGRID_VERSION_BANNER} at commit ${GIT_VERSION}")
-endif()
-if(GIT_DATE)
- set(SIMGRID_VERSION_BANNER "${SIMGRID_VERSION_BANNER} (${GIT_DATE})")
-endif()
-#--------------------------------------------------------------------------------------------------
-
-set(makecontext_CPPFLAGS_2 "")
-if(HAVE_MAKECONTEXT OR WIN32)
- set(makecontext_CPPFLAGS "-DTEST_makecontext")
- if(CMAKE_SYSTEM_NAME MATCHES "Darwin")
- set(makecontext_CPPFLAGS_2 "-D_XOPEN_SOURCE=700")
- endif()
-
- if(WIN32)
- if(ARCH_32_BITS)
- set(makecontext_CPPFLAGS "-DTEST_makecontext -D_I_X86_")
- else()
- set(makecontext_CPPFLAGS "-DTEST_makecontext -D_AMD64_")
- endif()
- set(makecontext_CPPFLAGS_2 "-D_XBT_WIN32 -I${CMAKE_HOME_DIRECTORY}/src/include -I${CMAKE_HOME_DIRECTORY}/src/xbt")
- endif()
-
- file(REMOVE ${CMAKE_BINARY_DIR}/conftestval)