From aae11b8465b805381eecb21e252ee75074d8de31 Mon Sep 17 00:00:00 2001 From: Tuukka Pasanen Date: Thu, 30 Oct 2025 14:33:35 +0200 Subject: [PATCH] Allow Cmake to find Lua version between 5.4 and 5.1 Currently libUCL only searches for Lua 5.1 (when using LuaJIT) and Lua 5.1 and 5.2. Commit introduces code that (if LuaJIT is not used) seeking from Lua version 5.4 and if it not available tries to seek version by version down to 5.1. Seeking stops when Lua is found or if not it prints error message to screen and stops configuring CMake build environment. --- CMakeLists.txt | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 3d73910..193ea85 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -258,10 +258,12 @@ IF(ENABLE_LUA MATCHES "ON") INCLUDE_DIRECTORIES("${LUA_INCLUDE_DIR}") ENDIF(NOT LUA_FOUND) ELSE(ENABLE_LUAJIT MATCHES "ON") - FindLua(VERSION_MAJOR "5" VERSION_MINOR "2" ROOT "${LUA_ROOT}") - IF(NOT LUA_FOUND) - FindLua(VERSION_MAJOR "5" VERSION_MINOR "1" ROOT "${LUA_ROOT}") - ENDIF(NOT LUA_FOUND) + FOREACH(LUA_MINOR RANGE 4 1 -1) + FindLua(VERSION_MAJOR "5" VERSION_MINOR ${LUA_MINOR} ROOT "${LUA_ROOT}") + IF(LUA_FOUND) + BREAK() + ENDIF(LUA_FOUND) + ENDFOREACH(LUA_MINOR RANGE 4 1 -1) IF(NOT LUA_FOUND) MESSAGE(FATAL_ERROR "Lua not found, lua support is required") ELSE(NOT LUA_FOUND)