aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CMakeLists.txt29
1 files changed, 19 insertions, 10 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 15fbae5..5aa3263 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -4,33 +4,42 @@ project(yue CXX)
4set(LUA_LIBDIR ${LUA_INCDIR}/../lib ${LUA_INCDIR}/../../lib) 4set(LUA_LIBDIR ${LUA_INCDIR}/../lib ${LUA_INCDIR}/../../lib)
5set(LUA_INCLUDE_DIR "${LUA_INCDIR}") 5set(LUA_INCLUDE_DIR "${LUA_INCDIR}")
6 6
7# Get Lua executable name to detect LuaJIT
7get_filename_component(LUA_EXEC_NAME ${LUA} NAME) 8get_filename_component(LUA_EXEC_NAME ${LUA} NAME)
8if (LUA_EXEC_NAME STREQUAL "luajit") 9
10# Detect Lua version by executing the binary and checking _VERSION
11execute_process(
12 COMMAND ${LUA} -e "print(_VERSION)"
13 OUTPUT_VARIABLE LUA_VERSION_STRING
14 OUTPUT_STRIP_TRAILING_WHITESPACE
15 ERROR_QUIET
16)
17
18message(STATUS "Lua version string: ${LUA_VERSION_STRING}")
19message(STATUS "Lua executable: ${LUA_EXEC_NAME}")
20
21# Parse Lua version from _VERSION output or detect LuaJIT by executable name
22if (LUA_EXEC_NAME MATCHES "luajit")
9 find_library(LUA_LIBRARIES 23 find_library(LUA_LIBRARIES
10 NAMES luajit libluajit 24 NAMES luajit libluajit
11 PATHS ${LUA_LIBDIR} 25 PATHS ${LUA_LIBDIR}
12 NO_DEFAULT_PATH) 26 NO_DEFAULT_PATH)
13elseif (LUA_EXEC_NAME MATCHES "lua5\.5" OR LUA_EXEC_NAME MATCHES "lua55") 27elseif (LUA_VERSION_STRING MATCHES "Lua 5.4")
14 find_library(LUA_LIBRARIES
15 NAMES lua55 lua5.5 liblua55 liblua5.5 lua liblua
16 PATHS ${LUA_LIBDIR}
17 NO_DEFAULT_PATH)
18elseif (LUA_EXEC_NAME MATCHES "lua5\.4" OR LUA_EXEC_NAME MATCHES "lua54")
19 find_library(LUA_LIBRARIES 28 find_library(LUA_LIBRARIES
20 NAMES lua54 lua5.4 liblua54 liblua5.4 lua liblua 29 NAMES lua54 lua5.4 liblua54 liblua5.4 lua liblua
21 PATHS ${LUA_LIBDIR} 30 PATHS ${LUA_LIBDIR}
22 NO_DEFAULT_PATH) 31 NO_DEFAULT_PATH)
23elseif (LUA_EXEC_NAME MATCHES "lua5\.3" OR LUA_EXEC_NAME MATCHES "lua53") 32elseif (LUA_VERSION_STRING MATCHES "Lua 5.3")
24 find_library(LUA_LIBRARIES 33 find_library(LUA_LIBRARIES
25 NAMES lua53 lua5.3 liblua53 liblua5.3 lua liblua 34 NAMES lua53 lua5.3 liblua53 liblua5.3 lua liblua
26 PATHS ${LUA_LIBDIR} 35 PATHS ${LUA_LIBDIR}
27 NO_DEFAULT_PATH) 36 NO_DEFAULT_PATH)
28elseif (LUA_EXEC_NAME MATCHES "lua5\.2" OR LUA_EXEC_NAME MATCHES "lua52") 37elseif (LUA_VERSION_STRING MATCHES "Lua 5.2")
29 find_library(LUA_LIBRARIES 38 find_library(LUA_LIBRARIES
30 NAMES lua52 lua5.2 liblua52 liblua5.2 lua liblua 39 NAMES lua52 lua5.2 liblua52 liblua5.2 lua liblua
31 PATHS ${LUA_LIBDIR} 40 PATHS ${LUA_LIBDIR}
32 NO_DEFAULT_PATH) 41 NO_DEFAULT_PATH)
33elseif (LUA_EXEC_NAME MATCHES "lua5\.1" OR LUA_EXEC_NAME MATCHES "lua51") 42elseif (LUA_VERSION_STRING MATCHES "Lua 5.1")
34 find_library(LUA_LIBRARIES 43 find_library(LUA_LIBRARIES
35 NAMES lua51 lua5.1 liblua51 liblua5.1 lua liblua 44 NAMES lua51 lua5.1 liblua51 liblua5.1 lua liblua
36 PATHS ${LUA_LIBDIR} 45 PATHS ${LUA_LIBDIR}