Merge branch 'daemon-ext'
[libi2ncommon] / CMakeLists.txt
index a77be06..a1751bc 100644 (file)
@@ -2,7 +2,7 @@
 project(libi2ncommon)
 
 # Version settings
-set(VERSION 2.5)
+set(VERSION 2.11)
 
 SET(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}")
 
@@ -35,6 +35,15 @@ set(CPACK_COMPONENT_HEADERS_DESCRIPTION
 set(CPACK_COMPONENT_SHAREDLIBS_GROUP "Development")
 set(CPACK_COMPONENT_HEADERS_GROUP    "Development")
 
+# Create suffix to eventually install in lib64
+IF(CMAKE_SIZEOF_VOID_P EQUAL 4)
+    SET(LIB_SUFFIX "")
+    SET(PACK_ARCH "")
+  ELSE(CMAKE_SIZEOF_VOID_P EQUAL 4)
+    SET(LIB_SUFFIX 64)
+    SET(PACK_ARCH .x86_64)
+endif(CMAKE_SIZEOF_VOID_P EQUAL 4)
+
 # Package information
 set(CPACK_PACKAGE_VERSION              ${VERSION})
 set(CPACK_PACKAGE_CONTACT              "Intra2net AG <libi2ncommon@developer.intra2net.com>")
@@ -47,7 +56,8 @@ set(CPACK_CMAKE_GENERATOR              "Unix Makefiles")
 set(CPACK_PACKAGE_NAME                 ${PROJECT_NAME})
 set(CPACK_PACKAGE_FILE_NAME            ${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}${PACK_ARCH})
 
-set(CPACK_RESOURCE_FILE_LICENSE        ${CMAKE_SOURCE_DIR}/COPYING.GPL)
+set(CPACK_RESOURCE_FILE_LICENSE        ${CMAKE_SOURCE_DIR}/Linking-Exception.txt)
+set(CPACK_RESOURCE_FILE_README         ${CMAKE_SOURCE_DIR}/COPYING.GPL)
 
 set(CPACK_SOURCE_GENERATOR             TGZ)
 set(CPACK_SOURCE_IGNORE_FILES
@@ -125,6 +135,11 @@ include(FindPkgConfig)
 # Find Boost
 find_package(Boost 1.44 COMPONENTS iostreams unit_test_framework thread REQUIRED)
 
+# Find pcrecpp
+pkg_check_modules(PCRECPP REQUIRED libpcrecpp)
+INCLUDE_DIRECTORIES(${PCRECPP_INCLUDE_DIRS})
+LINK_DIRECTORIES(${PCRECPP_LIBRARY_DIRS})
+
 # Find libxml++
 if (BUILD_XMLLIB)
     pkg_check_modules(XMLPP REQUIRED libxml++-2.6)
@@ -137,11 +152,16 @@ if (IMAP_UTF7_SUPPORT)
     link_directories(${ICONV_LIBRARY_DIRS})
 endif(IMAP_UTF7_SUPPORT)
 
+# Detect openssl - for base64 routines
+pkg_check_modules(OPENSSL REQUIRED openssl)
+INCLUDE_DIRECTORIES(${OPENSSL_INCLUDE_DIRS})
+LINK_DIRECTORIES(${OPENSSL_LIBRARY_DIRS})
+
 # pkgconfig output
 set(prefix      ${CMAKE_INSTALL_PREFIX})
 set(exec_prefix ${CMAKE_INSTALL_PREFIX}/bin)
-set(includedir  ${CMAKE_INSTALL_PREFIX}/include)
-set(libdir      ${CMAKE_INSTALL_PREFIX}/lib)
+set(includedir  ${CMAKE_INSTALL_PREFIX}/include/${PROJECT_NAME})
+set(libdir      ${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX})
 
 # construct ${BOOST_LDADD} from ${Boost_LIBRARIES}
 # forming "-L/some/path -lboost_a -L/other/path -lboost_b" from
@@ -169,11 +189,11 @@ configure_file(${CMAKE_SOURCE_DIR}/libi2ncommon_utils.pc.in ${CMAKE_BINARY_DIR}/
 install(FILES ${CMAKE_BINARY_DIR}/libi2ncommon.pc
                      ${CMAKE_BINARY_DIR}/libi2ncommon_config.pc
                      ${CMAKE_BINARY_DIR}/libi2ncommon_utils.pc
-        DESTINATION lib/pkgconfig)
+        DESTINATION lib${LIB_SUFFIX}/pkgconfig)
 
 if (BUILD_XMLLIB)
     configure_file(${CMAKE_SOURCE_DIR}/libi2ncommon_xml.pc.in ${CMAKE_BINARY_DIR}/libi2ncommon_xml.pc @ONLY)
-    install(FILES ${CMAKE_BINARY_DIR}/libi2ncommon_xml.pc DESTINATION lib/pkgconfig)
+    install(FILES ${CMAKE_BINARY_DIR}/libi2ncommon_xml.pc DESTINATION lib${LIB_SUFFIX}/pkgconfig)
 endif(BUILD_XMLLIB)