# Distributed under the OSI-approved BSD 3-Clause License. See accompanying
# file Copyright.txt or https://cmake.org/licensing for details.
#.rst:
# FindLua50
# ---------
#
#
#
# Locate Lua library This module defines
#
# ::
#
# LUA50_FOUND, if false, do not try to link to Lua
# LUA_LIBRARIES, both lua and lualib
# LUA_INCLUDE_DIR, where to find lua.h and lualib.h (and probably lauxlib.h)
#
#
#
# Note that the expected include convention is
#
# ::
#
# #include "lua.h"
#
# and not
#
# ::
#
# #include <lua/lua.h>
#
# This is because, the lua location is not standardized and may exist in
# locations other than lua/
find_path ( LUA_INCLUDE_DIR lua.h
H I N T S
E N V L U A _ D I R
P A T H _ S U F F I X E S i n c l u d e / l u a 5 0 i n c l u d e / l u a 5 . 0 i n c l u d e / l u a 5 i n c l u d e / l u a i n c l u d e
P A T H S
~ / L i b r a r y / F r a m e w o r k s
/ L i b r a r y / F r a m e w o r k s
/ s w # Fink
/ o p t / l o c a l # DarwinPorts
/ o p t / c s w # Blastwave
/ o p t
)
find_library ( LUA_LIBRARY_lua
N A M E S l u a 5 0 l u a 5 . 0 l u a - 5 . 0 l u a 5 l u a
H I N T S
E N V L U A _ D I R
P A T H _ S U F F I X E S l i b
P A T H S
~ / L i b r a r y / F r a m e w o r k s
/ L i b r a r y / F r a m e w o r k s
/ s w
/ o p t / l o c a l
/ o p t / c s w
/ o p t
)
# In an OS X framework, lualib is usually included as part of the framework
# (like GLU in OpenGL.framework)
if ( ${ LUA_LIBRARY_lua } MATCHES "framework" )
set ( LUA_LIBRARIES "${LUA_LIBRARY_lua}" CACHE STRING "Lua framework" )
else ( )
find_library ( LUA_LIBRARY_lualib
N A M E S l u a l i b 5 0 l u a l i b 5 . 0 l u a l i b 5 l u a l i b
H I N T S
E N V L U A L I B _ D I R
E N V L U A _ D I R
P A T H _ S U F F I X E S l i b
P A T H S
/ s w
/ o p t / l o c a l
/ o p t / c s w
/ o p t
)
if ( LUA_LIBRARY_lualib AND LUA_LIBRARY_lua )
# include the math library for Unix
if ( UNIX AND NOT APPLE )
find_library ( MATH_LIBRARY_FOR_LUA m )
set ( LUA_LIBRARIES "${LUA_LIBRARY_lualib};${LUA_LIBRARY_lua};${MATH_LIBRARY_FOR_LUA}" CACHE STRING "This is the concatentation of lua and lualib libraries" )
# For Windows and Mac, don't need to explicitly include the math library
else ( )
set ( LUA_LIBRARIES "${LUA_LIBRARY_lualib};${LUA_LIBRARY_lua}" CACHE STRING "This is the concatentation of lua and lualib libraries" )
endif ( )
endif ( )
endif ( )
include ( ${ CMAKE_CURRENT_LIST_DIR } /FindPackageHandleStandardArgs.cmake )
# handle the QUIETLY and REQUIRED arguments and set LUA_FOUND to TRUE if
# all listed variables are TRUE
FIND_PACKAGE_HANDLE_STANDARD_ARGS ( Lua50 DEFAULT_MSG LUA_LIBRARIES LUA_INCLUDE_DIR )
mark_as_advanced ( LUA_INCLUDE_DIR LUA_LIBRARIES )