45 lines
1.3 KiB
CMake
45 lines
1.3 KiB
CMake
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 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)
|
|
|
|
# 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/db/databasemanager.cpp
|
|
src/db/dao/accountdao.cpp
|
|
src/db/dao/folderdao.cpp
|
|
src/db/dao/mailitemdao.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)
|
|
|
|
# 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)
|