- added ability to force the LUA version to compile with (5.1 or 5.2)

This commit is contained in:
SoftCoder 2013-12-30 18:30:23 -08:00
parent 8742d36a06
commit e0aa65402d
3 changed files with 70 additions and 46 deletions

View File

@ -18,8 +18,9 @@ CMAKE_ONLY=0
MAKE_ONLY=0
CLANG_FORCED=0
WANT_STATIC_LIBS="-DWANT_STATIC_LIBS=ON"
LUA_FORCED_VERSION=0
while getopts "c:d:m:n:f:h" option; do
while getopts "c:dfhl:mn" option; do
case "${option}" in
c)
CPU_COUNT=${OPTARG}
@ -29,33 +30,40 @@ while getopts "c:d:m:n:f:h" option; do
WANT_STATIC_LIBS="-DWANT_STATIC_LIBS=OFF"
# echo "${option} value: ${OPTARG}"
;;
m)
CMAKE_ONLY=${OPTARG}
# echo "${option} value: ${OPTARG}"
;;
n)
MAKE_ONLY=${OPTARG}
# echo "${option} value: ${OPTARG}"
;;
f)
CLANG_FORCED=${OPTARG}
CLANG_FORCED=1
# echo "${option} value: ${OPTARG}"
;;
h)
echo "Usage: $0 <option>"
echo " where <option> can be: -c=x, -d=1, -f=1, -m=1, -n=1, -h"
echo " where <option> can be: -c x, -d, -f, -m, -n, -h, -l x"
echo " option descriptions:"
echo " -c=x : Force the cpu / cores count to x - example: -c=4"
echo " -d=1 : Force DYNAMIC compile (do not want static libs)"
echo " -m=1 : Force running CMAKE only to create Make files (do not compile)"
echo " -n=1 : Force running MAKE only to compile (assume CMAKE already built make files)"
echo " -f=1 : Force using CLANG compiler"
echo " -c x : Force the cpu / cores count to x - example: -c 4"
echo " -d : Force DYNAMIC compile (do not want static libs)"
echo " -f : Force using CLANG compiler"
echo " -l x : Force using LUA version x - example: -l 51"
echo " -m : Force running CMAKE only to create Make files (do not compile)"
echo " -n : Force running MAKE only to compile (assume CMAKE already built make files)"
echo " -h : Display this help usage"
exit 1
;;
l)
LUA_FORCED_VERSION=${OPTARG}
# echo "${option} value: ${OPTARG} LUA_FORCED_VERSION [${LUA_FORCED_VERSION}]"
;;
m)
CMAKE_ONLY=1
# echo "${option} value: ${OPTARG}"
;;
n)
MAKE_ONLY=1
# echo "${option} value: ${OPTARG}"
;;
\?)
echo "Script Invalid option: -$OPTARG" >&2
exit 1
;;
esac
done
@ -172,6 +180,17 @@ elif [ "`echo $CC | grep -Fq 'clang'`" = 'clang' -a "`echo $CXX | grep -Fq 'clan
#exit 1;
fi
LUA_FORCED_CMAKE=
if [ $LUA_FORCED_VERSION != 0 ]; then
if [ $LUA_FORCED_VERSION = 52 ]; then
EXTRA_CMAKE_OPTIONS="${EXTRA_CMAKE_OPTIONS} -DFORCE_LUA_5_2=ON"
echo "USER WANTS TO FORCE USE of LUA 5.2"
elif [ $LUA_FORCED_VERSION = 51 ]; then
EXTRA_CMAKE_OPTIONS="${EXTRA_CMAKE_OPTIONS} -DFORCE_LUA_5_1=ON"
echo "USER WANTS TO FORCE USE of LUA 5.1"
fi
fi
if [ $MAKE_ONLY = 0 ]; then
echo "Calling cmake with EXTRA_CMAKE_OPTIONS = ${EXTRA_CMAKE_OPTIONS}"
cmake -DCMAKE_INSTALL_PREFIX='' -DWANT_DEV_OUTPATH=ON $WANT_STATIC_LIBS -DBUILD_MEGAGLEST_TESTS=ON -DBREAKPAD_ROOT=$BREAKPAD_ROOT $EXTRA_CMAKE_OPTIONS ..

View File

@ -18,11 +18,34 @@ IF(LUA_INCLUDE_DIR AND LUA_LIBRARIES)
#SET(LUA_FIND_QUIETLY TRUE)
ENDIF(LUA_INCLUDE_DIR AND LUA_LIBRARIES)
IF(FORCE_LUA_5_2)
MESSAGE(STATUS "Trying to FORCE LUA 5.2 ...")
SET(LUA_FIND_INCLUDE_PATHS /usr/include/lua5.2
/usr/include
/usr/include/lua )
SET(LUA_FIND_STATIC_LIB_NAMES liblua5.2.a lua5.2 liblua.a lua )
SET(LUA_FIND_DYNAMIC_LIB_NAMES lua5.2 lua )
ELSEIF(FORCE_LUA_5_1)
MESSAGE(STATUS "Trying to FORCE LUA 5.1 ...")
SET(LUA_FIND_INCLUDE_PATHS /usr/include/lua5.1
/usr/include
/usr/include/lua )
SET(LUA_FIND_STATIC_LIB_NAMES liblua5.1.a lua5.1 liblua.a lua )
SET(LUA_FIND_DYNAMIC_LIB_NAMES lua5.1 lua )
ELSE()
SET(LUA_FIND_INCLUDE_PATHS /usr/include
/usr/include/lua5.2
/usr/include/lua
/usr/include/lua5.1 )
SET(LUA_FIND_STATIC_LIB_NAMES liblua5.2.a liblua.a liblua5.1.a lua5.2 lua lua5.1 )
SET(LUA_FIND_DYNAMIC_LIB_NAMES lua5.2 lua lua5.1 )
ENDIF()
FIND_PATH(LUA_INCLUDE_DIR NAMES lua.hpp
PATHS /usr/include
/usr/include/lua5.2
/usr/include/lua
/usr/include/lua5.1
PATHS ${LUA_FIND_INCLUDE_PATHS}
IF(FreeBSD)
SET(PATHS "/usr/local/include/lua51")
ENDIF()
@ -30,7 +53,7 @@ FIND_PATH(LUA_INCLUDE_DIR NAMES lua.hpp
)
IF (LUA_STATIC AND NOT LUA_LIBRARIES)
FIND_LIBRARY(LUA_LIBRARIES NAMES liblua5.2.a liblua.a liblua5.1.a lua5.2 lua lua5.1
FIND_LIBRARY(LUA_LIBRARIES NAMES ${LUA_FIND_STATIC_LIB_NAMES}
PATHS
IF(FreeBSD)
SET(PATHS "/usr/local/lib/lua51")
@ -38,7 +61,7 @@ IF (LUA_STATIC AND NOT LUA_LIBRARIES)
$ENV{LUA_HOME})
ELSE()
FIND_LIBRARY(LUA_LIBRARIES NAMES lua5.2 lua lua5.1
FIND_LIBRARY(LUA_LIBRARIES NAMES ${LUA_FIND_DYNAMIC_LIB_NAMES}
PATHS
IF(FreeBSD)
SET(PATHS "/usr/local/lib/lua51")
@ -69,3 +92,4 @@ ELSE(LUA_FOUND)
ENDIF(LUA_FOUND)
MARK_AS_ADVANCED(LUA_INCLUDE_DIR LUA_LIBRARIES)

View File

@ -19,6 +19,8 @@ IF(BUILD_MEGAGLEST_MODEL_VIEWER OR BUILD_MEGAGLEST_MAP_EDITOR OR BUILD_MEGAGLEST
#Game options
option(ENABLE_FRIBIDI "Enable FriBIDi support" ON)
option(FORCE_LUA_5_1 "Force looking for LUA 5.1" OFF)
option(FORCE_LUA_5_2 "Force looking for LUA 5.2" OFF)
IF(WIN32)
SET(CMAKE_LIBRARY_PATH ${CMAKE_LIBRARY_PATH}
@ -104,32 +106,11 @@ option(ENABLE_FRIBIDI "Enable FriBIDi support" ON)
SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${OPENAL_LIBRARY})
ENDIF()
# FIND_PACKAGE(OGG REQUIRED)
# INCLUDE_DIRECTORIES(${OGG_INCLUDE_DIR})
# IF(UNIX)
# SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${OGG_LIBRARY})
# SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${VORBIS_LIBRARY})
# SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${VORBIS_FILE_LIBRARY})
# ENDIF()
# FIND_PACKAGE(LUAJIT)
# IF(LUAJIT_FOUND)
# MESSAGE(STATUS "**NOTE: LUAJIT found, this should improve Lua performance.")
#
# INCLUDE_DIRECTORIES(${LUAJIT_INCLUDE_DIR})
# IF(UNIX)
# SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${LUAJIT_LIBRARIES} ${CMAKE_DL_LIBS})
# ENDIF()
# ELSE()
# MESSAGE(STATUS "**WARNING: LUAJIT NOT found, so Lua performance may suffer.")
#
FIND_PACKAGE(LUA REQUIRED)
INCLUDE_DIRECTORIES(${LUA_INCLUDE_DIR})
IF(UNIX)
SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${LUA_LIBRARIES} ${CMAKE_DL_LIBS})
ENDIF()
# ENDIF()
OPTION(WANT_STATIC_LIBS "builds as many static libs as possible" OFF)