-# Builds the core module
+quassel_add_module(Core)
-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
coresession.cpp
coresessioneventprocessor.cpp
coresettings.cpp
+ coretransfer.cpp
+ coretransfermanager.cpp
coreuserinputhandler.cpp
coreusersettings.cpp
- ctcphandler.cpp
+ ctcpparser.cpp
+ eventstringifier.cpp
+ identserver.cpp
ircparser.cpp
- ircserverhandler.cpp
netsplit.cpp
+ oidentdconfiggenerator.cpp
postgresqlstorage.cpp
sessionthread.cpp
+ sqlauthenticator.cpp
sqlitestorage.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
- coreircuser.h
- corenetwork.h
- corenetworkconfig.h
- coresession.h
- coresessioneventprocessor.h
- coreuserinputhandler.h
- ctcphandler.h
- ircparser.h
- ircserverhandler.h
- netsplit.h
- postgresqlstorage.h
- sqlitestorage.h
- storage.h
- sessionthread.h)
+ storage.cpp
-set(HEADERS
- coresettings.h
- coreusersettings.h)
+ # needed for automoc
+ coreeventmanager.h
-if(HAVE_SSL)
- set(SOURCES ${SOURCES} sslserver.cpp)
- set(MOC_HDRS ${MOC_HDRS} sslserver.h)
- include_directories(${OPENSSL_INCLUDE_DIR})
-endif(HAVE_SSL)
+ # Resources
+ sql.qrc
+)
-if(HAVE_QCA2)
- set(SOURCES ${SOURCES} cipher.cpp)
- set(HEADERS ${HEADERS} cipher.h)
- include_directories(${QCA2_INCLUDE_DIR})
-endif(HAVE_QCA2)
+if (HAVE_SSL)
+ target_sources(${TARGET} PRIVATE sslserver.cpp)
+endif()
-qt4_wrap_cpp(MOC ${MOC_HDRS})
-set(CORE_RCS ${CORE_RCS} core/sql.qrc PARENT_SCOPE)
+if (HAVE_UMASK)
+ set_source_files_properties(oidentdconfiggenerator.cpp PROPERTIES COMPILE_DEFINITIONS HAVE_UMASK)
+endif()
-include_directories(${CMAKE_SOURCE_DIR}/src/common)
+if (LDAP_FOUND)
+ target_sources(${TARGET} PRIVATE ldapauthenticator.cpp)
+ target_link_libraries(${TARGET} PRIVATE ${LDAP_LIBRARIES})
+ target_include_directories(${TARGET} PRIVATE ${LDAP_INCLUDE_DIR})
+ target_compile_definitions(${TARGET} PRIVATE -DHAVE_LDAP)
+endif()
-add_library(mod_core STATIC ${SOURCES} ${MOC} ${HEADERS})
-add_dependencies(mod_core mod_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()
-if(HAVE_QCA2)
- target_link_libraries(mod_core ${QCA2_LIBRARIES})
-endif(HAVE_QCA2)
+target_link_libraries(${TARGET}
+ PUBLIC
+ Qt5::Core
+ Qt5::Network
+ Qt5::Script
+ Qt5::Sql
+ Quassel::Common
+)