X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/b44999744f7fe7d029e4b3ea9b16e0fdd3a90e2f..3b6a0ff265d6c9f0bccd34bfe35ade8d0bc9b7de:/buildtools/Cmake/src/CMakeCompleteInFiles.txt diff --git a/buildtools/Cmake/src/CMakeCompleteInFiles.txt b/buildtools/Cmake/src/CMakeCompleteInFiles.txt index 54fe366eb6..e55e0ad16a 100644 --- a/buildtools/Cmake/src/CMakeCompleteInFiles.txt +++ b/buildtools/Cmake/src/CMakeCompleteInFiles.txt @@ -55,7 +55,7 @@ set(CONTEXT_UCONTEXT 0) SET(CONTEXT_THREADS 0) SET(HAVE_RUBY 0) set(libruby "ruby1.8") -if(NOT disable_ruby) +if(enable_ruby) include(FindRuby) set(OKITOKI no) foreach(path ${RUBY_INCLUDE_PATH}) @@ -69,19 +69,25 @@ if(NOT disable_ruby) NAMES ruby1.8 PATHS ${RUBY_INCLUDE_PATH} ) + if(RUBY_LIB_PATH_1) + string(REGEX REPLACE "libruby.*" "" RUBY_LIB_PATH_1 ${RUBY_LIB_PATH_1}) + SET(CMAKE_EXE_LINKER_FLAGS "-L${RUBY_LIB_PATH_1}") + endif(RUBY_LIB_PATH_1) find_library(RUBY_LIB_PATH_2 NAMES ruby.1.8 PATHS ${RUBY_INCLUDE_PATH} ) if(RUBY_LIB_PATH_2) set(libruby "ruby.1.8") + string(REGEX REPLACE "libruby.*" "" RUBY_LIB_PATH_2 ${RUBY_LIB_PATH_2}) + SET(CMAKE_EXE_LINKER_FLAGS "-L${RUBY_LIB_PATH_2}") endif(RUBY_LIB_PATH_2) - SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -I${RUBY_INCLUDE_PATH} -fPIC ") + SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}-I${RUBY_INCLUDE_PATH} -fPIC ") ADD_DEFINITIONS("-I${PROJECT_DIRECTORY}/src/bindings/ruby -I${PROJECT_DIRECTORY}/src/simix") SET(HAVE_RUBY 1) endif(RUBY_INCLUDE_PATH) -endif(NOT disable_ruby) +endif(enable_ruby) if(enable_tracing) SET(HAVE_TRACING 1) @@ -89,9 +95,9 @@ endif(enable_tracing) #-------------------------------------------------------------------------------------------------- ### Initialize of CONTEXT JAVA -if(disable_java) +if(NOT enable_java) SET(HAVE_JAVA 0) -else(disable_java) +else(NOT enable_java) include(FindJava) include(FindJNI) if(JAVA_INCLUDE_PATH) @@ -99,33 +105,31 @@ else(disable_java) endif(JAVA_INCLUDE_PATH) if(JAVA_COMPILE AND JAVA_INCLUDE_PATH AND JAVA_INCLUDE_PATH2) SET(HAVE_JAVA 1) - SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -I${JAVA_INCLUDE_PATH}") + SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}-I${JAVA_INCLUDE_PATH} ") if(NOT JAVA_INCLUDE_PATH STREQUAL JAVA_INCLUDE_PATH2) - SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -I${JAVA_INCLUDE_PATH2}") + SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}-I${JAVA_INCLUDE_PATH2} ") endif(NOT JAVA_INCLUDE_PATH STREQUAL JAVA_INCLUDE_PATH2) else(JAVA_COMPILE AND JAVA_INCLUDE_PATH AND JAVA_INCLUDE_PATH2) SET(HAVE_JAVA 0) endif(JAVA_COMPILE AND JAVA_INCLUDE_PATH AND JAVA_INCLUDE_PATH2) -endif(disable_java) +endif(NOT enable_java) #-------------------------------------------------------------------------------------------------- ### Initialize of CONTEXT GTNETS -if(disable_gtnets) +if(NOT enable_gtnets) SET(HAVE_GTNETS 0) -else(disable_gtnets) - SET(BUILDNAME "GTNETS" CACHE TYPE INTERNAL FORCE) +else(NOT enable_gtnets) 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/prog_test/prog_gtnets.cpp " OUTPUT_VARIABLE COMPILE_GTNETS_VAR) if(COMPILE_GTNETS_VAR) SET(HAVE_GTNETS 0) - message("GTnetS doesn't works : set -Ddisable_gtnets=on") else(COMPILE_GTNETS_VAR) SET(HAVE_GTNETS 1) - SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${GTNETS_LDFLAGS} ${GTNETS_CPPFLAGS} ") - SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${GTNETS_LDFLAGS} ${GTNETS_CPPFLAGS} ") + 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(disable_gtnets) +endif(NOT enable_gtnets) #-------------------------------------------------------------------------------------------------- ### Initialize of CONTEXT THREADS @@ -182,12 +186,13 @@ try_run(RUN_mcsc_VAR COMPILE_mcsc_VAR ${PROJECT_DIRECTORY}/buildtools/Cmake/prog_test/prog_AC_CHECK_MCSC.c COMPILE_DEFINITIONS "${mcsc_flags}" ) -file(READ "${PROJECT_DIRECTORY}/conftestval" mcsc) -if(mcsc MATCHES "yes") +file(READ "${Project_BINARY_DIR}/conftestval" mcsc) +STRING(REPLACE "\n" "" mcsc ${mcsc}) +if(mcsc) set(mcsc "yes") -elseif(mcsc MATCHES "yes") +elseif(mcsc) set(mcsc "no") -endif(mcsc MATCHES "yes") +endif(mcsc) if(mcsc MATCHES "no" AND pthread) if(HAVE_WINDOWS_H) @@ -223,9 +228,9 @@ endif(with_context MATCHES "auto") if(with_context MATCHES "ucontext") set(with_context_ok 1) - if(mcsc MATCHES "yes") + if(mcsc) set(CONTEXT_UCONTEXT 1) - else(mcsc MATCHES "yes") + else(mcsc) if(windows_context MATCHES "yes") set(with_context "windows") message("with_context ucontext change to windows") @@ -233,7 +238,7 @@ if(with_context MATCHES "ucontext") set(with_context "pthread") message("with_context ucontext change to pthread") endif(windows_context MATCHES "yes") - endif(mcsc MATCHES "yes") + endif(mcsc) endif(with_context MATCHES "ucontext") if(with_context MATCHES "pthread") @@ -254,7 +259,7 @@ endif(NOT with_context_ok) set(HAVE_LUA 0) -if(NOT disable_lua) +if(enable_lua) find_path(HAVE_LUA5_1_LUALIB_H NAMES lualib.h PATHS "/sw/include/" "/usr/include/lua5.1/" @@ -278,8 +283,7 @@ if(NOT disable_lua) if(HAVE_LUA5_1_LUALIB_H AND HAVE_LUA5_1_LAUXLIB_H) set(HAVE_LUA 1) - SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -I${HAVE_LUA5_1_LUALIB_H} ") - #SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -I${HAVE_LUA5_1_LUALIB_H} ") + SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}-I${HAVE_LUA5_1_LUALIB_H} ") if(NOT HAVE_LUA5_1_LUALIB_H STREQUAL HAVE_LUA5_1_LAUXLIB_H) SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}-I${HAVE_LUA5_1_LAUXLIB_H} ") @@ -289,21 +293,32 @@ if(NOT disable_lua) if(LUA_LIB_PATH_1) set(liblua lua5.1) + set(lua_lib_path_to_use ${LUA_LIB_PATH_1}) endif(LUA_LIB_PATH_1) if(LUA_LIB_PATH_2) set(liblua lua-5.1) + set(lua_lib_path_to_use ${LUA_LIB_PATH_2}) endif(LUA_LIB_PATH_2) if(LUA_LIB_PATH_3) set(liblua lua.5.1.1) + set(lua_lib_path_to_use ${LUA_LIB_PATH_3}) endif(LUA_LIB_PATH_3) if(NOT LUA_LIB_PATH_1 AND NOT LUA_LIB_PATH_2 AND NOT LUA_LIB_PATH_3) set(HAVE_LUA 0) + else(NOT LUA_LIB_PATH_1 AND NOT LUA_LIB_PATH_2 AND NOT LUA_LIB_PATH_3) + string(REGEX REPLACE "liblua.*" "" lua_lib_path_to_use ${lua_lib_path_to_use}) + string(COMPARE EQUAL "-L${lua_lib_path_to_use}" "${CMAKE_EXE_LINKER_FLAGS}" operation) + if(NOT operation) + message("${CMAKE_EXE_LINKER_FLAGS}") + message("-L${lua_lib_path_to_use}") + SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -L${lua_lib_path_to_use} ") + endif(NOT operation) endif(NOT LUA_LIB_PATH_1 AND NOT LUA_LIB_PATH_2 AND NOT LUA_LIB_PATH_3) -endif(NOT disable_lua) +endif(enable_lua) ############### ## SVN version check @@ -311,16 +326,28 @@ endif(NOT disable_lua) if(IS_DIRECTORY ${PROJECT_DIRECTORY}/.svn) find_file(SVN ".svn" ${PROJECT_DIRECTORY}) exec_program("svnversion ${PROJECT_DIRECTORY}" OUTPUT_VARIABLE "SVN_VERSION") + message("SVN_VERSION : ${SVN_VERSION}") 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 | sed 's| .*||'" OUTPUT_VARIABLE "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(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_DATE : ${GIT_DATE}") + message("GIT_VERSION : ${GIT_VERSION}") + foreach(line ${GIT_SVN_VERSION}) + string(REGEX MATCH "^Revision:.*" line_good ${line}) + if(line_good) + string(REPLACE "Revision: " "" line_good ${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) ################################### @@ -434,9 +461,12 @@ if(HAVE_MAKECONTEXT) COMPILE_DEFINITIONS "${makecontext_CPPFLAGS} ${makecontext_CPPFLAGS_2}" ) - - exec_program("${SED_EXE}" ARGS "-e 's;,.*$;;' ${PROJECT_DIRECTORY}/conftestval" OUTPUT_VARIABLE "makecontext_addr") - exec_program("${SED_EXE}" ARGS "-e 's;^.*,;;' ${PROJECT_DIRECTORY}/conftestval" OUTPUT_VARIABLE "makecontext_size") + file(READ ${Project_BINARY_DIR}/conftestval MAKECONTEXT_ADDR_SIZE) + string(REPLACE "\n" "" MAKECONTEXT_ADDR_SIZE "${MAKECONTEXT_ADDR_SIZE}") + string(REGEX MATCH ;^.*,;MAKECONTEXT_ADDR "${MAKECONTEXT_ADDR_SIZE}") + string(REGEX MATCH ;,.*$; MAKECONTEXT_SIZE "${MAKECONTEXT_ADDR_SIZE}") + string(REPLACE "," "" makecontext_addr "${MAKECONTEXT_ADDR}") + 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})") @@ -450,7 +480,7 @@ endif(HAVE_MAKECONTEXT) ${PROJECT_DIRECTORY} ${PROJECT_DIRECTORY}/buildtools/Cmake/prog_test/prog_stackgrowth.c ) -file(READ "${PROJECT_DIRECTORY}/conftestval" stack) +file(READ "${Project_BINARY_DIR}/conftestval" stack) if(stack MATCHES "down") set(PTH_STACKGROWTH "-1") endif(stack MATCHES "down")