Has anyone found a way of using this with CMake's CPack for DragNDrop, TGZ, or productbuild generators on MacOSX? (they seem to reset the icon on the directory)
subatomicglue opened this issue · comments
(apologies for the cmake question, but since image related, perhaps someone here has experienced this)
Has anyone found a way of using this with CMake's CPack for DragNDrop, TGZ, or productbuild generators on MacOSX?
They seem to reset the icon on the directory:
Relevant lines from cmake:
# make
add_library(${PROJECT_NAME} MODULE ${SOURCES} ${RESOURCE_FILES})
set_target_properties(${PROJECT_NAME} PROPERTIES BUNDLE true BUNDLE_EXTENSION "vst")
add_custom_command(TARGET ${PROJECT_NAME} POST_BUILD
COMMAND fileicon set ${PROJECT_NAME}.vst image.png
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
COMMENT "..."
)
# make install
install(DIRECTORY "${PROJECT_NAME}.vst" DESTINATION "install" COMPONENT vstplugin)
install( SCRIPT "PostInstall.cmake" COMPONENT vstplugin)
# make package
set(CPACK_GENERATOR "DragNDrop;TGZ;productbuild")
Here is PostInstall.cmake
, which is required or else make install
will strip off the icon from the bundle folder.
execute_process( COMMAND fileicon set install/MyPlugin.vst image.png )
So running make
generates MyPlugin.vst
directory with the image on it, (the add_custom_command
step sets it), looks perfect.
Running make install
copies the bundle folder with install( DIRECTORY
, stripping the image, so I compensate with the PostInstall.cmake
which reruns fileicon
script from execute_process
.
And then the CPack
packager generates the .dmg
, the .pkg
, and the .tgz
, which strips the folder image again from all...
Any ideas why CMake
is stripping the image? (and how to get it to not do that)
I'm not familiar CMake, but it sounds that it at least by default it ignores HFS (the macOS filesystem's) extended attributes, in which the icon information is stored.
However, there may be ways to opt in: https://cmake.org/cmake/help/v3.0/module/CPackDMG.html
If you can confirm that there is a way to make this work, we can add a summary to the Wiki for this repo.
Tracking same topic over at cmake's issue tracker as well:
https://gitlab.kitware.com/cmake/cmake/issues/17847