X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/98aaf6c28dde5365ca65b9b18182042f45867e70..3893493151bcdbed55ef359cdfea4563ee8cddb8:/CMakeLists.txt diff --git a/CMakeLists.txt b/CMakeLists.txt index 9b3995b14f..7a211133eb 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -132,7 +132,8 @@ else() endif() endif() -exec_program("${CMAKE_LINKER} --version" OUTPUT_VARIABLE "LINKER_VERSION") +execute_process(COMMAND ${CMAKE_LINKER} --version + OUTPUT_VARIABLE LINKER_VERSION) string(REGEX MATCH "[0-9].[0-9]*" LINKER_VERSION "${LINKER_VERSION}") ### Find programs and paths @@ -306,20 +307,6 @@ if(MINGW) set(HAVE_VASPRINTF 1) endif() - -#Check if __thread is defined -execute_process( - COMMAND "${CMAKE_C_COMPILER} ${CMAKE_HOME_DIRECTORY}/tools/cmake/test_prog/prog_thread_storage.c" - WORKING_DIRECTORY ${CMAKE_BINARY_DIR} - RESULT_VARIABLE HAVE_thread_storage_run) - - -if(HAVE_thread_storage_run) - set(HAVE_THREAD_LOCAL_STORAGE 1) -else() - set(HAVE_THREAD_LOCAL_STORAGE 0) -endif() - # Our usage of mmap is Linux-specific (flag MAP_ANONYMOUS), but kFreeBSD uses a GNU libc IF(HAVE_MMAP AND NOT "${CMAKE_SYSTEM}" MATCHES "Linux" AND @@ -330,7 +317,7 @@ IF(HAVE_MMAP AND message(STATUS "Warning: MMAP is thought as non functional on this architecture (${CMAKE_SYSTEM})") ENDIF() -if(HAVE_MMAP AND HAVE_THREAD_LOCAL_STORAGE) +if(HAVE_MMAP) SET(HAVE_MMALLOC 1) else() SET(HAVE_MMALLOC 0) @@ -338,6 +325,8 @@ endif() if(enable_jedule) set(HAVE_JEDULE 1) +else() + set(HAVE_JEDULE 0) endif() if(enable_mallocators) @@ -417,8 +406,8 @@ if(HAVE_PTHREAD) if(HAVE_SEM_OPEN_LIB) execute_process(COMMAND ${CMAKE_C_COMPILER} ${CMAKE_HOME_DIRECTORY}/tools/cmake/test_prog/prog_sem_open.c -lpthread -o sem_open - WORKING_DIRECTORY ${CMAKE_BINARY_DIR} - OUTPUT_VARIABLE HAVE_SEM_OPEN_compil + WORKING_DIRECTORY ${CMAKE_BINARY_DIR} + OUTPUT_VARIABLE HAVE_SEM_OPEN_compil ) # Test sem_open by compiling: @@ -434,9 +423,9 @@ if(HAVE_PTHREAD) # If we're not crosscompiling, we check by executing the program: if (HAVE_SEM_OPEN AND NOT CMAKE_CROSSCOMPILING) execute_process(COMMAND ./sem_open - WORKING_DIRECTORY ${CMAKE_BINARY_DIR} - RESULT_VARIABLE HAVE_SEM_OPEN_run - OUTPUT_VARIABLE var_compil + WORKING_DIRECTORY ${CMAKE_BINARY_DIR} + RESULT_VARIABLE HAVE_SEM_OPEN_run + OUTPUT_VARIABLE var_compil ) if (NOT HAVE_SEM_OPEN_run) set(HAVE_SEM_OPEN 1) @@ -461,8 +450,9 @@ if(HAVE_PTHREAD) if(HAVE_SEM_INIT_LIB) execute_process(COMMAND ${CMAKE_C_COMPILER} ${CMAKE_HOME_DIRECTORY}/tools/cmake/test_prog/prog_sem_init.c -lpthread -o sem_init - WORKING_DIRECTORY ${CMAKE_BINARY_DIR} - RESULT_VARIABLE HAVE_SEM_INIT_run OUTPUT_VARIABLE HAVE_SEM_INIT_compil) + WORKING_DIRECTORY ${CMAKE_BINARY_DIR} + RESULT_VARIABLE HAVE_SEM_INIT_run + OUTPUT_VARIABLE HAVE_SEM_INIT_compil) # Test sem_init by compiling: if(HAVE_SEM_INIT_compil) @@ -477,9 +467,9 @@ if(HAVE_PTHREAD) # If we're not crosscompiling, we check by executing the program: if (HAVE_SEM_INIT AND NOT CMAKE_CROSSCOMPILING) execute_process(COMMAND ./sem_init - WORKING_DIRECTORY ${CMAKE_BINARY_DIR} - RESULT_VARIABLE HAVE_SEM_INIT_run - OUTPUT_VARIABLE var_compil + WORKING_DIRECTORY ${CMAKE_BINARY_DIR} + RESULT_VARIABLE HAVE_SEM_INIT_run + OUTPUT_VARIABLE var_compil ) if (NOT HAVE_SEM_INIT_run) set(HAVE_SEM_INIT 1) @@ -564,7 +554,7 @@ else() endif() endif() # If the test ran well, remove the test binary -execute_process(COMMAND ${CMAKE_COMMAND} -E remove test_stackgrowth) +file(REMOVE test_stackgrowth) #-------------------------------------------------------------------------------------------------- ### check for addr2line @@ -577,45 +567,36 @@ 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}") + execute_process( + COMMAND git remote + COMMAND head -n 1 + WORKING_DIRECTORY ${CMAKE_HOME_DIRECTORY}/.git/ + OUTPUT_VARIABLE remote + OUTPUT_STRIP_TRAILING_WHITESPACE) #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}") + WORKING_DIRECTORY ${CMAKE_HOME_DIRECTORY}/.git/ + OUTPUT_VARIABLE url + OUTPUT_STRIP_TRAILING_WHITESPACE) #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}") + WORKING_DIRECTORY ${CMAKE_HOME_DIRECTORY}/.git/ + OUTPUT_VARIABLE GIT_VERSION + OUTPUT_STRIP_TRAILING_WHITESPACE) 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}") + WORKING_DIRECTORY ${CMAKE_HOME_DIRECTORY}/.git/ + OUTPUT_VARIABLE GIT_DATE + OUTPUT_STRIP_TRAILING_WHITESPACE) 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}") - + WORKING_DIRECTORY ${CMAKE_HOME_DIRECTORY}/.git/ + OUTPUT_VARIABLE SIMGRID_GITHASH + OUTPUT_STRIP_TRAILING_WHITESPACE) endif() elseif(EXISTS ${CMAKE_HOME_DIRECTORY}/.gitversion) FILE(STRINGS ${CMAKE_HOME_DIRECTORY}/.gitversion GIT_VERSION) @@ -633,8 +614,8 @@ endif() # Avoid triggering a (full) rebuild by touching the files if they did not really change configure_file("${CMAKE_HOME_DIRECTORY}/tools/cmake/src/internal_config.h.in" "${CMAKE_BINARY_DIR}/src/internal_config.h.generated" @ONLY IMMEDIATE) configure_file("${CMAKE_HOME_DIRECTORY}/include/simgrid_config.h.in" "${CMAKE_BINARY_DIR}/include/simgrid_config.h.generated" @ONLY IMMEDIATE) -exec_program("${CMAKE_COMMAND} -E copy_if_different ${CMAKE_BINARY_DIR}/src/internal_config.h.generated ${CMAKE_BINARY_DIR}/src/internal_config.h") -exec_program("${CMAKE_COMMAND} -E copy_if_different ${CMAKE_BINARY_DIR}/include/simgrid_config.h.generated ${CMAKE_BINARY_DIR}/include/simgrid_config.h") +execute_process(COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_BINARY_DIR}/src/internal_config.h.generated ${CMAKE_BINARY_DIR}/src/internal_config.h) +execute_process(COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_BINARY_DIR}/include/simgrid_config.h.generated ${CMAKE_BINARY_DIR}/include/simgrid_config.h) file(REMOVE ${CMAKE_BINARY_DIR}/src/internal_config.h.generated) file(REMOVE ${CMAKE_BINARY_DIR}/include/simgrid_config.h.generated) @@ -961,7 +942,7 @@ message("") message(" Simgrid dependencies ........: ${SIMGRID_DEP}") message("") -exec_program("${CMAKE_COMMAND} -E make_directory ${PROJECT_BINARY_DIR}/Testing/Notes/" OUTPUT_VARIABLE OKIDOKI) +execute_process(COMMAND ${CMAKE_COMMAND} -E make_directory ${PROJECT_BINARY_DIR}/Testing/Notes/) file(WRITE ${PROJECT_BINARY_DIR}/Testing/Notes/Build "GIT version : ${GIT_VERSION}\n") file(APPEND ${PROJECT_BINARY_DIR}/Testing/Notes/Build "Release : simgrid-${release_version}\n")