Skip to content

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) #12

@subatomicglue

Description

@subatomicglue

(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)

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions