Skip to content

Add infoplist API + Info.plist embedding in Apple OS console apps#2733

Open
noresources wants to merge 8 commits into
premake:masterfrom
noresources:feature-infoplist
Open

Add infoplist API + Info.plist embedding in Apple OS console apps#2733
noresources wants to merge 8 commits into
premake:masterfrom
noresources:feature-infoplist

Conversation

@noresources

Copy link
Copy Markdown
Contributor

What does this PR do?

The infoplist API adds a more explicit way to set the App bundle info in Xcode.
gmake, codelite and ninja generators now supports Info.plist by adding Apple toolchain specific flags provided by the new toolset.getSections() function.

The gcc.getSections() allows other generator to embed the Info.plist in the binary.
This will allow command line tools to have bundle informations and security entitlements.

How does this PR change Premake's behavior?

If infoplist "file" is set in premake script. The automatic detection of .plist in xcode will be ignored.

Anything else we should know?

In the future, toolset.getSections() may be used to embed any file into the binary
by adding a new dedicated API or by handling

filter {"*.bin"}
	buildaction "Embed"
	``` 

**Did you check all the boxes?**

- [x] Focus on a single fix or feature; remove any unrelated formatting or code changes
- [x] Add unit tests showing fix or feature works; all tests pass
- [x] Mention any [related issues](https://github.com/premake/premake-core/issues) (put `closes #XXXX` in comment to auto-close issue when PR is merged)
- [x] Follow our [coding conventions](https://github.com/premake/premake-core/blob/master/CONTRIBUTING.md#coding-conventions)
- [x] Minimize the number of commits
- [ ] Align [documentation](https://github.com/premake/premake-core/tree/master/website) to your changes

*You can now [support Premake on our OpenCollective](https://opencollective.com/premake). Your contributions help us spend more time responding to requests like these!*

Comment thread tests/tools/test_gcc.lua Outdated
Comment thread tests/tools/test_gcc.lua
Comment thread website/docs/infoplist.md Outdated
Comment thread website/docs/infoplist.md Outdated
Comment thread website/docs/Project-API.md
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants