Complete phases 6 and 7: Notifications & System Tray, Background Sync & Scheduling
This commit is contained in:
+35
-5
@@ -7,13 +7,34 @@ set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||
# Find Qt components
|
||||
find_package(Qt6 COMPONENTS Core Gui Widgets Network Sql WebEngineWidgets Qml Multimedia REQUIRED)
|
||||
|
||||
# Optional: DTK Widgets for Deepin look
|
||||
option(USE_DTKWIDGET "Use DTK Widgets for Deepin look" ON)
|
||||
if(USE_DTKWIDGET)
|
||||
find_package(PkgConfig)
|
||||
pkg_check_modules(DTKWIDGET dtkwidget)
|
||||
if(DTKWIDGET_FOUND)
|
||||
message(STATUS "Found DTKWidget: ${DTKWIDGET_VERSION}")
|
||||
add_definitions(-DDTKWIDGET_FOUND)
|
||||
include_directories(${DTKWIDGET_INCLUDE_DIRS})
|
||||
set(DTKWIDGET_LIBS ${DTKWIDGET_LIBRARIES})
|
||||
else()
|
||||
message(WARNING "DTKWidget not found, using fallback Qt widgets")
|
||||
set(USE_DTKWIDGET OFF)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# Find optional libraries (example: libetpan, gmime)
|
||||
# find_package(PkgConfig REQUIRED)
|
||||
# pkg_check_modules(LIBETPAN REQUIRED libetpan)
|
||||
# pkg_check_modules(GMIME REQUIRED gmime-2.6)
|
||||
find_package(PkgConfig)
|
||||
pkg_check_modules(GMIME gmime-3.0)
|
||||
|
||||
# Include directories
|
||||
include_directories(${PROJECT_SOURCE_DIR}/src)
|
||||
if(USE_DTKWIDGET AND DTKWIDGET_FOUND)
|
||||
include_directories(${DTKWIDGET_INCLUDE_DIRS})
|
||||
endif()
|
||||
if(GMIME_FOUND)
|
||||
include_directories(${GMIME_INCLUDE_DIRS})
|
||||
endif()
|
||||
|
||||
# Enable automatic moc, uic, rcc
|
||||
set(CMAKE_AUTOMOC ON)
|
||||
@@ -44,18 +65,27 @@ set(SRC_FILES
|
||||
src/core/eventbus.cpp
|
||||
src/utils/notificationmanager.cpp
|
||||
src/core/emailmanager.cpp
|
||||
src/core/synchronizerprovider.cpp
|
||||
src/syncscheduler.cpp
|
||||
src/core/accountsetupdialoglauncher.cpp
|
||||
src/ui/dialogs/accountsetupdialog.cpp
|
||||
resources.qrc
|
||||
)
|
||||
|
||||
# Executable
|
||||
add_executable(wino-mail-qt ${SRC_FILES})
|
||||
|
||||
# Link Qt
|
||||
target_link_libraries(wino-mail-qt PRIVATE Qt6::Core Qt6::Gui Qt6::Widgets Qt6::Network Qt6::Sql Qt6::WebEngineWidgets Qt6::Qml Qt6::Multimedia)
|
||||
target_link_libraries(wino-mail-qt PRIVATE Qt6::Core Qt6::Gui Qt6::Widgets Qt6::Network Qt6::Sql Qt6::WebEngineWidgets Qt6::Qml Qt6::Quick Qt6::QuickControls2 Qt6::Multimedia)
|
||||
|
||||
# Link DTKWidget if found
|
||||
if(USE_DTKWIDGET AND DTKWIDGET_FOUND)
|
||||
target_link_libraries(wino-mail-qt PRIVATE ${DTKWIDGET_LIBS})
|
||||
endif()
|
||||
|
||||
# If using external libs
|
||||
# target_link_libraries(wino-mail-qt PRIVATE ${LIBETPAN_LIBRARIES} ${GMIME_LIBRARIES})
|
||||
# target_include_directories(wino-mail-qt PRIVATE ${LIBETPAN_INCLUDE_DIRS} ${GMIME_INCLUDE_DIRS})
|
||||
|
||||
# Install (optional)
|
||||
install(TARGETS wino-mail-qt DESTINATION bin)
|
||||
install(TARGETS wino-mail-qt DESTINATION bin)
|
||||
|
||||
Reference in New Issue
Block a user