mirror of
https://codeberg.org/vyn/mirai.git
synced 2025-07-03 18:23:19 +00:00
Better dependencies management
This commit is contained in:
parent
6fa94b279c
commit
4b2356facb
6 changed files with 46 additions and 43 deletions
3
.gitmodules
vendored
3
.gitmodules
vendored
|
@ -13,6 +13,3 @@
|
|||
[submodule "external/rei-json"]
|
||||
path = external/rei-json
|
||||
url = https://codeberg.org/vyn/rei-json.git
|
||||
[submodule "external/mirai-core/external/rei-json"]
|
||||
path = external/mirai-core/external/rei-json
|
||||
url = https://codeberg.org/vyn/rei-json.git
|
||||
|
|
|
@ -6,6 +6,44 @@ set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
|
|||
#set(CMAKE_COMPILE_WARNING_AS_ERROR ON)
|
||||
set(CMAKE_BUILD_RPATH_USE_ORIGIN ON)
|
||||
|
||||
add_executable(mirai
|
||||
src/main.cpp
|
||||
src/windows/AppWindow/AppWindow.cpp
|
||||
src/SeleniteSetup.cpp
|
||||
src/shared/Utils.cpp
|
||||
)
|
||||
|
||||
# configure dependency: evalyte-cpp-common
|
||||
add_subdirectory(external/evalyte-cpp-common)
|
||||
target_include_directories(mirai PRIVATE "external/evalyte-cpp-common/include")
|
||||
target_link_libraries(mirai PRIVATE evalyte-cpp-common)
|
||||
|
||||
# configure dependency: rei-json
|
||||
# required by mirai-core, selenite
|
||||
add_subdirectory(external/rei-json)
|
||||
target_include_directories(mirai PRIVATE "external/rei-json/include")
|
||||
target_link_libraries(mirai PRIVATE rei-json)
|
||||
|
||||
# configure dependency: selenite
|
||||
add_subdirectory(external/selenite/cpp)
|
||||
target_include_directories(mirai PRIVATE "external/selenite/cpp/include")
|
||||
target_link_libraries(mirai PRIVATE selenite)
|
||||
|
||||
# configure dependency: mirai-core
|
||||
add_subdirectory(external/mirai-core)
|
||||
target_include_directories(mirai PRIVATE "external/mirai-core/include")
|
||||
target_link_libraries(mirai PRIVATE mirai-core)
|
||||
|
||||
# configure dependency: slint
|
||||
add_subdirectory(external/slint)
|
||||
set_property(TARGET mirai PROPERTY SLINT_EMBED_RESOURCES embed-files)
|
||||
target_link_libraries(mirai PRIVATE Slint::Slint)
|
||||
slint_target_sources(
|
||||
mirai src/ui.slint
|
||||
NAMESPACE ui
|
||||
LIBRARY_PATHS selenite=${CMAKE_CURRENT_SOURCE_DIR}/external/selenite/components/index.slint
|
||||
)
|
||||
|
||||
# -- Slint setup
|
||||
#find_package(Slint QUIET)
|
||||
#if (NOT Slint_FOUND)
|
||||
|
@ -23,41 +61,6 @@ set(CMAKE_BUILD_RPATH_USE_ORIGIN ON)
|
|||
#endif (NOT Slint_FOUND)
|
||||
# -- End of Slint setup
|
||||
|
||||
add_subdirectory(external/slint)
|
||||
add_subdirectory(external/selenite/cpp)
|
||||
add_subdirectory(external/mirai-core)
|
||||
add_subdirectory(external/evalyte-cpp-common)
|
||||
|
||||
add_executable(mirai
|
||||
src/main.cpp
|
||||
src/windows/AppWindow/AppWindow.cpp
|
||||
src/SeleniteSetup.cpp
|
||||
src/shared/Utils.cpp
|
||||
)
|
||||
|
||||
target_include_directories(mirai PRIVATE "external/mirai-core/include")
|
||||
target_include_directories(mirai PRIVATE "external/selenite/cpp/include")
|
||||
target_include_directories(mirai PRIVATE "external/evalyte-cpp-common/include")
|
||||
|
||||
set_property(TARGET mirai PROPERTY SLINT_EMBED_RESOURCES embed-files)
|
||||
|
||||
target_link_libraries(mirai PRIVATE Slint::Slint)
|
||||
target_link_libraries(mirai PRIVATE selenite)
|
||||
target_link_libraries(mirai PRIVATE evalyte-cpp-common)
|
||||
|
||||
target_include_directories(mirai PRIVATE "external")
|
||||
target_link_libraries(mirai PRIVATE mirai-core)
|
||||
|
||||
add_subdirectory(external/rei-json)
|
||||
target_include_directories(mirai PRIVATE "external/rei-json/include")
|
||||
target_link_libraries(mirai PRIVATE rei-json)
|
||||
|
||||
slint_target_sources(
|
||||
mirai src/ui.slint
|
||||
NAMESPACE ui
|
||||
LIBRARY_PATHS selenite=${CMAKE_CURRENT_SOURCE_DIR}/external/selenite/components/index.slint
|
||||
)
|
||||
|
||||
# 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)
|
||||
|
|
8
external/mirai-core/CMakeLists.txt
vendored
8
external/mirai-core/CMakeLists.txt
vendored
|
@ -20,6 +20,10 @@ add_library(mirai-core
|
|||
target_include_directories(mirai-core PRIVATE "external")
|
||||
target_include_directories(mirai-core PRIVATE "include/mirai-core")
|
||||
|
||||
add_subdirectory(external/rei-json)
|
||||
target_include_directories(mirai-core PRIVATE "external/rei-json/include")
|
||||
# rei-json
|
||||
if (NOT TARGET rei-json)
|
||||
message(FATAL_ERROR "rei-json lib is required")
|
||||
endif()
|
||||
get_target_property(rei-json-includes rei-json INTERFACE_INCLUDE_DIRECTORIES)
|
||||
target_include_directories(mirai-core PRIVATE ${rei-json-includes})
|
||||
target_link_libraries(mirai-core PRIVATE rei-json)
|
||||
|
|
1
external/mirai-core/external/rei-json
vendored
1
external/mirai-core/external/rei-json
vendored
|
@ -1 +0,0 @@
|
|||
Subproject commit 63e7986b0901449657c3874ed7b19618315e9f01
|
2
external/rei-json
vendored
2
external/rei-json
vendored
|
@ -1 +1 @@
|
|||
Subproject commit 63e7986b0901449657c3874ed7b19618315e9f01
|
||||
Subproject commit 4fec38aa0e151efbdf3eb5d96a0e34cc9aec4fb2
|
2
external/selenite
vendored
2
external/selenite
vendored
|
@ -1 +1 @@
|
|||
Subproject commit 0fa6be0b1abe9534a8a1252496b7c97219c1559e
|
||||
Subproject commit ee661221544c754f96c586db9b4b45ae777ec4bc
|
Loading…
Add table
Add a link
Reference in a new issue