FindLua51

注意

此模块专门用于 Lua 5.1 版本分支,该版本已过时且不再维护。在新代码中,请使用最新支持的 Lua 版本以及与版本无关的模块 FindLua

查找 Lua 库。Lua 是一种可嵌入的脚本语言。

使用 Lua 时,其库头文件应包含在项目源代码中,如下所示:

#include <lua.h>

而不是

#include <lua/lua.h>

这是因为 Lua 头文件的位置可能因平台而异,并且可能存在于 lua/ 以外的位置。

结果变量

此模块定义了以下变量

Lua51_FOUND

一个布尔值,指示是否找到 Lua。为了向后兼容,LUA51_FOUND 变量也将设置为相同的值。

LUA_VERSION_STRING

找到的 Lua 版本。

缓存变量

以下缓存变量也可以设置

LUA_INCLUDE_DIR

包含 Lua 头文件(例如 lua.hlualib.hlauxlib.h)的目录,这些头文件是使用 Lua 所必需的。

LUA_LIBRARIES

链接使用 Lua 所需的库。

示例

查找 Lua 5.1 库并创建一个接口 导入的目标,该目标封装了将其链接到项目目标的使用要求

find_package(Lua51)

if(Lua51_FOUND AND NOT TARGET Lua51::Lua51)
  add_library(Lua51::Lua51 INTERFACE IMPORTED)
  set_target_properties(
    Lua51::Lua51
    PROPERTIES
      INTERFACE_INCLUDE_DIRECTORIES "${LUA_INCLUDE_DIR}"
      INTERFACE_LINK_LIBRARIES "${LUA_LIBRARIES}"
  )
endif()

target_link_libraries(project_target PRIVATE Lua51::Lua51)

另请参阅

  • 用于以版本无关的方式查找 Lua 的 FindLua 模块。