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 9FIND_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 23if(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 ) 31else() 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 ) 45endif() 46 47 48IF(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) 53ENDIF() 54 55INCLUDE(FindPackageHandleStandardArgs) 56# handle the QUIETLY and REQUIRED arguments and set LUAJIT_FOUND to TRUE if 57# all listed variables are TRUE 58FIND_PACKAGE_HANDLE_STANDARD_ARGS(LuaJIT 59 REQUIRED_VARS LUA_LIBRARY LUA_INCLUDE_DIR 60 VERSION_VAR LUA_VERSION_STRING) 61 62MARK_AS_ADVANCED(LUA_INCLUDE_DIR LUA_LIBRARY LUA_MATH_LIBRARY) 63