mirai/CMakeLists.txt

105 lines
2.6 KiB
CMake

cmake_minimum_required(VERSION 3.16)
project(Mirai VERSION 1.0 LANGUAGES CXX)
set(CMAKE_CXX_STANDARD 20)
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
set(CMAKE_COMPILE_WARNING_AS_ERROR ON)
find_package(Qt6 6.7 REQUIRED COMPONENTS Quick Xml)
include_directories(src)
include_directories(libs)
qt_standard_project_setup(REQUIRES 6.7)
add_library(mirai-core
src/core/Mirai.h src/core/Mirai.cpp
src/core/TaskItem.h src/core/TaskItem.cpp
src/core/BaseResource.h src/core/BaseResource.cpp
src/core/BaseFileResource.h
src/core/StdFileResource.h
src/core/TasksView.h src/core/TasksView.cpp
src/core/TodoMd.h src/core/TodoMd.cpp
src/core/utils.h src/core/utils.cpp
)
qt_add_executable(mirai
src/main.cpp
MANUAL_FINALIZATION
)
set_property(TARGET mirai APPEND PROPERTY
QT_ANDROID_PACKAGE_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/android
)
qt_finalize_executable(mirai)
set_source_files_properties(src/qml/styles/CatppuccinFrappe.qml PROPERTIES
QT_QML_SINGLETON_TYPE TRUE
)
set_source_files_properties(src/qml/styles/OneDark.qml PROPERTIES
QT_QML_SINGLETON_TYPE TRUE
)
set_source_files_properties(src/qml/styles/MiraiColorPalette.qml PROPERTIES
QT_QML_SINGLETON_TYPE TRUE
)
qt_add_qml_module(mirai
URI Mirai
#RESOURCE_PREFIX /qt/qml
QML_FILES
src/qml/Main.qml
src/qml/MainPanel.qml
src/qml/SideMenu.qml
src/qml/ThemeLoader.qml
src/qml/forms/TaskForm.qml
src/qml/forms/FilesForm.qml
src/qml/forms/TagsConfigForm.qml
src/qml/components/TaskItem.qml
src/qml/components/DatePicker.qml
src/qml/components/DateField.qml
src/qml/components/AppIcon.qml
src/qml/components/AppLineEdit.qml
src/qml/components/AppCheckbox.qml
src/qml/components/AppText.qml
src/qml/components/AppComboBox.qml
src/qml/components/AppButton.qml
src/qml/components/TabSelector.qml
src/qml/components/Tag.qml
src/qml/components/Calendar.qml
src/qml/components/Modal.qml
src/qml/styles/MiraiColorPalette.qml
src/qml/styles/CatppuccinFrappe.qml
src/qml/styles/OneDark.qml
src/qml/views/ListView.qml
src/qml/views/CalendarView.qml
SOURCES
src/Backend.h src/Backend.cpp
src/TaskItem.h src/TaskItem.cpp
src/Tag.h src/Tag.cpp
src/TasksFile.h src/TasksFile.cpp
src/AndroidFileResource.h
RESOURCES
src/images/calendar.png
src/images/add.png
src/images/settings.png
src/images/visible.png
src/images/not-visible.png
)
target_link_libraries(mirai PRIVATE Qt6::Quick Qt6::Xml)
target_link_libraries(mirai PRIVATE mirai-core)
# Tests
add_subdirectory(libs/Catch2)
add_executable(tests
tests/format.cpp
tests/saving.cpp
)
target_link_libraries(tests PRIVATE mirai-core)
target_link_libraries(tests PRIVATE Catch2::Catch2WithMain)