aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYuqian Yang <crupest@crupest.life>2025-09-28 17:19:32 +0800
committerYuqian Yang <crupest@crupest.life>2025-09-28 17:19:32 +0800
commit5c1853e421cdbe85e230f27d494cebb2bdac7b18 (patch)
tree4a183ffb4ef63a82c6fc874240a53213fb06595e
parent7a3bb36d69cdf505402a528f9af7a99747754e0a (diff)
downloadcru-5c1853e421cdbe85e230f27d494cebb2bdac7b18.tar.gz
cru-5c1853e421cdbe85e230f27d494cebb2bdac7b18.tar.bz2
cru-5c1853e421cdbe85e230f27d494cebb2bdac7b18.zip
Revert "Remove add resource."HEADmain
This reverts commit 18c64a5e92f7d8583cb091881deae7611a2bce98.
-rw-r--r--CMakeLists.txt13
-rw-r--r--demos/ScrollView/CMakeLists.txt1
-rw-r--r--demos/main/CMakeLists.txt1
-rw-r--r--src/ThemeBuilder/CMakeLists.txt2
4 files changed, 17 insertions, 0 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 64b0b936..6da50c5b 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -25,6 +25,19 @@ if (MSVC)
endif()
set(CRU_INCLUDE_DIR ${PROJECT_SOURCE_DIR}/include)
+set(CRU_ASSETS_DIR ${PROJECT_SOURCE_DIR}/assets)
+
+function(target_add_resources target res_dir)
+ message("Add resources for target ${target} with files ${res_dir}.")
+
+ file(GLOB_RECURSE RES_SOURCES "${CRU_ASSETS_DIR}/${res_dir}/*")
+ target_sources(${target} PUBLIC ${RES_SOURCES})
+ foreach (RES_FILE ${RES_SOURCES})
+ file(RELATIVE_PATH RES_PATH ${CRU_ASSETS_DIR} ${RES_FILE})
+ cmake_path(GET RES_PATH PARENT_PATH RES_PATH)
+ set_property(SOURCE ${RES_FILE} PROPERTY MACOSX_PACKAGE_LOCATION "Resources/${RES_PATH}")
+ endforeach(RES_FILE)
+endfunction()
# We don't use meson at present. Enable it in future.
# include(scripts/cmake/meson-projects.cmake)
diff --git a/demos/ScrollView/CMakeLists.txt b/demos/ScrollView/CMakeLists.txt
index cfa99ebd..8b34f5d8 100644
--- a/demos/ScrollView/CMakeLists.txt
+++ b/demos/ScrollView/CMakeLists.txt
@@ -8,4 +8,5 @@ if(APPLE)
)
endif()
+target_add_resources(CruDemoScrollView cru/ui)
target_link_libraries(CruDemoScrollView PRIVATE CruDemoBase CruUi)
diff --git a/demos/main/CMakeLists.txt b/demos/main/CMakeLists.txt
index 9a30e2f4..2da90405 100644
--- a/demos/main/CMakeLists.txt
+++ b/demos/main/CMakeLists.txt
@@ -8,4 +8,5 @@ if(APPLE)
)
endif()
+target_add_resources(CruDemoMain cru/ui)
target_link_libraries(CruDemoMain PRIVATE CruDemoBase CruUi)
diff --git a/src/ThemeBuilder/CMakeLists.txt b/src/ThemeBuilder/CMakeLists.txt
index 5e49cf78..93b24e85 100644
--- a/src/ThemeBuilder/CMakeLists.txt
+++ b/src/ThemeBuilder/CMakeLists.txt
@@ -40,4 +40,6 @@ if(APPLE)
)
endif()
+target_add_resources(CruThemeBuilder cru/ui)
+target_add_resources(CruThemeBuilder cru/theme_builder)
target_link_libraries(CruThemeBuilder PRIVATE CruPlatformBootstrap CruUi)