From deca70db6df905b1e1633f332db72ae62ae0aa08 Mon Sep 17 00:00:00 2001 From: Mike Gelfand Date: Fri, 11 Nov 2022 23:06:31 +0000 Subject: [PATCH] Install base and localized resources into correct directory This seems like a Xcode quirk: if subdirectory containing the resource file matches the destination directory name (and probably if there's more than one resource file being installed there), the resulting folder structure then contains an extra subdirectory, i.e. Resources/dirname/dirname/resname. --- macosx/CMakeLists.txt | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/macosx/CMakeLists.txt b/macosx/CMakeLists.txt index 73a9a9ef2..b4731c6ef 100644 --- a/macosx/CMakeLists.txt +++ b/macosx/CMakeLists.txt @@ -392,13 +392,21 @@ add_library(vdkqueue STATIC set_property(TARGET vdkqueue PROPERTY FOLDER "third-party") +set(BASE_NIB_FILES_RESOURCES_DIR Resources) +if(NOT CMAKE_GENERATOR STREQUAL Xcode) + string(APPEND BASE_NIB_FILES_RESOURCES_DIR /Base.lproj) +endif() set_source_files_properties(${${PROJECT_NAME}_BASE_NIB_FILES} PROPERTIES - MACOSX_PACKAGE_LOCATION Resources/Base.lproj) + MACOSX_PACKAGE_LOCATION ${BASE_NIB_FILES_RESOURCES_DIR}) foreach(LANG ${${PROJECT_NAME}_ENABLED_LINGUAS}) list(APPEND ${PROJECT_NAME}_RESOURCES ${${PROJECT_NAME}_${LANG}_STRINGS_FILES}) + set(STRINGS_FILES_RESOURCES_DIR Resources) + if(NOT CMAKE_GENERATOR STREQUAL Xcode) + string(APPEND STRINGS_FILES_RESOURCES_DIR /${LANG}.lproj) + endif() set_source_files_properties(${${PROJECT_NAME}_${LANG}_STRINGS_FILES} PROPERTIES - MACOSX_PACKAGE_LOCATION Resources/${LANG}.lproj) + MACOSX_PACKAGE_LOCATION ${STRINGS_FILES_RESOURCES_DIR}) endforeach() add_executable(${TR_NAME}-mac MACOSX_BUNDLE