Browse Source

More fixes to cmake script.

tags/1.0.0
Vsevolod Stakhov 9 years ago
parent
commit
376e6fa835
1 changed files with 33 additions and 19 deletions
  1. 33
    19
      CMakeLists.txt

+ 33
- 19
CMakeLists.txt View File

@@ -5,6 +5,7 @@
#

############################# INITIAL SECTION #############################################
CMAKE_MINIMUM_REQUIRED(VERSION 2.8.0 FATAL_ERROR)

PROJECT(rspamd C)
ENABLE_LANGUAGE(ASM)
@@ -24,7 +25,6 @@ ENDIF(NOT RSPAMD_USER)
# 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 #############################################
@@ -108,7 +108,7 @@ IF(NOT SYSTEMDDIR)
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 #############################################

@@ -117,12 +117,12 @@ INCLUDE(CheckFunctionExists)
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
@@ -290,9 +290,7 @@ MACRO(ProcessPackage PKG_NAME)
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)
@@ -326,7 +324,11 @@ MACRO(ProcessPackage PKG_NAME)
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}"
@@ -335,18 +337,27 @@ MACRO(ProcessPackage PKG_NAME)
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)
@@ -435,7 +446,7 @@ IF(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
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")
@@ -553,6 +564,9 @@ ProcessPackage(SQLITE3 LIBRARY sqlite3 INCLUDE sqlite3.h INCLUDE_SUFFIXES includ
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()

Loading…
Cancel
Save