diff --git a/CMakeLists.txt b/CMakeLists.txt index b888f93e..a278ee0a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -252,6 +252,8 @@ if(UNIX) set(CPACK_DMG_VOLUME_NAME "${PROJECT_NAME}") set(CPACK_SYSTEM_NAME "OSX") set(CPACK_PACKAGE_ICON "${CMAKE_CURRENT_SOURCE_DIR}/cockatrice/resources/appicon.icns") + set(CPACK_DMG_DS_STORE_SETUP_SCRIPT "${CMAKE_CURRENT_SOURCE_DIR}/cmake/CMakeDMGSetup.script") + set(CPACK_DMG_BACKGROUND_IMAGE "${CMAKE_CURRENT_SOURCE_DIR}/cmake/dmgBackground.tif") else() # linux if(CPACK_GENERATOR STREQUAL "RPM") diff --git a/cmake/CMakeDMGSetup.script b/cmake/CMakeDMGSetup.script new file mode 100644 index 00000000..fe02eea1 --- /dev/null +++ b/cmake/CMakeDMGSetup.script @@ -0,0 +1,55 @@ +on run argv +set image_name to item 1 of argv + +tell application "Finder" +tell disk image_name + + -- wait for the image to finish mounting + set open_attempts to 0 + repeat while open_attempts < 4 + try + open + delay 1 + set open_attempts to 5 + close + on error errStr number errorNumber + set open_attempts to open_attempts + 1 + delay 10 + end try + end repeat + delay 5 + + -- open the image the first time and save a DS_Store with just + -- background and icon setup + open + set current view of container window to icon view + set theViewOptions to the icon view options of container window + set background picture of theViewOptions to file ".background:background.tif" + set arrangement of theViewOptions to not arranged + set icon size of theViewOptions to 128 + delay 5 + close + + -- next setup the position of the app and Applications symlink + -- plus hide all the window decoration + open + update without registering applications + tell container window + set sidebar width to 0 + set statusbar visible to false + set toolbar visible to false + set the bounds to { 400, 100, 1400, 922 } + set position of item "Cockatrice.app" to { 139, 214 } + set position of item "Oracle.app" to { 139, 414 } + set position of item "Servatrice.app" to { 139, 614 } + set position of item "dbconverter.app" to { 1400, 1400 } + set position of item "Applications" to { 861, 414 } + end tell + update without registering applications + delay 5 + close + +end tell +delay 1 +end tell +end run diff --git a/cmake/dmgBackground.tif b/cmake/dmgBackground.tif new file mode 100644 index 00000000..c88beedf Binary files /dev/null and b/cmake/dmgBackground.tif differ