]> git.ipfire.org Git - thirdparty/rspamd.git/commitdiff
Try to rework FindLua macro.
authorVsevolod Stakhov <vsevolod@highsecure.ru>
Tue, 7 Jul 2015 15:45:58 +0000 (16:45 +0100)
committerVsevolod Stakhov <vsevolod@highsecure.ru>
Tue, 7 Jul 2015 15:45:58 +0000 (16:45 +0100)
CMakeLists.txt

index 5271f1fcf6fbc7e0914badb1ab1c820cbaf469ab..4ac511a3d55406b9f15fc8efe5b112570842e416 100644 (file)
@@ -121,105 +121,111 @@ INCLUDE(FindPkgConfig)
 INCLUDE(CheckCCompilerFlag)
 INCLUDE(FindPerl)
 INCLUDE(FindOpenSSL)
+INCLUDE(CMakeParseArguments)
 
 ############################# MACRO SECTION #############################################
 
 # Find lua installation
-MACRO(FindLua _major _minor)
+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 ${_major}.${_minor}")
+               MESSAGE(STATUS "Check for luajit ${LUA_VERSION_MAJOR}.${LUA_VERSION_MINOR}")
                FIND_PATH(LUA_INCLUDE_DIR lua.h
                  HINTS
-                 "${RSPAMD_SEARCH_PATH}"
+                 "${RSPAMD_SEARCH_PATH}" "${LUA_ROOT}"
                  $ENV{LUA_DIR}
                  PATH_SUFFIXES "include/luajit-2.0" 
-                                               "include/luajit${_major}${_minor}" 
-                                               "include/luajit${_major}.${_minor}" 
-                                               "include/luajit-${_major}.${_minor}"
-                                               "include/luajit" 
-                                               "include/lua${_major}${_minor}" 
-                                               "include/lua${_major}.${_minor}" 
-                                               "include/lua-${_major}.${_minor}"
-                                               include/lua include
+                                               "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" 
+                                               "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${_major}${_minor}"
-                               "luajit${_major}.${_minor}" 
-                               "luajit-${_major}.${_minor}"
+                       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}"
-                               $ENV{LUA_DIR}
-                       PATH_SUFFIXES lib64 lib
-                       PATHS ${RSPAMD_DEFAULT_LIBRARY_PATHS}
-                       DOC "Lua library"
+                               "${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 ${_major}.${_minor}")
+                       MESSAGE(STATUS "Check for lua ${LUA_VERSION_MAJOR}.${LUA_VERSION_MINOR}")
                        FIND_PATH(LUA_INCLUDE_DIR lua.h
                          HINTS
-                         "${RSPAMD_SEARCH_PATH}"
+                         "${RSPAMD_SEARCH_PATH}" "${LUA_ROOT}"
                          $ENV{LUA_DIR}
-                         PATH_SUFFIXES "include/lua${_major}${_minor}" 
-                                                       "include/lua${_major}.${_minor}" 
-                                                       "include/lua-${_major}.${_minor}"
-                                                       include/lua include
+                         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${_major}${_minor}"
-                                       "lua${_major}.${_minor}" 
-                                       "lua-${_major}.${_minor}"
+                               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}"
-                                       $ENV{LUA_DIR}
-                               PATH_SUFFIXES lib64 lib
-                               PATHS ${RSPAMD_DEFAULT_LIBRARY_PATHS}
-                               DOC "Lua library"
+                                       "${RSPAMD_SEARCH_PATH}" "${LUA_ROOT}"
+                                       $ENV{LUA_DIR}
+                               PATH_SUFFIXES lib64 lib
+                               PATHS ${RSPAMD_DEFAULT_LIBRARY_PATHS}
+                               DOC "Lua library"
                        )
                ENDIF()
        ELSE(ENABLE_LUAJIT MATCHES "ON")
-               MESSAGE(STATUS "Check for lua ${_major}.${_minor}")
+               MESSAGE(STATUS "Check for lua ${LUA_VERSION_MAJOR}.${LUA_VERSION_MINOR}")
                FIND_PATH(LUA_INCLUDE_DIR lua.h
                  HINTS
-                 "${RSPAMD_SEARCH_PATH}"
+                 "${RSPAMD_SEARCH_PATH}" "${LUA_ROOT}"
                  $ENV{LUA_DIR}
-                 PATH_SUFFIXES "include/lua${_major}${_minor}" 
-                                               "include/lua${_major}.${_minor}" 
-                                               "include/lua-${_major}.${_minor}"
-                                               include/lua include
+                 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${_major}${_minor}"
-                               "lua${_major}.${_minor}" 
-                               "lua-${_major}.${_minor}"
+                       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}"
-                               $ENV{LUA_DIR}
-                       PATH_SUFFIXES lib64 lib
-                       PATHS ${RSPAMD_DEFAULT_LIBRARY_PATHS}
-                       DOC "Lua library"
+                               "${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 ${_major})
-                       SET(LUA_VERSION_MINOR ${_minor})
+                       SET(CACHE LUA_VERSION_MAJOR ${LUA_VERSION_MAJOR})
+                       SET(CACHE 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}")
@@ -227,31 +233,31 @@ MACRO(FindLua _major _minor)
                        MESSAGE(STATUS "Found lua ${LUA_VERSION_MAJOR}.${LUA_VERSION_MINOR}")
                ENDIF(ENABLE_LUAJIT MATCHES "ON")
        ENDIF(LUA_LIBRARY AND LUA_INCLUDE_DIR)
-ENDMACRO(FindLua _major _minor)
+ENDMACRO()
 
 FUNCTION(INSTALL_IF_NOT_EXISTS src dest destname suffix)
   IF(NOT IS_ABSOLUTE "${src}")
-    SET(src "${CMAKE_CURRENT_SOURCE_DIR}/${src}")
+       SET(src "${CMAKE_CURRENT_SOURCE_DIR}/${src}")
   ENDIF()
   GET_FILENAME_COMPONENT(src_name "${src}" NAME)
   GET_FILENAME_COMPONENT(dest_name "${destname}" NAME)
   IF(NOT IS_ABSOLUTE "${dest}")
-    SET(dest "${CMAKE_INSTALL_PREFIX}/${dest}")
+       SET(dest "${CMAKE_INSTALL_PREFIX}/${dest}")
   ENDIF()
   INSTALL(CODE "
-    IF(NOT EXISTS \"\$ENV{DESTDIR}${dest}/${dest_name}${suffix}\")
-      #FILE(INSTALL \"${src}\" DESTINATION \"${dest}\")
-      MESSAGE(STATUS \"Installing: \$ENV{DESTDIR}${dest}/${dest_name}${suffix}\")
-      EXECUTE_PROCESS(COMMAND \${CMAKE_COMMAND} -E copy \"${src}\"
-                      \"\$ENV{DESTDIR}${dest}/${dest_name}${suffix}\"
-                      RESULT_VARIABLE copy_result
-                      ERROR_VARIABLE error_output)
-      IF(copy_result)
-        MESSAGE(FATAL_ERROR \${error_output})
-      ENDIF()
-    ELSE()
-      MESSAGE(STATUS \"Skipping  : \$ENV{DESTDIR}${dest}/${dest_name}${suffix}\")
-    ENDIF()
+       IF(NOT EXISTS \"\$ENV{DESTDIR}${dest}/${dest_name}${suffix}\")
+         #FILE(INSTALL \"${src}\" DESTINATION \"${dest}\")
+         MESSAGE(STATUS \"Installing: \$ENV{DESTDIR}${dest}/${dest_name}${suffix}\")
+         EXECUTE_PROCESS(COMMAND \${CMAKE_COMMAND} -E copy \"${src}\"
+                                         \"\$ENV{DESTDIR}${dest}/${dest_name}${suffix}\"
+                                         RESULT_VARIABLE copy_result
+                                         ERROR_VARIABLE error_output)
+         IF(copy_result)
+               MESSAGE(FATAL_ERROR \${error_output})
+         ENDIF()
+       ELSE()
+         MESSAGE(STATUS \"Skipping  : \$ENV{DESTDIR}${dest}/${dest_name}${suffix}\")
+       ENDIF()
   ")
 ENDFUNCTION(INSTALL_IF_NOT_EXISTS)
 
@@ -259,32 +265,32 @@ ENDFUNCTION(INSTALL_IF_NOT_EXISTS)
 # setting list of required libraries
 MACRO(ProcessPackage var _name0)
        IF(NOT RSPAMD_SEARCH_PATH)
-           PKG_SEARCH_MODULE(${var} "${_name0}" ${ARGN})
-           IF(${var}_FOUND)
-               SET(WITH_${var} 1)
-               IF(ENABLE_STATIC MATCHES "ON")
-                   SET(_XPREFIX "${var}_STATIC")
-               ELSE(ENABLE_STATIC MATCHES "ON")
-                   SET(_XPREFIX "${var}")
-               ENDIF(ENABLE_STATIC MATCHES "ON")
-               FOREACH(_arg ${${_XPREFIX}_INCLUDE_DIRS})
-                   INCLUDE_DIRECTORIES("${_arg}")
-                   SET(${var}_INCLUDE "${_arg}")
-               ENDFOREACH(_arg ${${_XPREFIX}_INCLUDE_DIRS})
-               FOREACH(_arg ${${_XPREFIX}_LIBRARY_DIRS})
-                   LINK_DIRECTORIES("${_arg}")
-                   SET(${var}_LIBRARY "${_arg}")
-               ENDFOREACH(_arg ${${_XPREFIX}_LIBRARY_DIRS})
-               # Handle other CFLAGS and LDFLAGS
-               FOREACH(_arg ${${_XPREFIX}_CFLAGS_OTHER})
-                   SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${_arg}")
-               ENDFOREACH(_arg ${${_XPREFIX}_CFLAGS_OTHER})
-               FOREACH(_arg ${${_XPREFIX}_LDFLAGS_OTHER})
-                   SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${_arg}")
-               ENDFOREACH(_arg ${${_XPREFIX}_LDFLAGS_OTHER})
-               LIST(APPEND RSPAMD_REQUIRED_LIBRARIES "${${_XPREFIX}_LIBRARIES}")
-           ELSE(${var}_FOUND)
-                       # Try some more heuristic
+               PKG_SEARCH_MODULE(${var} "${_name0}" ${ARGN})
+               IF(${var}_FOUND)
+                       SET(WITH_${var} 1)
+                       IF(ENABLE_STATIC MATCHES "ON")
+                               SET(_XPREFIX "${var}_STATIC")
+                       ELSE(ENABLE_STATIC MATCHES "ON")
+                               SET(_XPREFIX "${var}")
+                       ENDIF(ENABLE_STATIC MATCHES "ON")
+                       FOREACH(_arg ${${_XPREFIX}_INCLUDE_DIRS})
+                               INCLUDE_DIRECTORIES("${_arg}")
+                               SET(${var}_INCLUDE "${_arg}")
+                       ENDFOREACH(_arg ${${_XPREFIX}_INCLUDE_DIRS})
+                       FOREACH(_arg ${${_XPREFIX}_LIBRARY_DIRS})
+                               LINK_DIRECTORIES("${_arg}")
+                               SET(${var}_LIBRARY "${_arg}")
+                       ENDFOREACH(_arg ${${_XPREFIX}_LIBRARY_DIRS})
+                       # Handle other CFLAGS and LDFLAGS
+                       FOREACH(_arg ${${_XPREFIX}_CFLAGS_OTHER})
+                               SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${_arg}")
+                       ENDFOREACH(_arg ${${_XPREFIX}_CFLAGS_OTHER})
+                       FOREACH(_arg ${${_XPREFIX}_LDFLAGS_OTHER})
+                               SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${_arg}")
+                       ENDFOREACH(_arg ${${_XPREFIX}_LDFLAGS_OTHER})
+                       LIST(APPEND RSPAMD_REQUIRED_LIBRARIES "${${_XPREFIX}_LIBRARIES}")
+               ELSE(${var}_FOUND)
+                       # Try some more heuristic
                        FIND_LIBRARY(_lib NAMES "${_name0}" ${ARGN}
                                                HINTS
                                                "${RSPAMD_SEARCH_PATH}"
@@ -311,7 +317,7 @@ MACRO(ProcessPackage var _name0)
                        MESSAGE(STATUS "Found ${_name0} ${ARGN} in '${_lib_path}' (library) and '${_incl}' (include).")
                ENDIF(${var}_FOUND)
        ELSE(NOT RSPAMD_SEARCH_PATH)
-               # Try heuristic first
+               # Try heuristic first
                FIND_LIBRARY(_lib NAMES "${_name0}" ${ARGN}
                                        HINTS
                                        "${RSPAMD_SEARCH_PATH}"
@@ -335,29 +341,29 @@ MACRO(ProcessPackage var _name0)
                
                IF(NOT _incl OR NOT _lib)
                        PKG_SEARCH_MODULE(${var} "${_name0}" ${ARGN})
-                   IF(${var}_FOUND)
-                       SET(WITH_${var} 1)
-                       IF(ENABLE_STATIC MATCHES "ON")
-                           SET(_XPREFIX "${var}_STATIC")
-                       ELSE(ENABLE_STATIC MATCHES "ON")
-                           SET(_XPREFIX "${var}")
-                       ENDIF(ENABLE_STATIC MATCHES "ON")
-                       FOREACH(_arg ${${_XPREFIX}_INCLUDE_DIRS})
-                           INCLUDE_DIRECTORIES("${_arg}")
-                           SET(${var}_INCLUDE "${_arg}")
-                       ENDFOREACH(_arg ${${_XPREFIX}_INCLUDE_DIRS})
-                       FOREACH(_arg ${${_XPREFIX}_LIBRARY_DIRS})
-                           LINK_DIRECTORIES("${_arg}")
-                           SET(${var}_LIBRARY "${_arg}")
-                       ENDFOREACH(_arg ${${_XPREFIX}_LIBRARY_DIRS})
-                       # Handle other CFLAGS and LDFLAGS
-                       FOREACH(_arg ${${_XPREFIX}_CFLAGS_OTHER})
-                           SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${_arg}")
-                       ENDFOREACH(_arg ${${_XPREFIX}_CFLAGS_OTHER})
-                       FOREACH(_arg ${${_XPREFIX}_LDFLAGS_OTHER})
-                           SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${_arg}")
-                       ENDFOREACH(_arg ${${_XPREFIX}_LDFLAGS_OTHER})
-                       LIST(APPEND RSPAMD_REQUIRED_LIBRARIES "${${_XPREFIX}_LIBRARIES}")
+                       IF(${var}_FOUND)
+                               SET(WITH_${var} 1)
+                               IF(ENABLE_STATIC MATCHES "ON")
+                                       SET(_XPREFIX "${var}_STATIC")
+                               ELSE(ENABLE_STATIC MATCHES "ON")
+                                       SET(_XPREFIX "${var}")
+                               ENDIF(ENABLE_STATIC MATCHES "ON")
+                               FOREACH(_arg ${${_XPREFIX}_INCLUDE_DIRS})
+                                       INCLUDE_DIRECTORIES("${_arg}")
+                                       SET(${var}_INCLUDE "${_arg}")
+                               ENDFOREACH(_arg ${${_XPREFIX}_INCLUDE_DIRS})
+                               FOREACH(_arg ${${_XPREFIX}_LIBRARY_DIRS})
+                                       LINK_DIRECTORIES("${_arg}")
+                                       SET(${var}_LIBRARY "${_arg}")
+                               ENDFOREACH(_arg ${${_XPREFIX}_LIBRARY_DIRS})
+                               # Handle other CFLAGS and LDFLAGS
+                               FOREACH(_arg ${${_XPREFIX}_CFLAGS_OTHER})
+                                       SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${_arg}")
+                               ENDFOREACH(_arg ${${_XPREFIX}_CFLAGS_OTHER})
+                               FOREACH(_arg ${${_XPREFIX}_LDFLAGS_OTHER})
+                                       SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${_arg}")
+                               ENDFOREACH(_arg ${${_XPREFIX}_LDFLAGS_OTHER})
+                               LIST(APPEND RSPAMD_REQUIRED_LIBRARIES "${${_XPREFIX}_LIBRARIES}")
                        ELSE(${var}_FOUND)
                                MESSAGE(FATAL_ERROR "Packages ${_name0} ${ARGN} could not be found")
                        ENDIF(${var}_FOUND)
@@ -402,7 +408,7 @@ ENDMACRO()
 INCLUDE_DIRECTORIES(src/libutil src/libserver src/libmime src/libstat src/libcryptobox)
 
 IF(CMAKE_INSTALL_PREFIX)
-    SET(PREFIX ${CMAKE_INSTALL_PREFIX})
+       SET(PREFIX ${CMAKE_INSTALL_PREFIX})
 ENDIF(CMAKE_INSTALL_PREFIX)
 
 LIST(APPEND CMAKE_REQUIRED_LIBRARIES m)
@@ -437,8 +443,8 @@ IF(CMAKE_SYSTEM_NAME STREQUAL "FreeBSD")
        FIND_LIBRARY(LIBUTIL_LIBRARY NAMES util 
                                        HINTS "${RSPAMD_SEARCH_PATH}"
                                                PATH_SUFFIXES lib64 lib
-                         PATHS ${RSPAMD_DEFAULT_LIBRARY_PATHS}
-                        DOC "Path where the libutil library can be found")
+                                         PATHS ${RSPAMD_DEFAULT_LIBRARY_PATHS}
+                                        DOC "Path where the libutil library can be found")
        IF(LIBUTIL_LIBRARY)
                FIND_FILE(_LIBUTIL_H 
                                        HINTS "${RSPAMD_SEARCH_PATH}" 
@@ -458,7 +464,7 @@ ENDIF(CMAKE_SYSTEM_NAME STREQUAL "FreeBSD")
 
 IF(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
        SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D_BSD_SOURCE -DDARWIN")
-    SET(CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS "${CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS} -undefined dynamic_lookup")
+       SET(CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS "${CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS} -undefined dynamic_lookup")
        IF(ENABLE_LUAJIT MATCHES "ON")
                SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -pagezero_size 10000 -image_base 100000000")
        ENDIF(ENABLE_LUAJIT MATCHES "ON")
@@ -468,20 +474,20 @@ ENDIF(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
 
 IF(CMAKE_SYSTEM_NAME STREQUAL "Linux")
        SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D_GNU_SOURCE -DLINUX")
-    IF(BUILD_CPU_MODE STREQUAL "32")
-       SET(CMAKE_C_FLAGS  "-D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE ${CMAKE_C_FLAGS}")
-    ENDIF(BUILD_CPU_MODE STREQUAL "32")
-    # Workaround with architecture specific includes
-    IF(IS_DIRECTORY "/usr/include/${CMAKE_SYSTEM_PROCESSOR}-linux-gnu/") 
-       INCLUDE_DIRECTORIES("/usr/include/${CMAKE_SYSTEM_PROCESSOR}-linux-gnu/")
-       LIST(APPEND CMAKE_REQUIRED_INCLUDES "/usr/include/${CMAKE_SYSTEM_PROCESSOR}-linux-gnu/")
-    ENDIF(IS_DIRECTORY "/usr/include/${CMAKE_SYSTEM_PROCESSOR}-linux-gnu/")
-    
+       IF(BUILD_CPU_MODE STREQUAL "32")
+               SET(CMAKE_C_FLAGS  "-D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE ${CMAKE_C_FLAGS}")
+       ENDIF(BUILD_CPU_MODE STREQUAL "32")
+       # Workaround with architecture specific includes
+       IF(IS_DIRECTORY "/usr/include/${CMAKE_SYSTEM_PROCESSOR}-linux-gnu/") 
+               INCLUDE_DIRECTORIES("/usr/include/${CMAKE_SYSTEM_PROCESSOR}-linux-gnu/")
+               LIST(APPEND CMAKE_REQUIRED_INCLUDES "/usr/include/${CMAKE_SYSTEM_PROCESSOR}-linux-gnu/")
+       ENDIF(IS_DIRECTORY "/usr/include/${CMAKE_SYSTEM_PROCESSOR}-linux-gnu/")
+       
        LIST(APPEND CMAKE_REQUIRED_LIBRARIES rt)
        LIST(APPEND CMAKE_REQUIRED_LIBRARIES dl)
        #XXX: gio bug workaround
        IF(ENABLE_STATIC MATCHES "ON")
-           LIST(APPEND CMAKE_REQUIRED_LIBRARIES selinux)
+               LIST(APPEND CMAKE_REQUIRED_LIBRARIES selinux)
        ENDIF(ENABLE_STATIC MATCHES "ON")
        MESSAGE(STATUS "Configuring for Linux")
        IF(EXISTS "/etc/debian_version")
@@ -493,8 +499,8 @@ IF(CMAKE_SYSTEM_NAME STREQUAL "Linux")
 ENDIF(CMAKE_SYSTEM_NAME STREQUAL "Linux")
 
 IF(CMAKE_SYSTEM_NAME STREQUAL "SunOS")
-       IF(NOT BUILD_CPU_MODE)
-               SET (BUILD_CPU_MODE "32")
+       IF(NOT BUILD_CPU_MODE)
+               SET (BUILD_CPU_MODE "32")
        ENDIF(NOT BUILD_CPU_MODE)
        
        IF("${CMAKE_C_COMPILER_ID}" MATCHES SunPro)
@@ -511,31 +517,31 @@ IF(CMAKE_SYSTEM_NAME STREQUAL "SunOS")
                set(SUN_BUILD64 "-m64")         
        ENDIF("${CMAKE_C_COMPILER_ID}" MATCHES SunPro)
 
-       IF (BUILD_CPU_MODE STREQUAL "32")
-       message (STATUS "Building 32-bit mode on Solaris")
-       # If we are asked to build 32 bit mode
-               set(CMAKE_C_FLAGS  "${SUN_BUILD32} ${CMAKE_C_FLAGS}")
-               set(CMAKE_SHARED_LINKER_FLAGS  "${CMAKE_SHARED_LINKER_FLAGS} ${SUN_BUILD32}")
-       ELSE (BUILD_CPU_MODE STREQUAL "32")
-       # solaris 64-bit mode
+       IF (BUILD_CPU_MODE STREQUAL "32")
+          message (STATUS "Building 32-bit mode on Solaris")
+          # If we are asked to build 32 bit mode
+               set(CMAKE_C_FLAGS  "${SUN_BUILD32} ${CMAKE_C_FLAGS}")
+               set(CMAKE_SHARED_LINKER_FLAGS  "${CMAKE_SHARED_LINKER_FLAGS} ${SUN_BUILD32}")
+       ELSE (BUILD_CPU_MODE STREQUAL "32")
+          # solaris 64-bit mode
                message (STATUS "Building 64-bit mode on Solaris")
-               set(CMAKE_C_FLAGS  "${SUN_BUILD64} ${CMAKE_C_FLAGS}")
-               set(CMAKE_SHARED_LINKER_FLAGS  "${CMAKE_SHARED_LINKER_FLAGS} ${SUN_BUILD64}")
-    ENDIF (BUILD_CPU_MODE STREQUAL "32")
+               set(CMAKE_C_FLAGS  "${SUN_BUILD64} ${CMAKE_C_FLAGS}")
+               set(CMAKE_SHARED_LINKER_FLAGS  "${CMAKE_SHARED_LINKER_FLAGS} ${SUN_BUILD64}")
+       ENDIF (BUILD_CPU_MODE STREQUAL "32")
 
-       SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D__EXTENSIONS__ -DSOLARIS -D_POSIX_SOURCE -D_POSIX_C_SOURCE=200112L")
-    
+       SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D__EXTENSIONS__ -DSOLARIS -D_POSIX_SOURCE -D_POSIX_C_SOURCE=200112L")
+       
        LIST(APPEND CMAKE_REQUIRED_LIBRARIES rt)
        LIST(APPEND CMAKE_REQUIRED_LIBRARIES dl)
        LIST(APPEND CMAKE_REQUIRED_LIBRARIES resolv)
-       LIST(APPEND CMAKE_REQUIRED_LIBRARIES nsl)
-       LIST(APPEND CMAKE_REQUIRED_LIBRARIES socket)
-       LIST(APPEND CMAKE_REQUIRED_LIBRARIES umem)
-       # Ugly hack, but FindOpenSSL on Solaris does not link with libcrypto
-       LIST(APPEND CMAKE_REQUIRED_LIBRARIES crypto)
-       SET(CMAKE_VERBOSE_MAKEFILE ON)
-       SET(CMAKE_INSTALL_RPATH_USE_LINK_PATH FALSE)
-       SET(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib:${RSPAMD_LIBDIR}")
+       LIST(APPEND CMAKE_REQUIRED_LIBRARIES nsl)
+       LIST(APPEND CMAKE_REQUIRED_LIBRARIES socket)
+       LIST(APPEND CMAKE_REQUIRED_LIBRARIES umem)
+       # Ugly hack, but FindOpenSSL on Solaris does not link with libcrypto
+       LIST(APPEND CMAKE_REQUIRED_LIBRARIES crypto)
+       SET(CMAKE_VERBOSE_MAKEFILE ON)
+       SET(CMAKE_INSTALL_RPATH_USE_LINK_PATH FALSE)
+       SET(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib:${RSPAMD_LIBDIR}")
 ENDIF(CMAKE_SYSTEM_NAME STREQUAL "SunOS")
 
 # Now find libraries and headers
@@ -543,23 +549,23 @@ ENDIF(CMAKE_SYSTEM_NAME STREQUAL "SunOS")
 IF(ENABLE_LUAJIT MATCHES "ON")
        #ProcessPackage(LUAJIT luajit)
        SET(WITH_LUA 1)
-       FindLua(5 1)
+       FindLua(VERSION_MAJOR "5" VERSION_MINOR "1" ROOT "${LUA_ROOT}")
        IF(NOT LUA_FOUND)
-        MESSAGE(FATAL_ERROR "Lua not found, lua support is required")
+               MESSAGE(FATAL_ERROR "Lua not found, lua support is required")
        ELSE(NOT LUA_FOUND)
-       SET(WITH_LUA 1)
-       INCLUDE_DIRECTORIES("${LUA_INCLUDE_DIR}")
+               SET(WITH_LUA 1)
+               INCLUDE_DIRECTORIES("${LUA_INCLUDE_DIR}")
        ENDIF(NOT LUA_FOUND)
 ELSE(ENABLE_LUAJIT MATCHES "ON")
-       FindLua(5 2)
+       FindLua(VERSION_MAJOR "5" VERSION_MINOR "2" ROOT "${LUA_ROOT}")
        IF(NOT LUA_FOUND)
-               FindLua(5 1)
+                       FindLua(VERSION_MAJOR "5" VERSION_MINOR "1" ROOT "${LUA_ROOT}")
        ENDIF(NOT LUA_FOUND)
        IF(NOT LUA_FOUND)
-               MESSAGE(FATAL_ERROR "Lua not found, lua support is required")
+                       MESSAGE(FATAL_ERROR "Lua not found, lua support is required")
        ELSE(NOT LUA_FOUND)
-               SET(WITH_LUA 1)
-               INCLUDE_DIRECTORIES("${LUA_INCLUDE_DIR}")
+                       SET(WITH_LUA 1)
+                       INCLUDE_DIRECTORIES("${LUA_INCLUDE_DIR}")
        ENDIF(NOT LUA_FOUND)
 ENDIF(ENABLE_LUAJIT MATCHES "ON")
 
@@ -576,7 +582,7 @@ ProcessPackage(GMIME2 gmime-2.6 gmime-2.4 gmime-2.0)
 ProcessPackage(LIBEVENT event libevent)
 ProcessPackage(SQLITE sqlite3 sqlite)
 IF(GMIME2_VERSION VERSION_GREATER "2.4.0")
-    SET(GMIME24 1)
+       SET(GMIME24 1)
 ENDIF(GMIME2_VERSION VERSION_GREATER "2.4.0")
 LIST(APPEND CMAKE_REQUIRED_INCLUDES "${PCRE_INCLUDE}")
 IF(PCRE_LIBRARY)
@@ -595,7 +601,7 @@ IF(ENABLE_HIREDIS MATCHES "ON")
                DOC "Path where the hiredis header files can be found")
 
        IF(LIBHIREDIS_INCLUDE)
-              INCLUDE_DIRECTORIES("${LIBHIREDIS_INCLUDE}")
+                  INCLUDE_DIRECTORIES("${LIBHIREDIS_INCLUDE}")
        ENDIF(LIBHIREDIS_INCLUDE)
 ENDIF(ENABLE_HIREDIS MATCHES "ON")
 
@@ -609,9 +615,9 @@ IF(ENABLE_GPERF_TOOLS MATCHES "ON")
                        DOC "Path where google perftools includes can be found")
        INCLUDE_DIRECTORIES("${GPERF_INCLUDE}")
        FIND_LIBRARY(GPERF_LIBRARY NAMES profiler 
-                     HINTS "${RSPAMD_SEARCH_PATH}"
-                  PATH_SUFFIXES lib64 lib "lib/google"
-                  PATHS ${RSPAMD_DEFAULT_LIBRARY_PATHS}
+                                 HINTS "${RSPAMD_SEARCH_PATH}"
+                                 PATH_SUFFIXES lib64 lib "lib/google"
+                                 PATHS ${RSPAMD_DEFAULT_LIBRARY_PATHS}
                                  DOC "Path where the gperf library can be found")
        IF(NOT GPERF_LIBRARY)
                MESSAGE(FATAL_ERROR "gperf tools support is enabled but not found in system")
@@ -631,11 +637,11 @@ IF(ENABLE_STATIC MATCHES "ON")
        SET(LINK_TYPE "STATIC")
        SET(NO_SHARED "ON")
 ELSE(ENABLE_STATIC MATCHES "ON")
-    IF(NO_SHARED MATCHES "OFF")
-        SET(LINK_TYPE "SHARED")
-    ELSE(NO_SHARED MATCHES "OFF")
-        SET(LINK_TYPE "STATIC")
-    ENDIF(NO_SHARED MATCHES "OFF")
+       IF(NO_SHARED MATCHES "OFF")
+               SET(LINK_TYPE "SHARED")
+       ELSE(NO_SHARED MATCHES "OFF")
+               SET(LINK_TYPE "STATIC")
+       ENDIF(NO_SHARED MATCHES "OFF")
 ENDIF(ENABLE_STATIC MATCHES "ON")
 
 # Process with warn flags
@@ -788,26 +794,26 @@ IF(NOT ICONV_ROOT_DIR)
        FIND_PATH(ICONV_INCLUDE_DIR iconv.h 
                        HINTS "${RSPAMD_SEARCH_PATH}"
                        PATHS ${RSPAMD_DEFAULT_INCLUDE_PATHS}
-            PATH_SUFFIXES include include/libiconv
-            DOC "Path where the libiconv headers can be found")
+                       PATH_SUFFIXES include include/libiconv
+                       DOC "Path where the libiconv headers can be found")
        FIND_LIBRARY(ICONV_LIBRARIES NAMES iconv libiconv libiconv-2 c
                        HINTS "${RSPAMD_SEARCH_PATH}"
-            PATHS ${RSPAMD_DEFAULT_LIBRARY_PATHS}
-            PATH_SUFFIXES lib64 lib
-            DOC "Path where the libiconv library can be found")
+                       PATHS ${RSPAMD_DEFAULT_LIBRARY_PATHS}
+                       PATH_SUFFIXES lib64 lib
+                       DOC "Path where the libiconv library can be found")
 ELSE(NOT ICONV_ROOT_DIR)
        FIND_PATH(ICONV_INCLUDE_DIR iconv.h 
                                HINTS "${RSPAMD_SEARCH_PATH}"
-                            PATHS "${ICONV_ROOT_DIR}"
-                            PATH_SUFFIXES include include/libiconv
-                 DOC "Path where the libiconv headers can be found"
-                 NO_DEFAULT_PATH)
+                                PATHS "${ICONV_ROOT_DIR}"
+                                PATH_SUFFIXES include include/libiconv
+                                DOC "Path where the libiconv headers can be found"
+                                NO_DEFAULT_PATH)
        FIND_LIBRARY(ICONV_LIBRARIES NAMES iconv libiconv libiconv-2 c
                                HINTS "${RSPAMD_SEARCH_PATH}"
-                 PATHS "${ICONV_ROOT_DIR}"
-                 PATH_SUFFIXES lib64 lib
-                 DOC "Path where the libiconv library can be found"
-                 NO_DEFAULT_PATH)
+                                PATHS "${ICONV_ROOT_DIR}"
+                                PATH_SUFFIXES lib64 lib
+                                DOC "Path where the libiconv library can be found"
+                                NO_DEFAULT_PATH)
 ENDIF(NOT ICONV_ROOT_DIR)
 IF(ICONV_INCLUDE_DIR AND ICONV_LIBRARIES)
        SET(ICONV_FOUND TRUE)
@@ -933,8 +939,8 @@ ENDIF(HAVE_CLOCK_GETTIME)
 
 # Check asm pause instruction
 CHECK_C_SOURCE_COMPILES ("#include <sys/types.h>
-                          int main (int argc, char **argv) {
-                                                       __asm __volatile(\"pause\");
+                                                 int main (int argc, char **argv) {
+                                                       __asm __volatile(\"pause\");
                                                        return 0;
                                                  }" HAVE_ASM_PAUSE)
 ENDIF(NOT CMAKE_SYSTEM_NAME STREQUAL "SunOS")
@@ -945,27 +951,27 @@ IF(NOT HAVE_COMPATIBLE_QUEUE_H)
 ENDIF(NOT HAVE_COMPATIBLE_QUEUE_H)
 
 IF(ENABLE_URL_INCLUDE MATCHES "ON")
-    FIND_LIBRARY(LIBFETCH_LIBRARY HINTS "${RSPAMD_SEARCH_PATH}"
-                               NAMES fetch PATHS       PATH_SUFFIXES lib64 lib
-                    PATHS ${RSPAMD_DEFAULT_LIBRARY_PATHS}
-                    DOC "Path where the libfetch library can be found")
-    IF(LIBFETCH_LIBRARY)
-       FIND_FILE(HAVE_FETCH_H HINTS "${RSPAMD_SEARCH_PATH}"
-               NAMES fetch.h 
-               PATH_SUFFIXES include
-               PATHS ${RSPAMD_DEFAULT_INCLUDE_PATHS}
-                               DOC "Path to libfetch header")
-    ELSE(LIBFETCH_LIBRARY)
-       # Try to find libcurl
-       ProcessPackage(CURL libcurl)
-       IF(NOT CURL_FOUND)
-               MESSAGE(WARNING "Neither libcurl nor libfetch were found, no support of URL includes in configuration")
-       ENDIF(NOT CURL_FOUND)
-    ENDIF(LIBFETCH_LIBRARY)
+       FIND_LIBRARY(LIBFETCH_LIBRARY HINTS "${RSPAMD_SEARCH_PATH}"
+                                       NAMES fetch PATHS       PATH_SUFFIXES lib64 lib
+                                       PATHS ${RSPAMD_DEFAULT_LIBRARY_PATHS}
+                                       DOC "Path where the libfetch library can be found")
+       IF(LIBFETCH_LIBRARY)
+               FIND_FILE(HAVE_FETCH_H HINTS "${RSPAMD_SEARCH_PATH}"
+                       NAMES fetch.h 
+                       PATH_SUFFIXES include
+                       PATHS ${RSPAMD_DEFAULT_INCLUDE_PATHS}
+                                       DOC "Path to libfetch header")
+       ELSE(LIBFETCH_LIBRARY)
+               # Try to find libcurl
+               ProcessPackage(CURL libcurl)
+               IF(NOT CURL_FOUND)
+                       MESSAGE(WARNING "Neither libcurl nor libfetch were found, no support of URL includes in configuration")
+               ENDIF(NOT CURL_FOUND)
+       ENDIF(LIBFETCH_LIBRARY)
 ENDIF(ENABLE_URL_INCLUDE MATCHES "ON")
 
 IF(NOT DESTDIR)
-    SET(DESTDIR $ENV{DESTDIR})
+       SET(DESTDIR $ENV{DESTDIR})
 ENDIF(NOT DESTDIR)
 
 # Try to detect tip version from hg
@@ -973,32 +979,32 @@ SET(ID "unknown")
 FIND_PROGRAM(HG "git")
 
 IF(HG)
-    EXECUTE_PROCESS(COMMAND "${HG}" rev-parse --verify HEAD 
-       WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}"
-       OUTPUT_VARIABLE HG_ID ERROR_QUIET)
-    IF(HG_ID)
-        STRING(SUBSTRING "${HG_ID}" 0 10 RSPAMD_ID)
-        MESSAGE(STATUS "Git revision: ${RSPAMD_ID}")
-    ELSE(HG_ID)
-        FIND_FILE(HG_ARCH ".hg_archival.txt" "${CMAKE_CURRENT_SOURCE_DIR}")   
-        IF(HG_ARCH)
-            FILE(READ ${HG_ARCH} HG_ID)
-            IF(HG_ID)
-                STRING(REGEX MATCH "node: [0-9a-z]+" _tmp "${HG_ID}")
-                STRING(SUBSTRING "${_tmp}" 6 12 RSPAMD_ID)
+       EXECUTE_PROCESS(COMMAND "${HG}" rev-parse --verify HEAD 
+               WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}"
+               OUTPUT_VARIABLE HG_ID ERROR_QUIET)
+       IF(HG_ID)
+               STRING(SUBSTRING "${HG_ID}" 0 10 RSPAMD_ID)
+               MESSAGE(STATUS "Git revision: ${RSPAMD_ID}")
+       ELSE(HG_ID)
+               FIND_FILE(HG_ARCH ".hg_archival.txt" "${CMAKE_CURRENT_SOURCE_DIR}")   
+               IF(HG_ARCH)
+                       FILE(READ ${HG_ARCH} HG_ID)
+                       IF(HG_ID)
+                               STRING(REGEX MATCH "node: [0-9a-z]+" _tmp "${HG_ID}")
+                               STRING(SUBSTRING "${_tmp}" 6 12 RSPAMD_ID)
                        ENDIF(HG_ID)
-       ENDIF(HG_ARCH)
-    ENDIF(HG_ID)
+               ENDIF(HG_ARCH)
+       ENDIF(HG_ID)
 ELSE(HG)
 # Now check .hg_archival.txt
-    FIND_FILE(HG_ARCH ".hg_archival.txt" "${CMAKE_CURRENT_SOURCE_DIR}")   
-    IF(HG_ARCH)
-        FILE(READ ${HG_ARCH} HG_ID)
-        IF(HG_ID)
-            STRING(REGEX MATCH "node: [0-9a-z]+" _tmp "${HG_ID}")
-            STRING(SUBSTRING "${_tmp}" 6 12 RSPAMD_ID)
-        ENDIF(HG_ID)
-    ENDIF(HG_ARCH)
+       FIND_FILE(HG_ARCH ".hg_archival.txt" "${CMAKE_CURRENT_SOURCE_DIR}")   
+       IF(HG_ARCH)
+               FILE(READ ${HG_ARCH} HG_ID)
+               IF(HG_ID)
+                       STRING(REGEX MATCH "node: [0-9a-z]+" _tmp "${HG_ID}")
+                       STRING(SUBSTRING "${_tmp}" 6 12 RSPAMD_ID)
+               ENDIF(HG_ID)
+       ENDIF(HG_ARCH)
 ENDIF(HG)