#
############################# INITIAL SECTION #############################################
+CMAKE_MINIMUM_REQUIRED(VERSION 2.8.0 FATAL_ERROR)
PROJECT(rspamd C)
ENABLE_LANGUAGE(ASM)
# Default for SysV Init
SET(RSPAMD_WORKER_NORMAL "*:11333")
SET(RSPAMD_WORKER_CONTROLLER "*:11334")
-CMAKE_MINIMUM_REQUIRED(VERSION 2.8.0 FATAL_ERROR)
SET_PROPERTY(GLOBAL PROPERTY ALLOW_DUPLICATE_CUSTOM_TARGETS 1)
############################# OPTIONS SECTION #############################################
ENDIF(NOT SYSTEMDDIR)
SET(RSPAMD_DEFAULT_INCLUDE_PATHS "/opt;/usr;/usr/local;/opt/local;/usr/pkg;/opt/csw;/sw")
-SET(RSPAMD_DEFAULT_LIBRARY_PATHS "/usr/local;/usr/pkg;/usr;~/Library/Frameworks;/Library/Frameworks;/sw;/opt/local;/opt/csw;/opt")
+SET(RSPAMD_DEFAULT_LIBRARY_PATHS "/usr/local;/usr/pkg;/usr;/Library/Frameworks;/sw;/opt/local;/opt/csw;/opt")
############################# INCLUDE SECTION #############################################
INCLUDE(CheckSymbolExists)
INCLUDE(CheckCSourceCompiles)
INCLUDE(CheckLibraryExists)
-INCLUDE(FindPkgConfig)
INCLUDE(CheckCCompilerFlag)
-INCLUDE(FindPerl)
-INCLUDE(FindOpenSSL)
INCLUDE(CMakeParseArguments)
+FIND_PACKAGE(PkgConfig REQUIRED)
+FIND_PACKAGE(Perl REQUIRED)
+
############################# MACRO SECTION #############################################
# Find lua installation
IF(NOT PKG_ROOT AND PKG_MODULES)
PKG_SEARCH_MODULE(${PKG_NAME} ${PKG_MODULES})
ENDIF()
-
- MESSAGE(STATUS ${CMAKE_INCLUDE_PATH} ${CMAKE_FRAMEWORK_PATH} ${CMAKE_PREFIX_PATH} ${CMAKE_LIBRARY_ARCHITECTURE} "test")
-
+
IF(${PKG_NAME}_FOUND)
MESSAGE(STATUS "Found package ${PKG_NAME} in pkg-config modules ${PKG_MODULES}")
SET(WITH_${PKG_NAME} 1)
NO_DEFAULT_PATH
PATHS ${RSPAMD_DEFAULT_LIBRARY_PATHS})
IF(NOT _lib)
- MESSAGE(FATAL_ERROR "Cannot find library ${PKG_LIBRARY} for package ${PKG_NAME}")
+ IF(OPTIONAL)
+ MESSAGE("Cannot find library ${PKG_LIBRARY} for package ${PKG_NAME}")
+ ELSE()
+ MESSAGE(FATAL_ERROR "Cannot find library ${PKG_LIBRARY} for package ${PKG_NAME}")
+ ENDIF()
ENDIF(NOT _lib)
FIND_PATH(_incl "${PKG_INCLUDE}"
NO_DEFAULT_PATH
PATHS ${RSPAMD_DEFAULT_INCLUDE_PATHS})
IF(NOT _incl)
- MESSAGE(FATAL_ERROR "Cannot find header ${PKG_INCLUDE} for package ${PKG_NAME}")
+ IF(OPTIONAL)
+ MESSAGE("Cannot find header ${PKG_INCLUDE} for package ${PKG_NAME}")
+ ELSE()
+ MESSAGE(FATAL_ERROR "Cannot find header ${PKG_INCLUDE} for package ${PKG_NAME}")
+ ENDIF()
ENDIF(NOT _incl)
- GET_FILENAME_COMPONENT(_lib_path "${_lib}" PATH)
- INCLUDE_DIRECTORIES("${_incl}")
- LINK_DIRECTORIES("${_lib_path}")
- LIST(APPEND RSPAMD_REQUIRED_LIBRARIES ${_lib})
- SET(${PKG_NAME}_INCLUDE "${_incl}")
- SET(${PKG_NAME}_LIBRARY "${_lib_path}")
- SET(${PKG_NAME}_FOUND 1)
- MESSAGE(STATUS "Found package ${PKG_NAME} in '${_lib_path}' (${_lib}) and '${_incl}' (${PKG_INCLUDE}).")
+ IF(_incl AND _lib)
+ GET_FILENAME_COMPONENT(_lib_path "${_lib}" PATH)
+ INCLUDE_DIRECTORIES("${_incl}")
+ LINK_DIRECTORIES("${_lib_path}")
+ LIST(APPEND RSPAMD_REQUIRED_LIBRARIES ${_lib})
+ SET(${PKG_NAME}_INCLUDE "${_incl}")
+ SET(${PKG_NAME}_LIBRARY "${_lib_path}")
+ SET(${PKG_NAME}_FOUND 1)
+ MESSAGE(STATUS "Found package ${PKG_NAME} in '${_lib_path}' (${_lib}) and '${_incl}' (${PKG_INCLUDE}).")
+ ENDIF()
ENDIF(${PKG_NAME}_FOUND)
+
+ UNSET(_lib CACHE)
+ UNSET(_incl CACHE)
ENDMACRO(ProcessPackage name)
MACRO(ADD_PRECOMPILED_HEADER _target _input)
ENDIF(ENABLE_LUAJIT MATCHES "ON")
MESSAGE(STATUS "Configuring for Darwin")
SET(TAR "gnutar")
- SET(CMAKE_FIND_FRAMEWORK "LAST")
+ SET(CMAKE_FIND_FRAMEWORK "NEVER")
ENDIF(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
IF(CMAKE_SYSTEM_NAME STREQUAL "Linux")
ROOT ${SQLITE3_ROOT_DIR} MODULES sqlite3 sqlite)
ProcessPackage(ICONV LIBRARY iconv libiconv libiconv-2 c INCLUDE iconv.h INCLUDE_SUFFIXES include/libiconv
ROOT ${ICONV_ROOT_DIR} MODULES iconv)
+ProcessPackage(OPENSSL LIBRARY crypto INCLUDE opensslconf.h INCLUDE_SUFFIXES include/openssl
+ ROOT ${OPENSSL_ROOT_DIR} MODULES openssl)
+
IF(GMIME2_VERSION VERSION_GREATER "2.4.0" OR NOT GMIME2_VERSION)
SET(GMIME24 1)
ENDIF()