Welcome to mirror list, hosted at ThFree Co, Russian Federation.

FindLua.cmake « cmake - github.com/torch/qtlua.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 875a4ec4be46a6675c9e09ea67c9896a38e39f61 (plain)
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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
# - Find lua
# this module looks for Lua
#
#  LUA_EXECUTABLE - the full path to lua
#  LUA_LIBRARIES - the lua shared library
#  LUA_INCLUDE_DIR - directory for lua includes
#  LUA_PACKAGE_PATH - where Lua searches for Lua packages
#  LUA_PACKAGE_CPATH - where Lua searches for library packages
#  LUA_FOUND      - If false, don't attempt to use lua.

INCLUDE(CheckLibraryExists)

IF(LUA) # if we are using luarocks
  MESSAGE(STATUS "Lua: using information from luarocks")
  SET(LUA_EXECUTABLE "${LUA}")
  SET(LUA_INCLUDE_DIR "${LUA_INCDIR}")
  SET(LUA_PACKAGE_PATH "${LUADIR}")
  SET(LUA_PACKAGE_CPATH "${LIBDIR}")

  IF(LUALIB) # present on windows platforms only
    SET(LUA_LIBRARIES "${LUALIB}")
  ELSE() # too bad, luarocks does not provide it (pfff...)
    GET_FILENAME_COMPONENT(LUA_EXEC_NAME ${LUA_EXECUTABLE} NAME_WE)
    IF(LUA_EXEC_NAME STREQUAL "luajit")
    FIND_LIBRARY(LUA_LIBRARIES
      NAMES luajit libluajit
      PATHS ${LUA_LIBDIR}
      NO_DEFAULT_PATH)
    ELSEIF(LUA_EXEC_NAME STREQUAL "lua")
      FIND_LIBRARY(LUA_LIBRARIES
        NAMES lua liblua
        PATHS ${LUA_LIBDIR}
        NO_DEFAULT_PATH)
    ELSE()
      MESSAGE(FATAL_ERROR "You seem to have a non-standard lua installation -- are you using luajit-rocks?")
    ENDIF()
    MESSAGE(STATUS "Lua library guess (no info from luarocks): ${LUA_LIBRARIES}")
  ENDIF()

ELSE() # standalone -- not using luarocks

  IF(WITH_LUA51)
    FIND_PROGRAM(LUA_EXECUTABLE
      NAMES
      lua51
      lua5.1
      lua
      PATH)
  ELSE()
    FIND_PROGRAM(LUA_EXECUTABLE
      NAMES
      luajit
      PATH)
  ENDIF()
  MESSAGE(STATUS "Lua executable: ${LUA_EXECUTABLE}")

  IF(LUA_EXECUTABLE)
    GET_FILENAME_COMPONENT(LUA_DIR ${LUA_EXECUTABLE} PATH)
  ENDIF(LUA_EXECUTABLE)

  IF(WITH_LUA51)
    FIND_LIBRARY(LUA_LIBRARIES
      NAMES lua liblua lua-5.1 liblua-5.1 libluajit-5.1
      PATHS ${LUA_DIR}/../lib
      ${LUA_DIR}
      NO_DEFAULT_PATH)
  ELSE()
    FIND_LIBRARY(LUA_LIBRARIES
      NAMES luajit libluajit luajit-5.1 libluajit-5.1
      PATHS ${LUA_DIR}/../lib
      ${LUA_DIR}
      NO_DEFAULT_PATH)
  ENDIF()
  MESSAGE(STATUS "Lua library: ${LUA_LIBRARIES}")

  FIND_PATH(LUA_INCLUDE_DIR lua.h
    ${LUA_DIR}/../include/lua-5.1
    ${LUA_DIR}/../include/lua51
    ${LUA_DIR}/../include/lua
    ${LUA_DIR}/../include
    NO_DEFAULT_PATH)

  MESSAGE(STATUS "Lua include directory: ${LUA_INCLUDE_DIR}")

ENDIF()

IF(LUA_LIBRARIES)
  CHECK_LIBRARY_EXISTS(${LUA_LIBRARIES} luaJIT_setmode "" LUA_JIT)
ENDIF()

MARK_AS_ADVANCED(
  LUA_EXECUTABLE
  LUA_LIBRARIES
  LUA_INCLUDE_DIR
  LUA_PACKAGE_PATH
  LUA_PACKAGE_CPATH
  )

IF(LUA_EXECUTABLE)
  IF(LUA_LIBRARIES)
    IF(LUA_INCLUDE_DIR)
      SET(LUA_FOUND 1)
    ENDIF(LUA_INCLUDE_DIR)
  ENDIF(LUA_LIBRARIES)
ENDIF(LUA_EXECUTABLE)

IF (NOT LUA_FOUND AND Lua_FIND_REQUIRED)
  MESSAGE(FATAL_ERROR "Could not find Lua")
ENDIF (NOT LUA_FOUND AND Lua_FIND_REQUIRED)

IF(NOT Lua_FIND_QUIETLY)
  IF(LUA_FOUND)
    MESSAGE(STATUS "Lua found ${LUA_EXECUTABLE}")
  ELSE(LUA_FOUND)
    MESSAGE(STATUS "Lua not found. Please specify location")
  ENDIF(LUA_FOUND)
ENDIF(NOT Lua_FIND_QUIETLY)