Implement authenticator class used for logging in users
[quassel.git] / CMakeLists.txt
index 8293af0..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,9 +70,23 @@ 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
@@ -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
@@ -116,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
 #####################################################################
 
@@ -497,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
 #####################################################################