ssl: Require SSL support in Qt
[quassel.git] / src / core / CMakeLists.txt
index 3b7e24e..dd1ddc7 100644 (file)
@@ -1,81 +1,74 @@
-# Builds the core module
+quassel_add_module(Core EXPORT)
 
-set(QT_DONT_USE_QTGUI 1)
-set(QT_USE_QTNETWORK 1)
-set(QT_USE_QTSQL 1)
-set(QT_USE_QTSCRIPT 1)
-include(${QT_USE_FILE})
-
-set(SOURCES
+target_sources(${TARGET} PRIVATE
     abstractsqlstorage.cpp
+    authenticator.cpp
     core.cpp
     corealiasmanager.cpp
     coreapplication.cpp
+    coreauthhandler.cpp
     corebacklogmanager.cpp
     corebasichandler.cpp
     corebuffersyncer.cpp
     corebufferviewconfig.cpp
     corebufferviewmanager.cpp
-    corecoreinfo.cpp
+    coredccconfig.cpp
+    corehighlightrulemanager.cpp
     coreidentity.cpp
     coreignorelistmanager.cpp
     coreircchannel.cpp
     coreirclisthelper.cpp
+    coreircuser.cpp
     corenetwork.cpp
     corenetworkconfig.cpp
     coresession.cpp
+    coresessioneventprocessor.cpp
     coresettings.cpp
+    coretransfer.cpp
+    coretransfermanager.cpp
     coreuserinputhandler.cpp
     coreusersettings.cpp
-    ctcphandler.cpp
-    ircserverhandler.cpp
+    ctcpparser.cpp
+    eventstringifier.cpp
+    identserver.cpp
+    ircparser.cpp
+    metricsserver.cpp
     netsplit.cpp
+    oidentdconfiggenerator.cpp
     postgresqlstorage.cpp
     sessionthread.cpp
+    sqlauthenticator.cpp
     sqlitestorage.cpp
-    storage.cpp)
+    sslserver.cpp
+    storage.cpp
 
-set(MOC_HDRS
-    abstractsqlstorage.h
-    core.h
-    corealiasmanager.h
-    coreapplication.h
-    corebacklogmanager.h
-    corebasichandler.h
-    corebuffersyncer.h
-    corebufferviewconfig.h
-    corebufferviewmanager.h
-    corecoreinfo.h
-    coreidentity.h
-    coreignorelistmanager.h
-    coreircchannel.h
-    coreirclisthelper.h
-    corenetwork.h
-    corenetworkconfig.h
-    coresession.h
-    coreuserinputhandler.h
-    ctcphandler.h
-    ircserverhandler.h
-    netsplit.h
-    postgresqlstorage.h
-    sqlitestorage.h
-    storage.h
-    sessionthread.h)
+    # needed for automoc
+    coreeventmanager.h
+)
 
-set(HEADERS
-    coresettings.h
-    coreusersettings.h)
+target_link_libraries(${TARGET}
+    PUBLIC
+        Qt5::Core
+        Qt5::Network
+        Qt5::Sql
+        Quassel::Common
+)
 
-if(HAVE_SSL)
-  set(SOURCES ${SOURCES} sslserver.cpp)
-  set(MOC_HDRS ${MOC_HDRS} sslserver.h)
-  include_directories(${OPENSSL_INCLUDE_DIR})
-endif(HAVE_SSL)
+if (HAVE_UMASK)
+    set_property(SOURCE oidentdconfiggenerator.cpp APPEND PROPERTY COMPILE_DEFINITIONS HAVE_UMASK)
+endif()
 
-qt4_wrap_cpp(MOC ${MOC_HDRS})
-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()
 
-include_directories(${CMAKE_SOURCE_DIR}/src/common)
+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()
 
-add_library(mod_core STATIC ${SOURCES} ${MOC} ${HEADERS})
-add_dependencies(mod_core mod_common)
+quassel_add_resource(Sql PATTERNS SQL/*.sql)
+target_link_libraries(${TARGET} PUBLIC Quassel::Resource::Sql)