FindLua¶
查找 Lua 库。Lua 是一种可嵌入的脚本语言。
3.18 版本新增:支持 Lua 5.4。
使用 Lua 时,其库头文件应包含在项目源代码中,如下所示:
#include <lua.h>
而不是
#include <lua/lua.h>
这是因为 Lua 头文件的位置可能因平台而异,并且可能存在于 lua/
以外的位置。
结果变量¶
此模块定义了以下变量
Lua_FOUND
布尔值,指示是否找到(请求版本的)Lua。为了向后兼容,
LUA_FOUND
变量也设置为相同的值。LUA_VERSION_STRING
找到的 Lua 版本。
LUA_VERSION_MAJOR
找到的 Lua 主版本。
LUA_VERSION_MINOR
找到的 Lua 次版本。
LUA_VERSION_PATCH
找到的 Lua 补丁版本。
LUA_LIBRARIES
使用 Lua 需要链接的库。此列表包括
lua
和lualib
库。
缓存变量¶
以下缓存变量也可以设置
LUA_INCLUDE_DIR
包含 Lua 头文件的目录,例如
lua.h
、lualib.h
和lauxlib.h
,使用 Lua 需要这些文件。
示例¶
查找 Lua 库并创建封装其使用要求的接口导入目标,以便链接到项目目标
find_package(Lua)
if(Lua_FOUND AND NOT TARGET Lua::Lua)
add_library(Lua::Lua INTERFACE IMPORTED)
set_target_properties(
Lua::Lua
PROPERTIES
INTERFACE_INCLUDE_DIRECTORIES "${LUA_INCLUDE_DIR}"
INTERFACE_LINK_LIBRARIES "${LUA_LIBRARIES}"
)
endif()
target_link_libraries(project_target PRIVATE Lua::Lua)