ssl: Require SSL support in Qt
[quassel.git] / src / core / CMakeLists.txt
index a167d8f..dd1ddc7 100644 (file)
@@ -1,9 +1,8 @@
-# Builds the core module
+quassel_add_module(Core EXPORT)
 
-setup_qt_variables(Network Sql Script)
-
-set(SOURCES
+target_sources(${TARGET} PRIVATE
     abstractsqlstorage.cpp
+    authenticator.cpp
     core.cpp
     corealiasmanager.cpp
     coreapplication.cpp
@@ -13,7 +12,8 @@ set(SOURCES
     corebuffersyncer.cpp
     corebufferviewconfig.cpp
     corebufferviewmanager.cpp
-    corecoreinfo.cpp
+    coredccconfig.cpp
+    corehighlightrulemanager.cpp
     coreidentity.cpp
     coreignorelistmanager.cpp
     coreircchannel.cpp
@@ -30,36 +30,45 @@ set(SOURCES
     coreusersettings.cpp
     ctcpparser.cpp
     eventstringifier.cpp
+    identserver.cpp
     ircparser.cpp
+    metricsserver.cpp
     netsplit.cpp
     oidentdconfiggenerator.cpp
     postgresqlstorage.cpp
     sessionthread.cpp
+    sqlauthenticator.cpp
     sqlitestorage.cpp
+    sslserver.cpp
     storage.cpp
 
     # needed for automoc
     coreeventmanager.h
 )
 
-if(HAVE_SSL)
-  set(SOURCES ${SOURCES} sslserver.cpp)
-  include_directories(${OPENSSL_INCLUDE_DIR})
-endif(HAVE_SSL)
-
-if(HAVE_QCA2)
-  set(SOURCES ${SOURCES} cipher.cpp)
-  include_directories(${QCA2_INCLUDE_DIR})
-endif(HAVE_QCA2)
+target_link_libraries(${TARGET}
+    PUBLIC
+        Qt5::Core
+        Qt5::Network
+        Qt5::Sql
+        Quassel::Common
+)
 
-include_directories(${CMAKE_SOURCE_DIR}/src/common ${QUASSEL_QT_INCLUDES})
+if (HAVE_UMASK)
+    set_property(SOURCE oidentdconfiggenerator.cpp APPEND PROPERTY COMPILE_DEFINITIONS HAVE_UMASK)
+endif()
 
-set(CORE_RCS ${CORE_RCS} core/sql.qrc PARENT_SCOPE)
+if (Ldap_FOUND)
+    target_sources(${TARGET} PRIVATE ldapauthenticator.cpp)
+    target_link_libraries(${TARGET} PRIVATE Ldap::Ldap)
+    set_property(SOURCE core.cpp APPEND PROPERTY COMPILE_DEFINITIONS HAVE_LDAP)
+endif()
 
-add_library(mod_core STATIC ${SOURCES})
-add_dependencies(mod_core mod_common)
-set_target_properties(mod_core PROPERTIES COMPILE_FLAGS "${QUASSEL_QT_COMPILEFLAGS}")
+if (Qca-qt5_FOUND)
+    target_sources(${TARGET} PRIVATE cipher.cpp keyevent.cpp)
+    target_link_libraries(${TARGET} PUBLIC qca-qt5)
+    target_compile_definitions(${TARGET} PUBLIC -DHAVE_QCA2)
+endif()
 
-if(HAVE_QCA2)
-  target_link_libraries(mod_core ${QCA2_LIBRARIES})
-endif(HAVE_QCA2)
+quassel_add_resource(Sql PATTERNS SQL/*.sql)
+target_link_libraries(${TARGET} PUBLIC Quassel::Resource::Sql)