mirror of
https://github.com/EQEmu/Server.git
synced 2025-12-13 14:41:28 +00:00
Added own lua find package that will also try to find luajit since it's compat with the 5.1 api
This commit is contained in:
parent
bb02af2548
commit
581a0ec212
@ -208,33 +208,22 @@ ENDIF()
|
|||||||
|
|
||||||
IF(Lua51_FOUND)
|
IF(Lua51_FOUND)
|
||||||
SET(LUA_LIBRARY_TYPE " Lua 5.1")
|
SET(LUA_LIBRARY_TYPE " Lua 5.1")
|
||||||
SET(LUA_LIBRARY_LIBS ${LUA_LIBRARY} luabind)
|
SET(LUA_LIBRARY_ENABLED ON)
|
||||||
SET(LUA_LIBRARY_INCLUDE ${LUA_INCLUDE_DIR} "${CMAKE_CURRENT_SOURCE_DIR}/libs/luabind")
|
SET(LUA_LIBRARY_LIBS ${LUA_LIBRARY})
|
||||||
|
SET(LUA_LIBRARY_INCLUDE ${LUA_INCLUDE_DIR})
|
||||||
OPTION(EQEMU_BUILD_LUA "Build Lua parser." ON)
|
|
||||||
IF(EQEMU_BUILD_LUA)
|
|
||||||
ADD_DEFINITIONS(-DLUA_EQEMU)
|
|
||||||
OPTION(EQEMU_SANITIZE_LUA_LIBS "Sanitize Lua Libraries (Remove OS and IO standard libraries from being able to run)." ON)
|
|
||||||
IF(EQEMU_SANITIZE_LUA_LIBS)
|
|
||||||
ADD_DEFINITIONS(-DSANITIZE_LUA_LIBS)
|
|
||||||
ENDIF()
|
|
||||||
ENDIF()
|
|
||||||
ELSE()
|
ELSE()
|
||||||
SET(LUA_LIBRARY_TYPE "Disabled")
|
SET(LUA_LIBRARY_TYPE "Disabled")
|
||||||
|
SET(LUA_LIBRARY_ENABLED OFF)
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
||||||
IF(PerlLibs_FOUND)
|
IF(PerlLibs_FOUND)
|
||||||
SET(PERL_LIBRARY_TYPE " Perl")
|
SET(PERL_LIBRARY_TYPE " Perl")
|
||||||
|
SET(PERL_LIBRARY_ENABLED ON)
|
||||||
SET(PERL_LIBRARY_LIBS ${PERL_LIBRARY})
|
SET(PERL_LIBRARY_LIBS ${PERL_LIBRARY})
|
||||||
SET(PERL_LIBRARY_INCLUDE ${PERL_INCLUDE_PATH})
|
SET(PERL_LIBRARY_INCLUDE ${PERL_INCLUDE_PATH})
|
||||||
|
|
||||||
OPTION(EQEMU_BUILD_PERL "Build Perl parser." ON)
|
|
||||||
IF(EQEMU_BUILD_PERL)
|
|
||||||
ADD_DEFINITIONS(-DEMBPERL)
|
|
||||||
ADD_DEFINITIONS(-DEMBPERL_PLUGIN)
|
|
||||||
ENDIF()
|
|
||||||
ELSE()
|
ELSE()
|
||||||
SET(PERL_LIBRARY_TYPE "Disabled")
|
SET(PERL_LIBRARY_TYPE "Disabled")
|
||||||
|
SET(PERL_LIBRARY_ENABLED OFF)
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
||||||
#use zlib if exists
|
#use zlib if exists
|
||||||
@ -294,14 +283,29 @@ IF(SODIUM_LIBRARY_ENABLED)
|
|||||||
INCLUDE_DIRECTORIES(SYSTEM "${SODIUM_LIBRARY_INCLUDE}")
|
INCLUDE_DIRECTORIES(SYSTEM "${SODIUM_LIBRARY_INCLUDE}")
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
||||||
IF(EQEMU_BUILD_LUA)
|
IF(LUA_LIBRARY_ENABLED)
|
||||||
SET(SERVER_LIBS ${SERVER_LIBS} ${LUA_LIBRARY_LIBS})
|
OPTION(EQEMU_BUILD_LUA "Build Lua parser." ON)
|
||||||
INCLUDE_DIRECTORIES(SYSTEM "${LUA_LIBRARY_INCLUDE}")
|
|
||||||
|
IF(EQEMU_BUILD_LUA)
|
||||||
|
ADD_DEFINITIONS(-DLUA_EQEMU)
|
||||||
|
SET(SERVER_LIBS ${SERVER_LIBS} ${LUA_LIBRARY_LIBS})
|
||||||
|
INCLUDE_DIRECTORIES(SYSTEM "${LUA_LIBRARY_INCLUDE}")
|
||||||
|
|
||||||
|
OPTION(EQEMU_SANITIZE_LUA_LIBS "Sanitize Lua Libraries (Remove OS and IO standard libraries from being able to run)." ON)
|
||||||
|
IF(EQEMU_SANITIZE_LUA_LIBS)
|
||||||
|
ADD_DEFINITIONS(-DSANITIZE_LUA_LIBS)
|
||||||
|
ENDIF()
|
||||||
|
ENDIF()
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
||||||
IF(EQEMU_BUILD_PERL)
|
IF(PERL_LIBRARY_ENABLED)
|
||||||
SET(SERVER_LIBS ${SERVER_LIBS} ${PERL_LIBRARY_LIBS})
|
OPTION(EQEMU_BUILD_PERL "Build Perl parser." ON)
|
||||||
INCLUDE_DIRECTORIES(SYSTEM "${PERL_LIBRARY_INCLUDE}")
|
IF(EQEMU_BUILD_PERL)
|
||||||
|
SET(SERVER_LIBS ${SERVER_LIBS} ${PERL_LIBRARY_LIBS})
|
||||||
|
INCLUDE_DIRECTORIES(SYSTEM "${PERL_LIBRARY_INCLUDE}")
|
||||||
|
ADD_DEFINITIONS(-DEMBPERL)
|
||||||
|
ADD_DEFINITIONS(-DEMBPERL_PLUGIN)
|
||||||
|
ENDIF()
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
||||||
IF(WIN32)
|
IF(WIN32)
|
||||||
|
|||||||
91
cmake/FindLua51.cmake
Normal file
91
cmake/FindLua51.cmake
Normal file
@ -0,0 +1,91 @@
|
|||||||
|
# Distributed under the OSI-approved BSD 3-Clause License. See accompanying
|
||||||
|
# file Copyright.txt or https://cmake.org/licensing for details.
|
||||||
|
# Modified from the FindLua51 that comes with CMake
|
||||||
|
|
||||||
|
#[=======================================================================[.rst:
|
||||||
|
FindLua51
|
||||||
|
---------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Locate Lua51 library This module defines
|
||||||
|
|
||||||
|
::
|
||||||
|
|
||||||
|
LUA51_FOUND, if false, do not try to link to Lua
|
||||||
|
LUA_LIBRARIES
|
||||||
|
LUA_INCLUDE_DIR, where to find lua.h
|
||||||
|
LUA_VERSION_STRING, the version of Lua found (since CMake 2.8.8)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Note that the expected include convention is
|
||||||
|
|
||||||
|
::
|
||||||
|
|
||||||
|
#include "lua.h"
|
||||||
|
|
||||||
|
and not
|
||||||
|
|
||||||
|
::
|
||||||
|
|
||||||
|
#include <lua/lua.h>
|
||||||
|
|
||||||
|
This is because, the lua location is not standardized and may exist in
|
||||||
|
locations other than lua/
|
||||||
|
#]=======================================================================]
|
||||||
|
|
||||||
|
find_path(LUA_INCLUDE_DIR lua.h
|
||||||
|
HINTS
|
||||||
|
ENV LUA_DIR
|
||||||
|
PATH_SUFFIXES include/lua51 include/lua5.1 include/lua-5.1 include/lua include/luajit include
|
||||||
|
PATHS
|
||||||
|
~/Library/Frameworks
|
||||||
|
/Library/Frameworks
|
||||||
|
/sw # Fink
|
||||||
|
/opt/local # DarwinPorts
|
||||||
|
/opt/csw # Blastwave
|
||||||
|
/opt
|
||||||
|
)
|
||||||
|
|
||||||
|
find_library(LUA_LIBRARY
|
||||||
|
NAMES lua51 lua5.1 lua-5.1 lua luajit
|
||||||
|
HINTS
|
||||||
|
ENV LUA_DIR
|
||||||
|
PATH_SUFFIXES lib
|
||||||
|
PATHS
|
||||||
|
~/Library/Frameworks
|
||||||
|
/Library/Frameworks
|
||||||
|
/sw
|
||||||
|
/opt/local
|
||||||
|
/opt/csw
|
||||||
|
/opt
|
||||||
|
)
|
||||||
|
|
||||||
|
if(LUA_LIBRARY)
|
||||||
|
# include the math library for Unix
|
||||||
|
if(UNIX AND NOT APPLE AND NOT BEOS AND NOT HAIKU)
|
||||||
|
find_library(LUA_MATH_LIBRARY m)
|
||||||
|
set( LUA_LIBRARIES "${LUA_LIBRARY};${LUA_MATH_LIBRARY}" CACHE STRING "Lua Libraries")
|
||||||
|
# For Windows and Mac, don't need to explicitly include the math library
|
||||||
|
else()
|
||||||
|
set( LUA_LIBRARIES "${LUA_LIBRARY}" CACHE STRING "Lua Libraries")
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(LUA_INCLUDE_DIR AND EXISTS "${LUA_INCLUDE_DIR}/lua.h")
|
||||||
|
file(STRINGS "${LUA_INCLUDE_DIR}/lua.h" lua_version_str REGEX "^#define[ \t]+LUA_RELEASE[ \t]+\"Lua .+\"")
|
||||||
|
|
||||||
|
string(REGEX REPLACE "^#define[ \t]+LUA_RELEASE[ \t]+\"Lua ([^\"]+)\".*" "\\1" LUA_VERSION_STRING "${lua_version_str}")
|
||||||
|
unset(lua_version_str)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
include(${CMAKE_ROOT}/Modules/FindPackageHandleStandardArgs.cmake)
|
||||||
|
# handle the QUIETLY and REQUIRED arguments and set LUA51_FOUND to TRUE if
|
||||||
|
# all listed variables are TRUE
|
||||||
|
FIND_PACKAGE_HANDLE_STANDARD_ARGS(Lua51
|
||||||
|
REQUIRED_VARS LUA_LIBRARIES LUA_INCLUDE_DIR
|
||||||
|
VERSION_VAR LUA_VERSION_STRING)
|
||||||
|
|
||||||
|
mark_as_advanced(LUA_INCLUDE_DIR LUA_LIBRARIES LUA_LIBRARY LUA_MATH_LIBRARY)
|
||||||
|
|
||||||
Loading…
x
Reference in New Issue
Block a user