From 470ea50b54c1661928867579ae534ee4332ef271 Mon Sep 17 00:00:00 2001 From: Koncord Date: Thu, 5 Jul 2018 19:21:53 +0800 Subject: [PATCH 1/3] [General] Use LuaJit instead default Lua --- apps/openmw-mp/CMakeLists.txt | 11 ++-- cmake/FindLua51.cmake | 95 ----------------------------------- cmake/FindLuaJit.cmake | 13 +++++ 3 files changed, 19 insertions(+), 100 deletions(-) delete mode 100644 cmake/FindLua51.cmake create mode 100644 cmake/FindLuaJit.cmake diff --git a/apps/openmw-mp/CMakeLists.txt b/apps/openmw-mp/CMakeLists.txt index 7f64eb58b..af955e271 100644 --- a/apps/openmw-mp/CMakeLists.txt +++ b/apps/openmw-mp/CMakeLists.txt @@ -24,9 +24,10 @@ endif(ENABLE_BREAKPAD) option(BUILD_WITH_LUA "Enable Lua language" ON) if(BUILD_WITH_LUA) - find_package(Lua51 REQUIRED) - MESSAGE(STATUS "Found LUA_LIBRARY: ${LUA_LIBRARY}") - MESSAGE(STATUS "Found LUA_INCLUDE_DIR: ${LUA_INCLUDE_DIR}") + find_package(LuaJit REQUIRED) + + MESSAGE(STATUS "Found LuaJit_LIBRARIES: ${LuaJit_LIBRARIES}") + MESSAGE(STATUS "Found LuaJit_INCLUDE_DIRS: ${LuaJit_INCLUDE_DIRS}") set(LuaScript_Sources Script/LangLua/LangLua.cpp @@ -35,7 +36,7 @@ if(BUILD_WITH_LUA) Script/LangLua/LangLua.hpp) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DENABLE_LUA") - include_directories(${LUA_INCLUDE_DIR} ${CMAKE_SOURCE_DIR}/extern/LuaBridge) + include_directories(${LuaJit_INCLUDE_DIRS} ${CMAKE_SOURCE_DIR}/extern/LuaBridge) endif(BUILD_WITH_LUA) set(NativeScript_Sources @@ -165,7 +166,7 @@ target_link_libraries(tes3mp-server #${Boost_PROGRAM_OPTIONS_LIBRARY} ${RakNet_LIBRARY} components - ${LUA_LIBRARIES} + ${LuaJit_LIBRARIES} ${Breakpad_Library} ${CallFF_LIBRARY} ) diff --git a/cmake/FindLua51.cmake b/cmake/FindLua51.cmake deleted file mode 100644 index 6c5d5826f..000000000 --- a/cmake/FindLua51.cmake +++ /dev/null @@ -1,95 +0,0 @@ -#.rst: -# FindLua51 -# --------- -# -# -# -# Locate Lua 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 -# -# This is because, the lua location is not standardized and may exist in -# locations other than lua/ - -#============================================================================= -# Copyright 2007-2009 Kitware, Inc. -# -# Distributed under the OSI-approved BSD License (the "License"); -# see accompanying file Copyright.txt for details. -# -# This software is distributed WITHOUT ANY WARRANTY; without even the -# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -# See the License for more information. -#============================================================================= -# (To distribute this file outside of CMake, substitute the full -# License text for the above reference.) - -find_path(LUA_INCLUDE_DIR lua.h - HINTS - ENV LUA_DIR - ENV LUA_INCLUDE_DIR - PATH_SUFFIXES include/lua51 include/lua5.1 include/lua-5.1 include/lua include/luajit-2.1 include - PATHS - ~/Library/Frameworks - /Library/Frameworks - /sw # Fink - /opt/local # DarwinPorts - /opt/csw # Blastwave - /opt - NO_DEFAULT_PATH -) - -find_library(LUA_LIBRARY - NAMES lua51 lua5.1 lua-5.1 libluajit-5.1.a lua - 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() - -IF(LUA_INCLUDE_DIR AND LUA_LIBRARY) - SET(LUA_FOUND TRUE) -ENDIF(LUA_INCLUDE_DIR AND LUA_LIBRARY) diff --git a/cmake/FindLuaJit.cmake b/cmake/FindLuaJit.cmake new file mode 100644 index 000000000..1004e52ec --- /dev/null +++ b/cmake/FindLuaJit.cmake @@ -0,0 +1,13 @@ +# Once found, defines: +# LuaJit_FOUND +# LuaJit_INCLUDE_DIRS +# LuaJit_LIBRARIES + +include(LibFindMacros) + +libfind_pkg_detect(LuaJit luajit + FIND_PATH luajit.h + FIND_LIBRARY NAMES luajit-5.1 luajit + ) + +libfind_process(LuaJit) \ No newline at end of file From 533cd9cdec61626d13e46bbb558faeaf54a3c59a Mon Sep 17 00:00:00 2001 From: Koncord Date: Thu, 5 Jul 2018 19:49:33 +0800 Subject: [PATCH 2/3] [General] Fix FindRakNet --- cmake/FindRakNet.cmake | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cmake/FindRakNet.cmake b/cmake/FindRakNet.cmake index 092c59e3c..27a22e823 100644 --- a/cmake/FindRakNet.cmake +++ b/cmake/FindRakNet.cmake @@ -15,7 +15,7 @@ FIND_LIBRARY (RakNet_LIBRARY_RELEASE NAMES RakNetLibStatic /usr/local/lib64 /usr/local/lib /opt/local/lib - $ENV{RAKNET_ROOT}/lib/* + $ENV{RAKNET_ROOT}/lib ) FIND_LIBRARY (RakNet_LIBRARY_DEBUG NAMES RakNetLibStatic @@ -27,7 +27,7 @@ FIND_LIBRARY (RakNet_LIBRARY_DEBUG NAMES RakNetLibStatic /usr/local/lib64 /usr/local/lib /opt/local/lib - $ENV{RAKNET_ROOT}/lib/* + $ENV{RAKNET_ROOT}/lib ) From 7a032baaa303c9c7a23322912f8c7d891cb02e5c Mon Sep 17 00:00:00 2001 From: Koncord Date: Thu, 5 Jul 2018 21:08:41 +0800 Subject: [PATCH 3/3] [General] Move OSG hack to ELSE branch --- CMakeLists.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 6ee344625..3bc240d91 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -209,7 +209,6 @@ endif() IF(BUILD_OPENMW OR BUILD_OPENCS) find_package(OpenSceneGraph 3.3.4 REQUIRED osgDB osgViewer osgText osgGA osgParticle osgUtil osgFX) - include_directories(${OPENSCENEGRAPH_INCLUDE_DIRS}) set(USED_OSG_PLUGINS osgdb_bmp @@ -250,7 +249,8 @@ IF(BUILD_OPENMW OR BUILD_OPENCS) find_package(SDL2 REQUIRED) find_package(OpenAL REQUIRED) find_package(Bullet ${REQUIRED_BULLET_VERSION} REQUIRED COMPONENTS BulletCollision LinearMath) - +ELSE() + include_directories(${OPENSCENEGRAPH_INCLUDE_DIRS}) # HACK: DO NOT MOVE IT. Used for server only build ENDIF(BUILD_OPENMW OR BUILD_OPENCS)