2795 |
2795 |
2796 osxDmgImageSetupLines |
2796 osxDmgImageSetupLines |
2797 "generate (OSX unix) copy commands to generate a directory holding the dmg prototype image directory. |
2797 "generate (OSX unix) copy commands to generate a directory holding the dmg prototype image directory. |
2798 This is used to generate a macOS deployable dmg containing an app" |
2798 This is used to generate a macOS deployable dmg containing an app" |
2799 |
2799 |
2800 |genLine product productFile dmgVolume dmgDir appDir contentsDir macOSDir resourcesDir dirsMade| |
2800 |genLine product productFile dmgVolume dmgDir appDir contentsDir macOSDir |
|
2801 resourcesDir packagesDir dirsMade| |
2801 |
2802 |
2802 product := self productName. |
2803 product := self productName. |
2803 productFile := self productFilename. |
2804 productFile := self productFilename. |
2804 |
2805 |
2805 dmgVolume := productFile,'.dmg'. |
2806 dmgVolume := productFile,'.dmg'. |
2806 dmgDir := productFile,'_dmg'. |
2807 dmgDir := productFile,'_dmg'. |
2807 appDir := dmgDir,'/',productFile,'.app'. |
2808 appDir := dmgDir,'/',productFile,'.app'. |
2808 contentsDir := appDir,'/Contents'. |
2809 contentsDir := appDir,'/Contents'. |
2809 macOSDir := contentsDir,'/MacOS'. |
2810 macOSDir := contentsDir,'/MacOS'. |
2810 resourcesDir := contentsDir,'/Resources'. |
2811 resourcesDir := contentsDir,'/Resources'. |
|
2812 packagesDir := contentsDir,'/Packages'. |
2811 dirsMade := Set new. |
2813 dirsMade := Set new. |
2812 |
2814 |
2813 genLine := |
2815 genLine := |
2814 [:stream :dstDir :srcAndDest | |
2816 [:stream :dstDir :srcAndDest | |
2815 |sourcePattern relPath destination| |
2817 |sourcePattern relPath destination| |
2843 s tab; nextPutLine:('@-mkdir "%1"' bindWith:contentsDir). dirsMade add:contentsDir. |
2845 s tab; nextPutLine:('@-mkdir "%1"' bindWith:contentsDir). dirsMade add:contentsDir. |
2844 s tab; nextPutLine:('@-mkdir "%1"' bindWith:macOSDir). dirsMade add:macOSDir. |
2846 s tab; nextPutLine:('@-mkdir "%1"' bindWith:macOSDir). dirsMade add:macOSDir. |
2845 "/ this is done indirectly, by additionalFilesToInstall_XXX |
2847 "/ this is done indirectly, by additionalFilesToInstall_XXX |
2846 "/ s tab; nextPutLine:('@-mkdir "%1"/packages' bindWith:macOSDir). dirsMade add:(macOSDir,'/packages'). |
2848 "/ s tab; nextPutLine:('@-mkdir "%1"/packages' bindWith:macOSDir). dirsMade add:(macOSDir,'/packages'). |
2847 s tab; nextPutLine:('@-mkdir "%1"' bindWith:resourcesDir). dirsMade add:resourcesDir. |
2849 s tab; nextPutLine:('@-mkdir "%1"' bindWith:resourcesDir). dirsMade add:resourcesDir. |
|
2850 s tab; nextPutLine:('@-mkdir "%1"' bindWith:packagesDir). dirsMade add:packagesDir. |
|
2851 s tab; nextPutLine:('@$(MAKE) stx_RESOURCES RESOURCES="%1"' bindWith:packagesDir). |
2848 s tab; nextPutLine:('cp "',self applicationName,'" "',macOSDir,'/"'). |
2852 s tab; nextPutLine:('cp "',self applicationName,'" "',macOSDir,'/"'). |
2849 s tab; nextPutLine:('@-cp osx/Info.plist "',contentsDir,'/"'). |
2853 s tab; nextPutLine:('@-cp osx/Info.plist "',contentsDir,'/"'). |
2850 self osxDmgBackgroundImageFile notNil ifTrue:[ |
2854 self osxDmgBackgroundImageFile notNil ifTrue:[ |
2851 s tab; nextPutLine:('@-mkdir "%1"/.background' bindWith:dmgDir). |
2855 s tab; nextPutLine:('@-mkdir "%1"/.background' bindWith:dmgDir). |
2852 s tab; nextPutLine:('@-cp "%1" "%2"/.background/banner.png' bindWith:self osxDmgBackgroundImageFile with:dmgDir). |
2856 s tab; nextPutLine:('@-cp "%1" "%2"/.background/banner.png' bindWith:self osxDmgBackgroundImageFile with:dmgDir). |