GrandOrgue / grandorgue

GrandOrgue software
Other
163 stars 40 forks source link

Superfluous files in macOS GrandOrgue app. #1841

Closed willeke1234 closed 2 weeks ago

willeke1234 commented 6 months ago

The macOS GrandOrgue app (Intel and ARM) contains superfluous files:

GrandOrgue.app/Contents/Resources/GOIcon.ico GrandOrgue.app/Contents/Resources/GrandOrgue.iconset GrandOrgue.app/Contents/Resources/GrandOrgue.manifest GrandOrgue.app/Contents/Resources/GrandOrgue.rc

oleg68 commented 6 months ago

Why do you consider these files as superfluous? May they be absent in any .dmg bundle?

willeke1234 commented 6 months ago

When I build GrandOrgue on my Mac then I get two apps. I assumed they are the same but they aren't. I thought I could use this one:

/GrandOrgueBuild/build/osx/GrandOrgue.app

The other one is inside

/GrandOrgueBuild/build/osx/grandorgue-3.14.0-1.osx.x86_64.dmg

Typically, a macOS app doesn't contain these files, nor does the app on the disk image.

oleg68 commented 2 weeks ago

@willeke1234 GrandOrgue.app is a temporary build directory. It contain some intermediate files and subdirectories (GrandOrgue.app/Contents/Resources/GOIcon.ico, GrandOrgue.app/Contents/Resources/GrandOrgue.iconset) that are making during the build for making another files, but they are not copied to the disk image, so I cannot consider this as a bug.

willeke1234 commented 2 weeks ago

@Oleg If GrandOrgue.app is a temporary build directory, where is the app I should test during development? What is the temporary build directory used for? The disk image app is at /GrandOrgueBuild/build/osx/_CPack_Packages/macOS/DragNDrop/grandorgue-3.15.1-0.local.macOS.arm64/ALL_IN_ONE/GrandOrgue.app. Both apps are fully complete and code signed. See here.

oleg68 commented 2 weeks ago

@willeke1234

where is the app I should test during development?

You may test the app by running GrandOrgue.app/Contents/MacOS/GrandOrgue. But GrandOrgue.app/Contents/Resources contains some extra files that are using during the build and are not used by the GrandOrgue itself.

What is the temporary build directory used for?

For building all files, including executables and the intermediate resources. The RESOURCEDIR cmake variable references to a Contents/Resources subdirectory under it.

The disk image app is at /GrandOrgueBuild/build/osx/_CPack_Packages/macOS/DragNDrop/grandorgue-3.15.1-0.local.macOS.arm64/ALL_IN_ONE/GrandOrgue.app

The disk image is made with make package that takes more time than just make -j 16, so using GrandOrgue.app/Contents/MacOS/GrandOrgue is more comode.