mirror of
https://github.com/rspamd/rspamd.git
synced 2024-08-28 17:54:37 +02:00
114 lines
5.1 KiB
CMake
114 lines
5.1 KiB
CMake
# Find lua installation
|
|
MACRO(FindLua)
|
|
# Find lua libraries
|
|
UNSET(LUA_INCLUDE_DIR CACHE)
|
|
UNSET(LUA_LIBRARY CACHE)
|
|
CMAKE_PARSE_ARGUMENTS(LUA "" "VERSION_MAJOR;VERSION_MINOR;ROOT" "" ${ARGN})
|
|
|
|
IF(NOT LUA_VERSION_MAJOR OR NOT LUA_VERSION_MINOR)
|
|
MESSAGE(FATAL_ERROR "Invalid FindLua invocation: ${ARGN}")
|
|
ENDIF()
|
|
|
|
IF(ENABLE_LUAJIT MATCHES "ON")
|
|
MESSAGE(STATUS "Check for luajit ${LUA_VERSION_MAJOR}.${LUA_VERSION_MINOR}")
|
|
FIND_PATH(LUA_INCLUDE_DIR luajit.h
|
|
HINTS
|
|
"${RSPAMD_SEARCH_PATH}" "${LUA_ROOT}"
|
|
$ENV{LUA_DIR}
|
|
PATH_SUFFIXES "include/luajit-2.0"
|
|
"include/luajit-2.1"
|
|
"include/luajit${LUA_VERSION_MAJOR}${LUA_VERSION_MINOR}"
|
|
"include/luajit${LUA_VERSION_MAJOR}.${LUA_VERSION_MINOR}"
|
|
"include/luajit-${LUA_VERSION_MAJOR}.${LUA_VERSION_MINOR}"
|
|
"include/luajit-${LUA_VERSION_MAJOR}_${LUA_VERSION_MINOR}-2.0"
|
|
"include/luajit-${LUA_VERSION_MAJOR}_${LUA_VERSION_MINOR}-2.1"
|
|
"include/luajit"
|
|
"include/lua${LUA_VERSION_MAJOR}${LUA_VERSION_MINOR}"
|
|
"include/lua${LUA_VERSION_MAJOR}.${LUA_VERSION_MINOR}"
|
|
"include/lua-${LUA_VERSION_MAJOR}.${LUA_VERSION_MINOR}"
|
|
include/lua include
|
|
PATHS ${RSPAMD_DEFAULT_INCLUDE_PATHS}
|
|
)
|
|
FIND_LIBRARY(LUA_LIBRARY
|
|
NAMES luajit
|
|
"luajit-2.0"
|
|
"luajit2.0"
|
|
"luajit${LUA_VERSION_MAJOR}${LUA_VERSION_MINOR}"
|
|
"luajit${LUA_VERSION_MAJOR}.${LUA_VERSION_MINOR}"
|
|
"luajit-${LUA_VERSION_MAJOR}.${LUA_VERSION_MINOR}"
|
|
HINTS
|
|
"${RSPAMD_SEARCH_PATH}" "${LUA_ROOT}"
|
|
$ENV{LUA_DIR}
|
|
PATH_SUFFIXES lib64 lib
|
|
PATHS ${RSPAMD_DEFAULT_LIBRARY_PATHS}
|
|
DOC "Lua library"
|
|
)
|
|
|
|
IF(NOT LUA_LIBRARY OR NOT LUA_INCLUDE_DIR)
|
|
MESSAGE(STATUS "Fallback from luajit to plain lua")
|
|
SET(ENABLE_LUAJIT "OFF")
|
|
MESSAGE(STATUS "Check for lua ${LUA_VERSION_MAJOR}.${LUA_VERSION_MINOR}")
|
|
FIND_PATH(LUA_INCLUDE_DIR lua.h
|
|
HINTS
|
|
"${RSPAMD_SEARCH_PATH}" "${LUA_ROOT}"
|
|
$ENV{LUA_DIR}
|
|
PATH_SUFFIXES "include/lua${LUA_VERSION_MAJOR}${LUA_VERSION_MINOR}"
|
|
"include/lua${LUA_VERSION_MAJOR}.${LUA_VERSION_MINOR}"
|
|
"include/lua-${LUA_VERSION_MAJOR}.${LUA_VERSION_MINOR}"
|
|
include/lua include
|
|
PATHS ${RSPAMD_DEFAULT_INCLUDE_PATHS}
|
|
)
|
|
FIND_LIBRARY(LUA_LIBRARY
|
|
NAMES lua
|
|
"lua${LUA_VERSION_MAJOR}${LUA_VERSION_MINOR}"
|
|
"lua${LUA_VERSION_MAJOR}.${LUA_VERSION_MINOR}"
|
|
"lua-${LUA_VERSION_MAJOR}.${LUA_VERSION_MINOR}"
|
|
HINTS
|
|
"${RSPAMD_SEARCH_PATH}" "${LUA_ROOT}"
|
|
$ENV{LUA_DIR}
|
|
PATH_SUFFIXES lib64 lib
|
|
PATHS ${RSPAMD_DEFAULT_LIBRARY_PATHS}
|
|
DOC "Lua library"
|
|
)
|
|
ELSE()
|
|
SET(WITH_LUAJIT 1)
|
|
ENDIF()
|
|
ELSE(ENABLE_LUAJIT MATCHES "ON")
|
|
MESSAGE(STATUS "Check for lua ${LUA_VERSION_MAJOR}.${LUA_VERSION_MINOR}")
|
|
FIND_PATH(LUA_INCLUDE_DIR lua.h
|
|
HINTS
|
|
"${RSPAMD_SEARCH_PATH}" "${LUA_ROOT}"
|
|
$ENV{LUA_DIR}
|
|
PATH_SUFFIXES "include/lua${LUA_VERSION_MAJOR}${LUA_VERSION_MINOR}"
|
|
"include/lua${LUA_VERSION_MAJOR}.${LUA_VERSION_MINOR}"
|
|
"include/lua-${LUA_VERSION_MAJOR}.${LUA_VERSION_MINOR}"
|
|
include/lua include
|
|
PATHS ${RSPAMD_DEFAULT_INCLUDE_PATHS}
|
|
)
|
|
FIND_LIBRARY(LUA_LIBRARY
|
|
NAMES lua
|
|
"lua${LUA_VERSION_MAJOR}${LUA_VERSION_MINOR}"
|
|
"lua${LUA_VERSION_MAJOR}.${LUA_VERSION_MINOR}"
|
|
"lua-${LUA_VERSION_MAJOR}.${LUA_VERSION_MINOR}"
|
|
HINTS
|
|
"${RSPAMD_SEARCH_PATH}" "${LUA_ROOT}"
|
|
$ENV{LUA_DIR}
|
|
PATH_SUFFIXES lib64 lib
|
|
PATHS ${RSPAMD_DEFAULT_LIBRARY_PATHS}
|
|
DOC "Lua library"
|
|
)
|
|
ENDIF(ENABLE_LUAJIT MATCHES "ON")
|
|
|
|
IF(LUA_LIBRARY AND LUA_INCLUDE_DIR)
|
|
SET(LUA_FOUND 1)
|
|
IF(NOT LUA_VERSION_MAJOR OR NOT LUA_VERSION_MINOR)
|
|
SET(LUA_VERSION_MAJOR ${LUA_VERSION_MAJOR})
|
|
SET(LUA_VERSION_MINOR ${LUA_VERSION_MINOR})
|
|
ENDIF(NOT LUA_VERSION_MAJOR OR NOT LUA_VERSION_MINOR)
|
|
IF(ENABLE_LUAJIT MATCHES "ON")
|
|
MESSAGE(STATUS "Found luajit ${LUA_VERSION_MAJOR}.${LUA_VERSION_MINOR} in lib:${LUA_LIBRARY}, headers:${LUA_INCLUDE_DIR}")
|
|
ELSE(ENABLE_LUAJIT MATCHES "ON")
|
|
MESSAGE(STATUS "Found lua ${LUA_VERSION_MAJOR}.${LUA_VERSION_MINOR} in lib:${LUA_LIBRARY}, headers:${LUA_INCLUDE_DIR}")
|
|
ENDIF(ENABLE_LUAJIT MATCHES "ON")
|
|
ENDIF(LUA_LIBRARY AND LUA_INCLUDE_DIR)
|
|
ENDMACRO() |