diff options
-rw-r--r-- | CMakeLists.txt | 13 | ||||
-rw-r--r-- | demos/ScrollView/CMakeLists.txt | 1 | ||||
-rw-r--r-- | demos/main/CMakeLists.txt | 1 | ||||
-rw-r--r-- | src/ThemeBuilder/CMakeLists.txt | 2 |
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) |