Implement authenticator class used for logging in users
[quassel.git] / CMakeLists.txt
index e26e2b3..42f2ab3 100644 (file)
@@ -40,13 +40,13 @@ include(QuasselMacros)
 # Options and variables that can be set on the command line
 #####################################################################
 
-# First, choose a Qt version. We support USE_QT4 and USE_QT5; if neither is set, prefer Qt4 for now
-option(USE_QT5 "Enable support for Qt5 (disables KDE integration)" OFF)
-if (USE_QT4) # takes precedence
-    set(USE_QT5 OFF)
+# First, choose a Qt version. We support USE_QT5 and USE_QT4; if neither is set, Qt5 will be used
+option(USE_QT5 "Enable support for Qt5" OFF)
+if (USE_QT5) # takes precedence
+    set(USE_QT4 OFF)
 else()
-    if (NOT USE_QT5)
-        set(USE_QT4 ON)
+    if (NOT USE_QT4)
+        set(USE_QT5 ON)
     endif()
 endif()
 
@@ -70,13 +70,27 @@ else()
     add_feature_info(WITH_KDE WITH_KDE "Integrate with the KDE Frameworks runtime environment")
 endif()
 
-cmake_dependent_option(WITH_OXYGEN "Install Oxygen icon set (usually shipped with KDE)" ON "NOT WITH_KDE" OFF)
+cmake_dependent_option(WITH_BREEZE "Install Breeze icon theme (usually shipped with KDE)" ON "NOT WITH_KDE" OFF)
+cmake_dependent_option(WITH_BREEZE_DARK "Install Dark Breeze icon theme (usually shipped with KDE)" OFF "NOT WITH_KDE" OFF)
+cmake_dependent_option(WITH_OXYGEN "Install Oxygen icon theme (usually shipped with KDE)" OFF "NOT WITH_KDE" OFF)
 if (NOT WITH_KDE)
-    add_feature_info(WITH_OXYGEN WITH_OXYGEN "Install Oxygen icon set")
+    add_feature_info(WITH_BREEZE WITH_BREEZE "Install Breeze icon theme")
+    add_feature_info(WITH_BREEZE_DARK WITH_BREEZE_DARK "Install Dark Breeze icon theme")
+    add_feature_info(WITH_OXYGEN WITH_OXYGEN "Install Oxygen icon theme")
+endif()
+
+if (WITH_OXYGEN)
+    add_definitions(-DWITH_OXYGEN)
+endif()
+if (WITH_BREEZE)
+    add_definitions(-DWITH_BREEZE)
+endif()
+if (WITH_BREEZE_DARK)
+    add_definitions(-DWITH_BREEZE_DARK)
 endif()
 
 # For this, the feature info is added after we know if QtWebkit is installed
-option(WITH_WEBKIT "WebKit support (for link previews) (legacy)" ON)
+option(WITH_WEBKIT "WebKit support (for link previews) (legacy)" OFF)
 
 # For this, the feature info is added after we know if QtWebEngine is installed
 option(WITH_WEBENGINE "WebEngine support (for link previews)" ON)
@@ -87,6 +101,9 @@ if (APPLE)
         option(WITH_NOTIFICATION_CENTER "OS X Notification Center support" ON)
         add_feature_info(WITH_NOTIFICATION_CENTER WITH_NOTIFICATION_CENTER "Use the OS X Notification Center")
     endif()
+    find_library(CARBON_LIBRARY Carbon)
+    mark_as_advanced(CARBON_LIBRARY)
+    link_libraries(${CARBON_LIBRARY})
 endif()
 
 # Always embed on Windows, OSX or for a static build; never embed when enabling KDE integration
@@ -103,9 +120,6 @@ endif()
 # The following options are not for end-user consumption, so don't list them in the feature summary
 cmake_dependent_option(DEPLOY "Add required libs to bundle resources and create a dmg. Note: requires Qt to be built with 10.4u SDK" OFF "APPLE" OFF)
 
-# Handle with care
-set(QT_PATH "" CACHE PATH "Path to a Qt4 installation to use instead of the system Qt (e.g. for static builds)")
-
 # Static builds are not supported and require some manual setup! Don't enable unless you know what you're doing (we don't know either)
 cmake_dependent_option(STATIC      "Enable static building (not supported)" OFF "NOT WITH_KDE" OFF)
 
@@ -119,6 +133,10 @@ if (LINK_EXTRA)
 endif()
 
 
+# LDAP Authentication (and other authentication backends).
+####################################################################
+option(WITH_LDAP     "Enable LDAP authentication support if present on system" ON)
+
 # Setup CMake
 #####################################################################
 
@@ -371,12 +389,6 @@ else()
     message(STATUS "Building for Qt4...")
     set(QT_MIN_VERSION "4.8.0")
 
-    # Select a Qt installation here, if you don't want to use system Qt
-    if(QT_PATH)
-        # FindQt4 will look for the qmake binary in $PATH, so we just prepend QT_PATH
-        set(ENV{PATH} ${QT_PATH}/bin:$ENV{PATH})
-    endif()
-
     find_package(Qt4 ${QT_MIN_VERSION} QUIET REQUIRED)
 
     if (BUILD_GUI)
@@ -506,6 +518,19 @@ if (CMAKE_COMPILER_IS_GNUCXX)
     string(REPLACE "-ansi" "" CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS})
 endif()
 
+# Setup LDAP Authentication support.
+#####################################################################
+if(WITH_LDAP)
+       find_package(Ldap)
+       if(LDAP_FOUND)
+               message(STATUS "Enabling LDAP authentication support")
+               set(HAVE_LDAP true)
+       else(LDAP_FOUND)
+               message(STATUS "Disabling LDAP authentication support")
+       endif(LDAP_FOUND)
+else(WITH_LDAP)
+       message(STATUS "Not enabling LDAP authentication support")
+endif(WITH_LDAP)
 
 # Setup KDE / KDE Frameworks
 #####################################################################