-
Notifications
You must be signed in to change notification settings - Fork 347
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
macOS: Add cmake based app bundle generation for mythfrontend #1015
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
6612392
to
b47846a
Compare
In DARWIN executables, search for the App Bundle's RUNPREFIX setting the mythdirs to point internally to the app bundle. If they are not found, default to the install prefix.
mythfrontend,mythbackend,mythmetalookup,musicmetautils all have hard coded PYTHONPATHS that require updated to the app build struture
Homebrew uses the "@" designator to differentiate versions of the same package. Update QT's logic to force use of this convention.
Add cmake and cpack code to optionally generate an application bundle and dmg distribution package via cmake and cpack. cmake will also optionally codesign and notarize the app bundle and dmg distirbution package. To activate building an app bundle set the following flags to ON: DARWIN_FRONTEND_BUNDLE To sign and notarize the App Bundle and Distribution package these Values must be set: DARWIN_SIGNING_ID DARWIN_NOTARIZATION_KEYCHAIN
…stall prefix The Darwin ansible playbooks use a python virtual environment to pull in allof the necessary python packages via pip in a non-interfering basise with the host package mangaer. If a venv has been used, copy the files to the install prefix to aide in application bundling as well as to make sure that the built applications has access to the appropriate packages.
If the configuration of a project or subproject exits before the cmake project() function is called, you get a very weird error about the version of ninja being too low regardless of what version is actually installed. The Darwin Packaging subproject is elsewhere protected from being created if the APPLE variable isn't set, so remove that test here. Just in case. So if you do somehow invoke it when you shouldn't you don't waste time chasing false clues. :-)
…ariables. Its easier to read code that says "if MACPORTS" than code that says "if DETECT_MACPORTS EQUAL 0". The former is obvious; the latter requires you to remember that the variable contains the output of a shell command and that "0" means "true" in this case even though it means "false" everywhere else in computing.
A warning message appears when add_custom_command is called without a build stage defaulting to POST_BUILD. Add POST_BUILD to remove the warning.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Multiple commits, but the main commits:
for general macOS use:
in cmake (macOS dependant):
general cmake tidy:
-Quiet warning on add_custom_command without build stage
Checklist