mirai/CMakeLists.txt

64 lines
2.2 KiB
Text
Raw Normal View History

2024-08-16 21:35:12 +02:00
cmake_minimum_required(VERSION 3.21)
project(mirai LANGUAGES CXX)
2024-04-10 16:53:18 +02:00
2024-11-03 18:27:36 +01:00
set(CMAKE_CXX_STANDARD 23)
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
#set(CMAKE_COMPILE_WARNING_AS_ERROR ON)
2024-08-16 21:35:12 +02:00
set(CMAKE_BUILD_RPATH_USE_ORIGIN ON)
# -- Slint setup
#find_package(Slint QUIET)
#if (NOT Slint_FOUND)
#message("Slint could not be located in the CMake module search path. Downloading it from Git and building it locally")
#include(FetchContent)
#FetchContent_Declare(
#Slint
#GIT_REPOSITORY https://github.com/slint-ui/slint.git
## `release/1` will auto-upgrade to the latest Slint >= 1.0.0 and < 2.0.0
## `release/1.0` will auto-upgrade to the latest Slint >= 1.0.0 and < 1.1.0
#GIT_TAG release/1
#SOURCE_SUBDIR api/cpp
#)
#FetchContent_MakeAvailable(Slint)
#endif (NOT Slint_FOUND)
2024-08-16 21:35:12 +02:00
# -- End of Slint setup
2024-05-23 16:50:37 +02:00
2024-10-27 22:11:11 +01:00
add_subdirectory(external/slint)
add_subdirectory(external/selenite/cpp)
add_subdirectory(external/mirai-core)
add_subdirectory(external/evalyte-cpp-common)
2024-04-10 16:53:18 +02:00
2024-08-16 21:35:12 +02:00
add_executable(mirai
src/main.cpp
src/windows/AppWindow/AppWindow.cpp
src/windows/AddSourceWindow/AddSourceWindow.cpp
src/windows/SettingsWindow/SettingsWindow.cpp
2025-06-17 17:03:07 +02:00
src/windows/EditEventWindow/EditEventWindow.cpp
src/SeleniteSetup.cpp
src/shared/Utils.cpp
2024-05-23 16:50:37 +02:00
)
target_include_directories(mirai PRIVATE "external/mirai-core/include")
2024-10-27 22:11:11 +01:00
target_include_directories(mirai PRIVATE "external/selenite/cpp/include")
target_include_directories(mirai PRIVATE "external/evalyte-cpp-common/include")
2024-08-16 21:35:12 +02:00
set_property(TARGET mirai PROPERTY SLINT_EMBED_RESOURCES embed-files)
2024-05-23 16:50:37 +02:00
2024-08-16 21:35:12 +02:00
target_link_libraries(mirai PRIVATE Slint::Slint)
2024-10-27 22:11:11 +01:00
target_link_libraries(mirai PRIVATE selenite)
target_link_libraries(mirai PRIVATE evalyte-cpp-common)
2024-04-10 16:53:18 +02:00
target_include_directories(mirai PRIVATE "external")
2024-04-19 13:52:17 +02:00
target_link_libraries(mirai PRIVATE mirai-core)
2024-08-16 21:35:12 +02:00
slint_target_sources(
mirai src/ui.slint
NAMESPACE ui
2024-10-27 22:11:11 +01:00
LIBRARY_PATHS selenite=${CMAKE_CURRENT_SOURCE_DIR}/external/selenite/components/index.slint
)
2024-08-16 21:35:12 +02:00
# On Windows, copy the Slint DLL next to the application binary so that it's found.
if (WIN32)
add_custom_command(TARGET mirai POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_RUNTIME_DLLS:mirai> $<TARGET_FILE_DIR:mirai> COMMAND_EXPAND_LISTS)
endif()