CHECK_INCLUDE_FILE(stdlib.h HAVE_STDLIB_H)
CHECK_INCLUDE_FILE(strings.h HAVE_STRINGS_H)
CHECK_INCLUDE_FILE(string.h HAVE_STRING_H)
+CHECK_INCLUDE_FILE(ucontext.h HAVE_UCONTEXT_H)
CHECK_FUNCTION_EXISTS(gettimeofday HAVE_GETTIMEOFDAY)
CHECK_FUNCTION_EXISTS(usleep HAVE_USLEEP)
CHECK_FUNCTION_EXISTS(makecontext HAVE_MAKECONTEXT)
CHECK_FUNCTION_EXISTS(mmap HAVE_MMAP)
+if(WIN32)
+ set(HAVE_UCONTEXT_H 1)
+ set(HAVE_MAKECONTEXT 1)
+endif(WIN32)
+
set(CONTEXT_UCONTEXT 0)
SET(CONTEXT_THREADS 0)
SET(HAVE_RUBY 0)
SET(HAVE_TRACING 1)
endif(enable_tracing)
-if(enable_model-checking)
+if(enable_model-checking AND HAVE_MMAP)
+ SET(HAVE_MC 1)
SET(MMALLOC_WANT_OVERIDE_LEGACY 1)
-endif(enable_model-checking)
+else(enable_model-checking AND HAVE_MMAP)
+ SET(HAVE_MC 0)
+ SET(MMALLOC_WANT_OVERIDE_LEGACY 0)
+endif(enable_model-checking AND HAVE_MMAP)
if(enable_lua)
exec_program("lua -v" OUTPUT_VARIABLE LUA_VERSION)
#--------------------------------------------------------------------------------------------------
### Initialize of CONTEXT GTNETS
-if(NOT enable_gtnets)
+if(NOT enable_gtnets OR enable_supernovae)
SET(HAVE_GTNETS 0)
-else(NOT enable_gtnets)
+else(NOT enable_gtnets OR enable_supernovae)
set(GTNETS_LDFLAGS "-L${gtnets_path}/lib")
set(GTNETS_CPPFLAGS "-I${gtnets_path}/include/gtnets")
exec_program("${CMAKE_CXX_COMPILER} ${GTNETS_CPPFLAGS} -lgtnets ${GTNETS_LDFLAGS} ${PROJECT_DIRECTORY}/buildtools/Cmake/test_prog/prog_gtnets.cpp " OUTPUT_VARIABLE COMPILE_GTNETS_VAR)
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}${GTNETS_LDFLAGS} ${GTNETS_CPPFLAGS} ")
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}${GTNETS_LDFLAGS} ${GTNETS_CPPFLAGS} ")
endif(COMPILE_GTNETS_VAR)
-endif(NOT enable_gtnets)
+endif(NOT enable_gtnets OR enable_supernovae)
#--------------------------------------------------------------------------------------------------
### Initialize of CONTEXT THREADS
endif(IS_DIRECTORY ${PROJECT_DIRECTORY}/.svn)
if(IS_DIRECTORY ${PROJECT_DIRECTORY}/.git)
- find_file(GIT ".git" ${PROJECT_DIRECTORY})
+
exec_program("git --git-dir=${PROJECT_DIRECTORY}/.git log --oneline -1" OUTPUT_VARIABLE "GIT_VERSION")
- string(REGEX REPLACE " .*" "" GIT_VERSION "${GIT_VERSION}")
exec_program("git --git-dir=${PROJECT_DIRECTORY}/.git log -n 1 --format=%ai ." OUTPUT_VARIABLE "GIT_DATE")
exec_program("git svn info" ${PROJECT_DIRECTORY} OUTPUT_VARIABLE "GIT_SVN_VERSION")
+
+ string(REGEX REPLACE " .*" "" GIT_VERSION "${GIT_VERSION}")
string(REPLACE "\n" ";" GIT_SVN_VERSION ${GIT_SVN_VERSION})
STRING(REPLACE " +0000" "" GIT_DATE ${GIT_DATE})
STRING(REPLACE " " "~" GIT_DATE ${GIT_DATE})
STRING(REPLACE ":" "-" GIT_DATE ${GIT_DATE})
- message("GIT_DATE : ${GIT_DATE}")
- message("GIT_VERSION : ${GIT_VERSION}")
foreach(line ${GIT_SVN_VERSION})
string(REGEX MATCH "^Revision:.*" line_good ${line})
if(line_good)
set(SVN_VERSION ${line_good})
endif(line_good)
endforeach(line ${GIT_SVN_VERSION})
- message("GIT_SVN_VERSION : ${SVN_VERSION}")
endif(IS_DIRECTORY ${PROJECT_DIRECTORY}/.git)
###################################
#--------------------------------------------------------------------------------------------------
set(makecontext_CPPFLAGS_2 "")
-if(HAVE_MAKECONTEXT)
+if(HAVE_MAKECONTEXT OR WIN32)
set(makecontext_CPPFLAGS "-DTEST_makecontext")
if(CMAKE_SYSTEM_NAME MATCHES "Darwin")
set(makecontext_CPPFLAGS_2 "-DOSX")
endif(CMAKE_SYSTEM_NAME MATCHES "Darwin")
+
+ if(WIN32)
+ set(makecontext_CPPFLAGS_2 "-DWIN32 ${INCLUDES}")
+ endif(WIN32)
try_run(RUN_makecontext_VAR COMPILE_makecontext_VAR
${PROJECT_DIRECTORY}
${PROJECT_DIRECTORY}/buildtools/Cmake/test_prog/prog_stacksetup.c
COMPILE_DEFINITIONS "${makecontext_CPPFLAGS} ${makecontext_CPPFLAGS_2}"
)
-
file(READ ${simgrid_BINARY_DIR}/conftestval MAKECONTEXT_ADDR_SIZE)
string(REPLACE "\n" "" MAKECONTEXT_ADDR_SIZE "${MAKECONTEXT_ADDR_SIZE}")
string(REGEX MATCH ;^.*,;MAKECONTEXT_ADDR "${MAKECONTEXT_ADDR_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})")
-endif(HAVE_MAKECONTEXT)
+endif(HAVE_MAKECONTEXT OR WIN32)
#--------------------------------------------------------------------------------------------------
endif(${fctbis} STREQUAL "memcpy((void *)(d), (void *)(s)), sizeof(*(s))")
if(NOT STATUS_OK)
- set(__VA_COPY_USE "__VA_COPY_USE_${ac_cv_va_copy}")
+ set(__VA_COPY_USE "__VA_COPY_USE_${ac_cv_va_copy}(d, s)")
endif(NOT STATUS_OK)
set(STATUS_OK "1")
configure_file("${PROJECT_DIRECTORY}/buildtools/Cmake/tracing_config.h.in" "${PROJECT_DIRECTORY}/include/instr/tracing_config.h" @ONLY IMMEDIATE)
configure_file("${PROJECT_DIRECTORY}/include/instr/tracing_config.h" "${PROJECT_DIRECTORY}/include/instr/tracing_config.h" @ONLY IMMEDIATE)
-if(NOT prefix)
- set(prefix /usr/local)
-endif(NOT prefix)
-
set(top_srcdir "${PROJECT_DIRECTORY}")
set(srcdir "${PROJECT_DIRECTORY}/src")