Created
December 2, 2015 23:17
-
-
Save susnux/6b4b5a7f9328a7d73c79 to your computer and use it in GitHub Desktop.
Proper FindLuajit for minetest
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff -Nur minetest-0.4.13/cmake/Modules/FindLua.cmake minetest-0.4.13-new/cmake/Modules/FindLua.cmake | |
--- minetest-0.4.13/cmake/Modules/FindLua.cmake 2015-08-20 04:02:00.000000000 +0200 | |
+++ minetest-0.4.13-new/cmake/Modules/FindLua.cmake 1970-01-01 01:00:00.000000000 +0100 | |
@@ -1,25 +0,0 @@ | |
- | |
-option(ENABLE_LUAJIT "Enable LuaJIT support" TRUE) | |
-mark_as_advanced(LUA_LIBRARY LUA_INCLUDE_DIR) | |
-set(USE_LUAJIT FALSE) | |
- | |
-if(ENABLE_LUAJIT) | |
- find_library(LUA_LIBRARY luajit | |
- NAMES luajit-5.1) | |
- find_path(LUA_INCLUDE_DIR luajit.h | |
- NAMES luajit.h | |
- PATH_SUFFIXES luajit-2.0) | |
- if(LUA_LIBRARY AND LUA_INCLUDE_DIR) | |
- set(USE_LUAJIT TRUE) | |
- endif() | |
-else() | |
- message (STATUS "LuaJIT detection disabled! (ENABLE_LUAJIT=0)") | |
-endif() | |
- | |
-if(NOT USE_LUAJIT) | |
- message(STATUS "LuaJIT not found, using bundled Lua.") | |
- set(LUA_LIBRARY "lua") | |
- set(LUA_INCLUDE_DIR "${PROJECT_SOURCE_DIR}/lua/src") | |
- add_subdirectory(lua) | |
-endif() | |
- | |
diff -Nur minetest-0.4.13/cmake/Modules/FindLuaJit.cmake minetest-0.4.13-new/cmake/Modules/FindLuaJit.cmake | |
--- minetest-0.4.13/cmake/Modules/FindLuaJIT.cmake 1970-01-01 01:00:00.000000000 +0100 | |
+++ minetest-0.4.13-new/cmake/Modules/FindLuaJIT.cmake 2015-11-24 23:16:25.573369641 +0100 | |
@@ -0,0 +1,51 @@ | |
+# Locate LuaJIT library | |
+# This module defines | |
+# LUAJIT_FOUND, if false, do not try to link to Lua | |
+# LUA_INCLUDE_DIR, where to find lua.h | |
+# LUA_VERSION_STRING, the version of Lua found (since CMake 2.8.8) | |
+# | |
+# This module is similar to FindLua51.cmake except that it finds LuaJit instead. | |
+ | |
+FIND_PATH(LUA_INCLUDE_DIR luajit.h | |
+ HINTS | |
+ $ENV{LUA_DIR} | |
+ PATH_SUFFIXES include/luajit-2.0 include/luajit-5_1-2.0 include | |
+ PATHS | |
+ ~/Library/Frameworks | |
+ /Library/Frameworks | |
+ /sw # Fink | |
+ /opt/local # DarwinPorts | |
+ /opt/csw # Blastwave | |
+ /opt | |
+) | |
+ | |
+FIND_LIBRARY(LUA_LIBRARY | |
+ NAMES luajit-5.1 | |
+ HINTS | |
+ $ENV{LUA_DIR} | |
+ PATH_SUFFIXES lib64 lib | |
+ PATHS | |
+ ~/Library/Frameworks | |
+ /Library/Frameworks | |
+ /sw | |
+ /opt/local | |
+ /opt/csw | |
+ /opt | |
+) | |
+ | |
+IF(LUA_INCLUDE_DIR AND EXISTS "${LUA_INCLUDE_DIR}/luajit.h") | |
+ FILE(STRINGS "${LUA_INCLUDE_DIR}/luajit.h" lua_version_str REGEX "^#define[ \t]+LUA_RELEASE[ \t]+\"LuaJIT .+\"") | |
+ | |
+ STRING(REGEX REPLACE "^#define[ \t]+LUA_RELEASE[ \t]+\"LuaJIT ([^\"]+)\".*" "\\1" LUA_VERSION_STRING "${lua_version_str}") | |
+ UNSET(lua_version_str) | |
+ENDIF() | |
+ | |
+INCLUDE(FindPackageHandleStandardArgs) | |
+# handle the QUIETLY and REQUIRED arguments and set LUAJIT_FOUND to TRUE if | |
+# all listed variables are TRUE | |
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(LuaJit | |
+ REQUIRED_VARS LUA_LIBRARY LUA_INCLUDE_DIR | |
+ VERSION_VAR LUA_VERSION_STRING) | |
+ | |
+MARK_AS_ADVANCED(LUA_INCLUDE_DIR LUA_LIBRARY LUA_MATH_LIBRARY) | |
+ | |
diff -Nur minetest-0.4.13/src/CMakeLists.txt minetest-0.4.13-new/src/CMakeLists.txt | |
--- minetest-0.4.13/src/CMakeLists.txt 2015-08-20 04:02:00.000000000 +0200 | |
+++ minetest-0.4.13-new/src/CMakeLists.txt 2015-11-24 23:17:02.993369725 +0100 | |
@@ -140,8 +140,23 @@ | |
endif() | |
endif(ENABLE_FREETYPE) | |
- | |
-find_package(Lua REQUIRED) | |
+# LuaJIT | |
+option(ENABLE_LUAJIT "Enable LuaJIT support" TRUE) | |
+set(USE_LUAJIT FALSE) | |
+if(ENABLE_LUAJIT) | |
+ find_package(LuaJIT) | |
+ if(LUAJIT_FOUND) | |
+ set(USE_LUAJIT TRUE) | |
+ endif(LUAJIT_FOUND) | |
+else() | |
+ message (STATUS "LuaJIT detection disabled! (ENABLE_LUAJIT=0)") | |
+endif() | |
+if(NOT USE_LUAJIT) | |
+ message(STATUS "LuaJIT not found, using bundled Lua.") | |
+ set(LUA_LIBRARY "lua") | |
+ set(LUA_INCLUDE_DIR "${PROJECT_SOURCE_DIR}/lua/src") | |
+ add_subdirectory(lua) | |
+endif() | |
find_package(GMP REQUIRED) | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment