X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/0561fd8fa0583c953b6a9209dfa765b5fee597ac..b2ce157052b67ed5c2c18a2ac98427ac30266f84:/buildtools/Cmake/src/CMakeCompleteInFiles.txt diff --git a/buildtools/Cmake/src/CMakeCompleteInFiles.txt b/buildtools/Cmake/src/CMakeCompleteInFiles.txt index e55e0ad16a..e85eb9cd9f 100644 --- a/buildtools/Cmake/src/CMakeCompleteInFiles.txt +++ b/buildtools/Cmake/src/CMakeCompleteInFiles.txt @@ -53,40 +53,29 @@ CHECK_FUNCTION_EXISTS(makecontext HAVE_MAKECONTEXT) set(CONTEXT_UCONTEXT 0) SET(CONTEXT_THREADS 0) -SET(HAVE_RUBY 0) -set(libruby "ruby1.8") + if(enable_ruby) include(FindRuby) - set(OKITOKI no) - foreach(path ${RUBY_INCLUDE_PATH}) - if(NOT OKITOKI) - set(RUBY_INCLUDE_PATH ${path}) - set(OKITOKI yes) - endif(NOT OKITOKI) - endforeach(path ${RUBY_INCLUDE_PATH}) - if(RUBY_INCLUDE_PATH) - find_library(RUBY_LIB_PATH_1 - 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 ") - ADD_DEFINITIONS("-I${PROJECT_DIRECTORY}/src/bindings/ruby -I${PROJECT_DIRECTORY}/src/simix") - SET(HAVE_RUBY 1) - endif(RUBY_INCLUDE_PATH) + if(RUBY_LIBRARY) + if(RUBY_VERSION_MAJOR MATCHES "1" AND RUBY_VERSION_MINOR MATCHES "8") + string(REGEX REPLACE "libruby.*" "" LIB_RUBY_PATH "${RUBY_LIBRARY}") + string(REPLACE "${LIB_RUBY_PATH}lib" "" LIB_RUBY_VERSION "${RUBY_LIBRARY}") + string(REGEX REPLACE "[.].[a-z]$" "" LIB_RUBY_VERSION "${LIB_RUBY_VERSION}") + SET(CMAKE_EXE_LINKER_FLAGS "-L${LIB_RUBY_PATH}") + SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}-I${RUBY_CONFIG_INCLUDE_DIR} ") #path to config.h + string(COMPARE EQUAL "${RUBY_INCLUDE_DIR}" "${RUBY_CONFIG_INCLUDE_DIR}" operation) + if(NOT operation) + SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}-I${RUBY_INCLUDE_DIR} ") #path to ruby.h + endif(NOT operation) + ADD_DEFINITIONS("-I${PROJECT_DIRECTORY}/src/bindings/ruby -I${PROJECT_DIRECTORY}/src/simix") + SET(HAVE_RUBY 1) + else(RUBY_VERSION_MAJOR MATCHES "1" AND RUBY_VERSION_MINOR MATCHES "8") + message("Ruby binding need version 1.8.x actually version ${RUBY_VERSION_MAJOR}.${RUBY_VERSION_MINOR}.x") + SET(HAVE_RUBY 0) + endif(RUBY_VERSION_MAJOR MATCHES "1" AND RUBY_VERSION_MINOR MATCHES "8") + else(RUBY_LIBRARY) + SET(HAVE_RUBY 0) + endif(RUBY_LIBRARY) endif(enable_ruby) if(enable_tracing) @@ -310,10 +299,8 @@ if(enable_lua) 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) + string(REGEX MATCH "-L${lua_lib_path_to_use}" operation "${CMAKE_EXE_LINKER_FLAGS}") 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)