cmake: Silence warnings. (#9750)
[oweals/minetest.git] / cmake / Modules / FindLuaJIT.cmake
1 # Locate LuaJIT library
2 # This module defines
3 #  LUAJIT_FOUND, if false, do not try to link to Lua
4 #  LUA_INCLUDE_DIR, where to find lua.h
5 #  LUA_VERSION_STRING, the version of Lua found (since CMake 2.8.8)
6 #
7 # This module is similar to FindLua51.cmake except that it finds LuaJit instead.
8
9 FIND_PATH(LUA_INCLUDE_DIR luajit.h
10         HINTS
11         $ENV{LUA_DIR}
12         PATH_SUFFIXES include/luajit-2.1 include/luajit-2.0 include/luajit-5_1-2.1 include/luajit-5_1-2.0 include luajit
13         PATHS
14         ~/Library/Frameworks
15         /Library/Frameworks
16         /sw # Fink
17         /opt/local # DarwinPorts
18         /opt/csw # Blastwave
19         /opt
20 )
21
22 # Test if running on vcpkg toolchain
23 if(DEFINED VCPKG_TARGET_TRIPLET AND DEFINED VCPKG_APPLOCAL_DEPS)
24         # On vcpkg luajit is 'lua51' and normal lua is 'lua'
25         FIND_LIBRARY(LUA_LIBRARY
26                 NAMES lua51
27                 HINTS
28                 $ENV{LUA_DIR}
29                 PATH_SUFFIXES lib
30         )
31 else()
32         FIND_LIBRARY(LUA_LIBRARY
33                 NAMES luajit-5.1
34                 HINTS
35                 $ENV{LUA_DIR}
36                 PATH_SUFFIXES lib64 lib
37                 PATHS
38                 ~/Library/Frameworks
39                 /Library/Frameworks
40                 /sw
41                 /opt/local
42                 /opt/csw
43                 /opt
44         )
45 endif()
46
47
48 IF(LUA_INCLUDE_DIR AND EXISTS "${LUA_INCLUDE_DIR}/luajit.h")
49         FILE(STRINGS "${LUA_INCLUDE_DIR}/luajit.h" lua_version_str REGEX "^#define[ \t]+LUA_RELEASE[ \t]+\"LuaJIT .+\"")
50
51         STRING(REGEX REPLACE "^#define[ \t]+LUA_RELEASE[ \t]+\"LuaJIT ([^\"]+)\".*" "\\1" LUA_VERSION_STRING "${lua_version_str}")
52         UNSET(lua_version_str)
53 ENDIF()
54
55 INCLUDE(FindPackageHandleStandardArgs)
56 # handle the QUIETLY and REQUIRED arguments and set LUAJIT_FOUND to TRUE if
57 # all listed variables are TRUE
58 FIND_PACKAGE_HANDLE_STANDARD_ARGS(LuaJIT
59         REQUIRED_VARS LUA_LIBRARY LUA_INCLUDE_DIR
60         VERSION_VAR LUA_VERSION_STRING)
61
62 MARK_AS_ADVANCED(LUA_INCLUDE_DIR LUA_LIBRARY LUA_MATH_LIBRARY)