From: Martin Quinson Date: Tue, 8 Mar 2016 16:38:02 +0000 (+0100) Subject: cmake: exec_program() is deprecated. Use execute_process() instead X-Git-Tag: v3_13~470 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/c7dc2e248f974621cbcfb316e1291035ceb78b7b cmake: exec_program() is deprecated. Use execute_process() instead --- diff --git a/CMakeLists.txt b/CMakeLists.txt index 9b3995b14f..73b7e9bbe3 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 @@ -309,11 +310,10 @@ endif() #Check if __thread is defined execute_process( - COMMAND "${CMAKE_C_COMPILER} ${CMAKE_HOME_DIRECTORY}/tools/cmake/test_prog/prog_thread_storage.c" + COMMAND "${CMAKE_C_COMPILER} ${CMAKE_HOME_DIRECTORY}/tools/cmake/test_prog/prog_thread_storage.c -o testprog" WORKING_DIRECTORY ${CMAKE_BINARY_DIR} RESULT_VARIABLE HAVE_thread_storage_run) - - +file(REMOVE testprog) if(HAVE_thread_storage_run) set(HAVE_THREAD_LOCAL_STORAGE 1) else() @@ -417,8 +417,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 +434,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 +461,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 +478,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 +565,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 +578,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 +625,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 +953,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") diff --git a/tools/cmake/Java.cmake b/tools/cmake/Java.cmake index b990e2c01c..45909384e4 100644 --- a/tools/cmake/Java.cmake +++ b/tools/cmake/Java.cmake @@ -15,9 +15,9 @@ message("-- [Java] JNI found: ${JNI_FOUND}") message("-- [Java] JNI include dirs: ${JNI_INCLUDE_DIRS}") if(WIN32) - exec_program("java -d32 -version" OUTPUT_VARIABLE IS_32_BITS_JVM) - STRING( FIND ${IS_32_BITS_JVM} "Error" POSITION ) - if(NOT ${POSITION} GREATER -1) + execute_process(COMMAND java -d64 -version + OUTPUT_VARIABLE JVM_IS_64_BITS) + if("${JVM_IS_64_BITS}" MATCHES "Error") message(fatal_error "SimGrid can only use Java 64 bits") endif() endif() diff --git a/tools/cmake/MaintainerMode.cmake b/tools/cmake/MaintainerMode.cmake index 51e01cf2fe..c2dae37804 100644 --- a/tools/cmake/MaintainerMode.cmake +++ b/tools/cmake/MaintainerMode.cmake @@ -85,7 +85,7 @@ if(enable_maintainer_mode AND NOT WIN32) message(STATUS "Found flex: ${FLEX_EXE}") IF(FLEX_EXE) set(HAVE_FLEX 1) - exec_program("${FLEX_EXE} --version" OUTPUT_VARIABLE FLEX_VERSION) + execute_process(COMMAND ${FLEX_EXE} --version OUTPUT_VARIABLE FLEX_VERSION) string(REGEX MATCH "[0-9]+[.]+[0-9]+[.]+[0-9]+" FLEX_VERSION "${FLEX_VERSION}") string(REGEX MATCH "^[0-9]+" FLEX_MAJOR_VERSION "${FLEX_VERSION}") string(REGEX MATCH "[0-9]+[.]+[0-9]+$" FLEX_VERSION "${FLEX_VERSION}") @@ -96,7 +96,7 @@ if(enable_maintainer_mode AND NOT WIN32) message(STATUS "Found flexml: ${FLEXML_EXE}") IF(FLEXML_EXE) set(HAVE_FLEXML 1) - exec_program("${FLEXML_EXE} --version" OUTPUT_VARIABLE FLEXML_VERSION) + execute_process(COMMAND ${FLEXML_EXE} --version OUTPUT_VARIABLE FLEXML_VERSION) if (FLEXML_VERSION MATCHES "version Id:") message(FATAL_ERROR "You have an ancient flexml version (${FLEXML_VERSION}). You need at least v${FLEXML_MIN_MAJOR}.${FLEXML_MIN_MINOR}.${FLEXML_MIN_PATCH} to compile in maintainer mode. Upgrade your flexml, or disable the Maintainer mode option in cmake.") endif() diff --git a/tools/cmake/Modules/FindValgrind.cmake b/tools/cmake/Modules/FindValgrind.cmake index a43933d76b..d288173279 100644 --- a/tools/cmake/Modules/FindValgrind.cmake +++ b/tools/cmake/Modules/FindValgrind.cmake @@ -20,11 +20,11 @@ if(enable_memcheck_xml) endif() if(VALGRIND_EXE) - exec_program("${VALGRIND_EXE} --version " OUTPUT_VARIABLE "VALGRIND_VERSION") + execute_process(COMMAND "${VALGRIND_EXE} --version " OUTPUT_VARIABLE "VALGRIND_VERSION") string(REGEX MATCH "[0-9]+.[0-9]+.[0-9]+" NEW_VALGRIND_VERSION "${VALGRIND_VERSION}") if(NEW_VALGRIND_VERSION) message(STATUS "Valgrind version: ${NEW_VALGRIND_VERSION}") - exec_program("${CMAKE_HOME_DIRECTORY}/tools/cmake/scripts/generate_memcheck_tests.pl ${CMAKE_HOME_DIRECTORY} ${CMAKE_HOME_DIRECTORY}/tools/cmake/Tests.cmake > ${CMAKE_HOME_DIRECTORY}/tools/cmake/memcheck_tests.cmake" OUTPUT_VARIABLE SHUTT) + execute_process(COMMAND "${CMAKE_HOME_DIRECTORY}/tools/cmake/scripts/generate_memcheck_tests.pl ${CMAKE_HOME_DIRECTORY} ${CMAKE_HOME_DIRECTORY}/tools/cmake/Tests.cmake > ${CMAKE_HOME_DIRECTORY}/tools/cmake/memcheck_tests.cmake") set(MEMORYCHECK_COMMAND_OPTIONS "--trace-children=yes --trace-children-skip=/usr/bin/*,/bin/* --leak-check=full --show-reachable=yes --track-origins=no --read-var-info=no --num-callers=20 --suppressions=${CMAKE_HOME_DIRECTORY}/tools/simgrid.supp ${VALGRIND_EXTRA_COMMAND_OPTIONS} ") message(STATUS "Valgrind options: ${MEMORYCHECK_COMMAND_OPTIONS}") else() diff --git a/tools/cmake/Tests.cmake b/tools/cmake/Tests.cmake index f38f2ee2db..238503e12a 100644 --- a/tools/cmake/Tests.cmake +++ b/tools/cmake/Tests.cmake @@ -1,9 +1,9 @@ IF(enable_smpi AND NOT WIN32) - exec_program("chmod a=rwx ${CMAKE_BINARY_DIR}/bin/smpicc" OUTPUT_VARIABLE "OKITOKI") - exec_program("chmod a=rwx ${CMAKE_BINARY_DIR}/bin/smpicxx" OUTPUT_VARIABLE "OKITOKI") - exec_program("chmod a=rwx ${CMAKE_BINARY_DIR}/bin/smpiff" OUTPUT_VARIABLE "OKITOKI") - exec_program("chmod a=rwx ${CMAKE_BINARY_DIR}/bin/smpif90" OUTPUT_VARIABLE "OKITOKI") - exec_program("chmod a=rwx ${CMAKE_BINARY_DIR}/bin/smpirun" OUTPUT_VARIABLE "OKITOKI") + execute_process(COMMAND chmod a=rwx ${CMAKE_BINARY_DIR}/bin/smpicc) + execute_process(COMMAND chmod a=rwx ${CMAKE_BINARY_DIR}/bin/smpicxx) + execute_process(COMMAND chmod a=rwx ${CMAKE_BINARY_DIR}/bin/smpiff) + execute_process(COMMAND chmod a=rwx ${CMAKE_BINARY_DIR}/bin/smpif90) + execute_process(COMMAND chmod a=rwx ${CMAKE_BINARY_DIR}/bin/smpirun) ENDIF() SET(TESH_COMMAND ${PERL_EXECUTABLE} ${CMAKE_BINARY_DIR}/bin/tesh)