FindLua¶
Finds the Lua library:
find_package(Lua [<version>] [...])
Lua is a embeddable scripting language.
Добавлено в версии 3.18: Support for Lua 5.4.
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/
.
Result Variables¶
This module defines the following variables:
Lua_FOUND
Добавлено в версии 3.3.
Boolean indicating whether (the requested version of) Lua was found.
Lua_VERSION
Добавлено в версии 4.2.
The version of Lua found.
Lua_VERSION_MAJOR
Добавлено в версии 4.2.
The major version of Lua found.
Lua_VERSION_MINOR
Добавлено в версии 4.2.
The minor version of Lua found.
Lua_VERSION_PATCH
Добавлено в версии 4.2.
The patch version of Lua found.
LUA_LIBRARIES
Libraries needed to link against to use Lua. This list includes both
lua
andlualib
libraries.
Cache Variables¶
The following cache variables may also be set:
LUA_INCLUDE_DIR
The directory containing the Lua header files, such as
lua.h
,lualib.h
, andlauxlib.h
, needed to use Lua.
Deprecated Variables¶
The following variables are provided for backward compatibility:
LUA_FOUND
Устарело, начиная с версии 4.2: Use
Lua_FOUND
, which has the same value.Boolean indicating whether (the requested version of) Lua was found.
LUA_VERSION_STRING
Устарело, начиная с версии 4.2: Superseded by the
Lua_VERSION
.The version of Lua found.
LUA_VERSION_MAJOR
Устарело, начиная с версии 4.2: Superseded by the
Lua_VERSION_MAJOR
.The major version of Lua found.
LUA_VERSION_MINOR
Устарело, начиная с версии 4.2: Superseded by the
Lua_VERSION_MINOR
.The minor version of Lua found.
LUA_VERSION_PATCH
Устарело, начиная с версии 4.2: Superseded by the
Lua_VERSION_PATCH
.The patch version of Lua found.
Examples¶
Finding the Lua library and creating an interface imported target that encapsulates its usage requirements for linking to a project target:
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)