build: add system lua include dir for lpeg

Problem: Lpeg requires Lua headers.  Currently the include directories
for Lpeg are set only to the bundled deps folder, so if the user wants
to use system Lua/Luajit, Lpeg will not find the system headers and will
fail to build.

Solution: Add system Lua/Luajit include directories when USE_BUNDLED_LUA
and USE_BUNDLED_LUAJIT are turned off.

Fixes #23469
This commit is contained in:
Enan Ajmain 2023-05-07 04:47:45 +06:00 committed by GitHub
parent 9248dd77ac
commit 1bf29a0ae1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1,4 +1,18 @@
list(APPEND LPEG_CMAKE_ARGS "-DCMAKE_C_FLAGS:STRING=${DEPS_INCLUDE_FLAGS}")
set(LPEG_INCLUDE_FLAGS ${DEPS_INCLUDE_FLAGS})
if(NOT USE_BUNDLED_LUAJIT AND NOT USE_BUNDLED_LUA)
find_package(Luajit)
if(LUAJIT_FOUND)
string(CONCAT LPEG_INCLUDE_FLAGS ${DEPS_INCLUDE_FLAGS} " -I${LUAJIT_INCLUDE_DIR}")
else()
find_package(Lua 5.1 EXACT)
if(LUA_FOUND)
string(CONCAT LPEG_INCLUDE_FLAGS ${DEPS_INCLUDE_FLAGS} " -I${LUA_INCLUDE_DIR}")
endif()
endif()
endif()
list(APPEND LPEG_CMAKE_ARGS -DCMAKE_C_FLAGS=${LPEG_INCLUDE_FLAGS})
ExternalProject_Add(lpeg
URL ${LPEG_URL}