#[=======================================================================[.rst:
LuaInstallDirs
--------------
Define Lua modules installation directories based on GNU standard installation
directories.
Result variables
^^^^^^^^^^^^^^^^
Similarly to GNUInstallDirs this modules defines ``CMAKE_INSTALL_
`` and ``CMAKE_INSTALL_FULL_``. Refer to
GNUInstallDirs for detailed explanation. Here, ```` is one of:
``LUA_CMOD``
C-modules for use in Lua
``LUA_LMOD``
Pure Lua modules
#]=======================================================================]
cmake_policy(PUSH)
cmake_policy(VERSION 3.20) # 3rd argument in GNUInstallDirs_get_absolute_install_dir
set(LUA_VERSION "5.4" CACHE STRING "Lua version in major.minor format") # MAYBE: Cooperate with FindLua
include(GNUInstallDirs) # MAYBE: Consider GNUInstallDirs as optional
set(
CMAKE_INSTALL_LUA_CMOD "${CMAKE_INSTALL_LIBDIR}/lua/${LUA_VERSION}" CACHE FILEPATH
"Path to install Lua C-modules to")
set(
CMAKE_INSTALL_LUA_LMOD "${CMAKE_INSTALL_DATADIR}/lua/${LUA_VERSION}" CACHE FILEPATH
"Path to install pure Lua modules to")
mark_as_advanced(
CMAKE_INSTALL_LUA_CMOD
CMAKE_INSTALL_LUA_LMOD)
GNUInstallDirs_get_absolute_install_dir(CMAKE_INSTALL_FULL_LUA_CMOD CMAKE_INSTALL_LUA_CMOD LIBDIR)
GNUInstallDirs_get_absolute_install_dir(CMAKE_INSTALL_FULL_LUA_LMOD CMAKE_INSTALL_LUA_LMOD DATADIR)
cmake_policy(POP)