From f93e9052e11177dda0653fffd4c3ead9a1dfc03b Mon Sep 17 00:00:00 2001 From: navarrop Date: Thu, 29 Apr 2010 15:28:52 +0000 Subject: [PATCH 1/1] Add verification for lua. git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@7659 48e7efb5-ca39-0410-a469-dd3cf9ba447f --- buildtools/Cmake/src/CMakeCompleteInFiles.txt | 130 ++++++++++-------- buildtools/Cmake/src/CMakePrintArgs.txt | 5 +- 2 files changed, 77 insertions(+), 58 deletions(-) diff --git a/buildtools/Cmake/src/CMakeCompleteInFiles.txt b/buildtools/Cmake/src/CMakeCompleteInFiles.txt index e85eb9cd9f..4778c66b67 100644 --- a/buildtools/Cmake/src/CMakeCompleteInFiles.txt +++ b/buildtools/Cmake/src/CMakeCompleteInFiles.txt @@ -76,6 +76,11 @@ if(enable_ruby) else(RUBY_LIBRARY) SET(HAVE_RUBY 0) endif(RUBY_LIBRARY) + + if(NOT RUBY_EXECUTABLE) + message("Take care : you don't have ruby executable so you can compile and build examples but can't execute them!!!") + endif(NOT RUBY_EXECUTABLE) + endif(enable_ruby) if(enable_tracing) @@ -249,62 +254,75 @@ endif(NOT with_context_ok) set(HAVE_LUA 0) if(enable_lua) - find_path(HAVE_LUA5_1_LUALIB_H - NAMES lualib.h - PATHS "/sw/include/" "/usr/include/lua5.1/" - ) - find_path(HAVE_LUA5_1_LAUXLIB_H - NAMES lauxlib.h - PATHS "/sw/include/" "/usr/include/lua5.1/" - ) - find_library(LUA_LIB_PATH_1 - NAMES lua5.1 - PATHS /usr - ) - find_library(LUA_LIB_PATH_2 - NAMES lua-5.1 - PATHS /usr - ) - find_library(LUA_LIB_PATH_3 - NAMES lua.5.1.1 - PATHS /sw - ) - - 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} ") - - 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} ") - #SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}-I${HAVE_LUA5_1_LAUXLIB_H} ") - endif(NOT HAVE_LUA5_1_LUALIB_H STREQUAL HAVE_LUA5_1_LAUXLIB_H) - endif(HAVE_LUA5_1_LUALIB_H AND HAVE_LUA5_1_LAUXLIB_H) - - 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(REGEX MATCH "-L${lua_lib_path_to_use}" operation "${CMAKE_EXE_LINKER_FLAGS}") - if(NOT operation) - 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) - + exec_program("lua -v" OUTPUT_VARIABLE LUA_VERSION) + string(REGEX MATCH "[0-9].[0-9].[0-9]" LUA_VERSION "${LUA_VERSION}") + string(REGEX MATCH "^[0-9]" LUA_MAJOR_VERSION "${LUA_VERSION}") + string(REPLACE "${LUA_MAJOR_VERSION}." "" LUA_VERSION "${LUA_VERSION}") + string(REGEX MATCH "^[0-9]" LUA_MINOR_VERSION "${LUA_VERSION}") + string(REPLACE "${LUA_MINOR_VERSION}." "" LUA_PATCH_VERSION "${LUA_VERSION}") + + if(LUA_MAJOR_VERSION MATCHES "5" AND LUA_MINOR_VERSION MATCHES "1") + + find_path(HAVE_LUA5_1_LUALIB_H + NAMES lualib.h + PATHS "/sw/include/" "/usr/include/lua${LUA_MAJOR_VERSION}.${LUA_MINOR_VERSION}/" + ) + find_path(HAVE_LUA5_1_LAUXLIB_H + NAMES lauxlib.h + PATHS "/sw/include/" "/usr/include/lua${LUA_MAJOR_VERSION}.${LUA_MINOR_VERSION}/" + ) + find_library(LUA_LIB_PATH_1 + NAMES lua${LUA_MAJOR_VERSION}.${LUA_MINOR_VERSION} + PATHS /usr + ) + find_library(LUA_LIB_PATH_2 + NAMES lua-${LUA_MAJOR_VERSION}.${LUA_MINOR_VERSION} + PATHS /usr + ) + find_library(LUA_LIB_PATH_3 + NAMES lua.${LUA_MAJOR_VERSION}.${LUA_MINOR_VERSION}.${LUA_PATCH_VERSION} + PATHS /sw + ) + + 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} ") + + 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} ") + #SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}-I${HAVE_LUA5_1_LAUXLIB_H} ") + endif(NOT HAVE_LUA5_1_LUALIB_H STREQUAL HAVE_LUA5_1_LAUXLIB_H) + endif(HAVE_LUA5_1_LUALIB_H AND HAVE_LUA5_1_LAUXLIB_H) + + if(LUA_LIB_PATH_1) + set(liblua lua${LUA_MAJOR_VERSION}.${LUA_MINOR_VERSION}) + set(lua_lib_path_to_use ${LUA_LIB_PATH_1}) + endif(LUA_LIB_PATH_1) + + if(LUA_LIB_PATH_2) + set(liblua lua-${LUA_MAJOR_VERSION}.${LUA_MINOR_VERSION}) + set(lua_lib_path_to_use ${LUA_LIB_PATH_2}) + endif(LUA_LIB_PATH_2) + + if(LUA_LIB_PATH_3) + set(liblua lua.${LUA_MAJOR_VERSION}.${LUA_MINOR_VERSION}.${LUA_PATCH_VERSION}) + 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(REGEX MATCH "-L${lua_lib_path_to_use}" operation "${CMAKE_EXE_LINKER_FLAGS}") + if(NOT operation) + 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) + + else(LUA_MAJOR_VERSION MATCHES "5" AND LUA_MINOR_VERSION MATCHES "1") + message("Lua binding need version 5.1.x actually version ${LUA_MAJOR_VERSION}.${LUA_MINOR_VERSION}.x") + endif(LUA_MAJOR_VERSION MATCHES "5" AND LUA_MINOR_VERSION MATCHES "1") + endif(enable_lua) ############### diff --git a/buildtools/Cmake/src/CMakePrintArgs.txt b/buildtools/Cmake/src/CMakePrintArgs.txt index 65f7e3783e..da1ba280dd 100644 --- a/buildtools/Cmake/src/CMakePrintArgs.txt +++ b/buildtools/Cmake/src/CMakePrintArgs.txt @@ -69,15 +69,16 @@ if(enable_print_message) message("HAVE_VASPRINTF ${HAVE_VASPRINTF}") message("") + message("RUBY_EXE : ${RUBY_EXECUTABLE}") message("RUBY.H : ${RUBY_INCLUDE_DIR}") message("CONFIG.H : ${RUBY_CONFIG_INCLUDE_DIR}") - message("LIB_RUBY : ${LIB_RUBY_VERSION}") - message("RUBY_PATH : ${LIB_RUBY_PATH}") + message("LIB_RUBY : ${LIB_RUBY_PATH}${LIB_RUBY_VERSION}") message("JNI.H : ${JAVA_INCLUDE_PATH}") message("JNI_MD.H : ${JAVA_INCLUDE_PATH2}") message("JAVAC : ${JAVA_COMPILE}") message("LUALIB.H: ${HAVE_LUA5_1_LUALIB_H}") message("LAUXLIB.H: ${HAVE_LUA5_1_LAUXLIB_H}") + message("LUA_VERSION : ${LUA_MAJOR_VERSION}.${LUA_MINOR_VERSION}.${LUA_PATCH_VERSION}") message("________________________________________________________________________________") message("________________________________________________________________________________ DEBUG END") message("") -- 2.20.1