FindLua51

備註

This module is intended specifically for Lua version branch 5.1, which is obsolete and not maintained anymore. In new code use the latest supported Lua version and the version-agnostic module FindLua instead.

Finds the Lua library:

find_package(Lua51 [<version>] [...])

Lua is a embeddable scripting language.

When working with Lua, its library headers are intended to be included in project source code as:

#include <lua.h>

and not:

#include <lua/lua.h>

This is because, the location of Lua headers may differ across platforms and may exist in locations other than lua/.

結果變數

該模組定義了以下變數:

Lua51_FOUND

在 3.3 版被加入.

Boolean indicating whether (the requested version of) Lua was found.

Lua51_VERSION

在 4.2 版被加入.

The version of Lua 5.1 found.

快取變數

The following cache variables may also be set:

LUA_INCLUDE_DIR

The directory containing the Lua header files, such as lua.h, lualib.h, and lauxlib.h, needed to use Lua.

LUA_LIBRARIES

Libraries needed to link against to use Lua.

已棄用的變數

The following variables are provided for backward compatibility:

LUA51_FOUND

在 4.2 版之後被棄用: Use Lua51_FOUND, which has the same value.

Boolean indicating whether (the requested version of) Lua was found.

LUA_VERSION_STRING

在 4.2 版之後被棄用: Use Lua51_VERSION, which has the same value.

The version of Lua 5.1 found.

範例

Finding the Lua 5.1 library and creating an interface imported target that encapsulates its usage requirements for linking to a project target:

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)

另請參見

  • The FindLua module to find Lua in version-agnostic way.