summaryrefslogtreecommitdiff
path: root/CMake/Modules/FindLua.cmake
blob: 6a2f8e42c48e9f9f9290921ba34af333b763e676 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
# Find the Lua 5.1 includes and library
#
# LUA_INCLUDE_DIR - where to find lua.h
# LUA_LIBRARIES - List of fully qualified libraries to link against
# LUA_FOUND - Set to TRUE if found

IF(LUA_INCLUDE_DIR AND LUA_LIBRARIES)
    SET(LUA_FIND_QUIETLY TRUE)
ENDIF(LUA_INCLUDE_DIR AND LUA_LIBRARIES)

# for Windows we rely on the environement variables
# %INCLUDE% and %LIB%; FIND_LIBRARY checks %LIB%
# automatically on Windows
IF(WIN32)
    FIND_PATH(LUA_INCLUDE_DIR lua/lua.h
        $ENV{INCLUDE}
    )
    FIND_LIBRARY(LUA_LIBRARIES
        NAMES lua
    )
ELSE()
    FIND_PATH(LUA_INCLUDE_DIR lua.h )

    FIND_LIBRARY(LUA_LIBRARIES NAMES lua )
ENDIF()

IF(LUA_INCLUDE_DIR AND LUA_LIBRARIES)
   SET(LUA_FOUND TRUE)
   INCLUDE(CheckLibraryExists)
   CHECK_LIBRARY_EXISTS(${LUA_LIBRARIES} lua_close "" LUA_NEED_PREFIX)
ELSE(LUA_INCLUDE_DIR AND LUA_LIBRARIES)
   SET(LUA_FOUND FALSE)
ENDIF (LUA_INCLUDE_DIR AND LUA_LIBRARIES)

IF(LUA_FOUND)
  IF (NOT LUA_FIND_QUIETLY)
    MESSAGE(STATUS "Found Lua library: ${LUA_LIBRARIES}")
    MESSAGE(STATUS "Found Lua headers: ${LUA_INCLUDE_DIR}")
  ENDIF (NOT LUA_FIND_QUIETLY)
ELSE(LUA_FOUND)
  IF(LUA_FIND_REQUIRED)
    MESSAGE(FATAL_ERROR "Could NOT find Lua")
  ENDIF(LUA_FIND_REQUIRED)
ENDIF(LUA_FOUND)

MARK_AS_ADVANCED(LUA_INCLUDE_DIR LUA_LIBRARIES)