diff options
-rw-r--r-- | CMakeLists.txt | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 613019e..9149ec5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt | |||
@@ -1,6 +1,36 @@ | |||
1 | cmake_minimum_required(VERSION 3.10) | 1 | cmake_minimum_required(VERSION 3.10) |
2 | project(yue CXX) | 2 | project(yue CXX) |
3 | 3 | ||
4 | include(FetchContent) | ||
5 | |||
6 | execute_process( | ||
7 | COMMAND ${LUA} -v | ||
8 | OUTPUT_VARIABLE LUA_VERSION_OUTPUT | ||
9 | ERROR_VARIABLE LUA_VERSION_OUTPUT | ||
10 | OUTPUT_STRIP_TRAILING_WHITESPACE | ||
11 | ) | ||
12 | |||
13 | string(REGEX MATCH "Lua ([0-9]+)\\.([0-9]+)\\.([0-9]+)" LUA_VERSION_MATCH ${LUA_VERSION_OUTPUT}) | ||
14 | set(LUA_VERSION "${CMAKE_MATCH_1}.${CMAKE_MATCH_2}.${CMAKE_MATCH_3}") | ||
15 | |||
16 | set(LUA_TARBALL_URL "https://www.lua.org/ftp/lua-${LUA_VERSION}.tar.gz") | ||
17 | |||
18 | message(STATUS "Detected Lua version: ${LUA_VERSION}") | ||
19 | message(STATUS "Downloading Lua source from: ${LUA_TARBALL_URL}") | ||
20 | |||
21 | FetchContent_Declare( | ||
22 | lua_source | ||
23 | URL ${LUA_TARBALL_URL} | ||
24 | ) | ||
25 | |||
26 | FetchContent_MakeAvailable(lua_source) | ||
27 | |||
28 | set(LUA_SOURCE_DIR "${lua_source_SOURCE_DIR}") | ||
29 | |||
30 | include_directories(${LUA_SOURCE_DIR}/src) | ||
31 | |||
32 | message(STATUS "Lua source directory: ${LUA_SOURCE_DIR}/src") | ||
33 | |||
4 | set(LUA_LIBDIR ${LUA_INCDIR}/../lib ${LUA_INCDIR}/../../lib) | 34 | set(LUA_LIBDIR ${LUA_INCDIR}/../lib ${LUA_INCDIR}/../../lib) |
5 | set(LUA_INCLUDE_DIR "${LUA_INCDIR}") | 35 | set(LUA_INCLUDE_DIR "${LUA_INCDIR}") |
6 | 36 | ||