ApplicationDefinition.st
changeset 23438 94a7e26cb6d3
parent 23436 0d11b24cf21f
child 23439 f57365c8c7ca
equal deleted inserted replaced
23437:096581648654 23438:94a7e26cb6d3
  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).