cmake_minimum_required(VERSION 3.16) project(WinoMailQt VERSION 1.0.0 LANGUAGES CXX) set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) # Find Qt components find_package(Qt6 COMPONENTS Core Gui Widgets Network Sql WebEngineWidgets Qml REQUIRED) # Find optional libraries (example: libetpan, gmime) # find_package(PkgConfig REQUIRED) # pkg_check_modules(LIBETPAN REQUIRED libetpan) # pkg_check_modules(GMIME REQUIRED gmime-2.6) # Include directories include_directories(${PROJECT_SOURCE_DIR}/src) # Resources qt6_add_resources(WinoMailQtResources FILES resources/qml/main.qml resources/qml/Shell.qml ) # Source files set(SRC_FILES src/main.cpp src/core/translator.cpp src/core/mailitem.cpp src/core/models/account.cpp src/core/models/folder.cpp src/services/synchronizer.cpp src/services/imap/imapsynchronizer.cpp src/services/outlook/outlooksynchronizer.cpp src/services/gmail/gmailsynchronizer.cpp src/services/request.cpp src/services/concreterequests.cpp src/services/requestprocessor.cpp src/services/changetype.cpp src/services/changprocessor.cpp src/db/databasemanager.cpp src/db/dao/accountdao.cpp src/db/dao/folderdao.cpp src/db/dao/mailitemdao.cpp src/db/dbchangeprocessor.cpp ) # 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 ${WinoMailQtResources}) # 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)