ssl: Require SSL support in Qt
[quassel.git] / src / core / CMakeLists.txt
index 634af92..dd1ddc7 100644 (file)
@@ -1,6 +1,6 @@
-# Builds the core module
+quassel_add_module(Core EXPORT)
 
-set(SOURCES
+target_sources(${TARGET} PRIVATE
     abstractsqlstorage.cpp
     authenticator.cpp
     core.cpp
@@ -32,48 +32,43 @@ set(SOURCES
     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
 )
 
-set(LIBS )
+target_link_libraries(${TARGET}
+    PUBLIC
+        Qt5::Core
+        Qt5::Network
+        Qt5::Sql
+        Quassel::Common
+)
 
-if(HAVE_SSL)
-  set(SOURCES ${SOURCES} sslserver.cpp)
-  include_directories(${OPENSSL_INCLUDE_DIR})
+if (HAVE_UMASK)
+    set_property(SOURCE oidentdconfiggenerator.cpp APPEND PROPERTY COMPILE_DEFINITIONS HAVE_UMASK)
 endif()
 
-# Build with LDAP if told to do so.
-if(HAVE_LDAP)
-    include_directories(${LDAP_INCLUDE_DIR})
-    set(SOURCES ${SOURCES} ldapauthenticator.cpp)
-    set(MOC_HDRS ${MOC_HDRS} ldapauthenticator.h)
-endif(HAVE_LDAP)
-
-include_directories(${CMAKE_SOURCE_DIR}/src/common)
-
-set(CORE_RCS ${CORE_RCS} ${CMAKE_CURRENT_SOURCE_DIR}/sql.qrc)
-qt5_add_resources(SOURCES ${CORE_RCS})
-
-add_library(mod_core STATIC ${SOURCES})
-qt5_use_modules(mod_core Core Network Script Sql)
-
-target_link_libraries(mod_core mod_common ${LIBS})
+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()
 
 if (Qca-qt5_FOUND)
-    target_sources(mod_core PRIVATE cipher.cpp keyevent.cpp)
-    target_link_libraries(mod_core qca-qt5)
-    target_compile_definitions(mod_core PUBLIC -DHAVE_QCA2)
+    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_LDAP)
-    target_link_libraries(mod_core ${LDAP_LIBRARIES})
-endif(HAVE_LDAP)
+quassel_add_resource(Sql PATTERNS SQL/*.sql)
+target_link_libraries(${TARGET} PUBLIC Quassel::Resource::Sql)