1
0
Fork 0
mirror of https://github.com/juce-framework/JUCE.git synced 2026-01-10 23:44:24 +00:00

Projucer: Always add entitlements file for targets with hardened runtime enabled

This commit is contained in:
ed 2020-02-10 10:52:18 +00:00
parent e4d10979ae
commit f530adf19e

View file

@ -2152,7 +2152,8 @@ private:
void addFilesAndGroupsToProject (StringArray& topLevelGroupIDs) const
{
for (auto* target : targets)
addEntitlementsFile (*target);
if (target->shouldAddEntitlements())
addEntitlementsFile (*target);
for (auto& group : getAllGroups())
{
@ -3186,29 +3187,26 @@ private:
void addEntitlementsFile (XcodeTarget& target) const
{
String content =
"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
"<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n"
"<plist version=\"1.0\">\n"
"<dict>\n";
auto entitlements = getEntitlements (target);
if (entitlements.size() > 0)
{
String content =
"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
"<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n"
"<plist version=\"1.0\">\n"
"<dict>\n";
for (auto& key : entitlements.getAllKeys())
content += "\t<key>" + key + "</key>\n"
"\t" + entitlements[key] + "\n";
for (auto& key : entitlements.getAllKeys())
content += "\t<key>" + key + "</key>\n"
"\t" + entitlements[key] + "\n";
content += "</dict>\n"
"</plist>\n";
content += "</dict>\n"
"</plist>\n";
auto entitlementsFile = getTargetFolder().getChildFile (target.getEntitlementsFilename());
overwriteFileIfDifferentOrThrow (entitlementsFile, content);
auto entitlementsFile = getTargetFolder().getChildFile (target.getEntitlementsFilename());
overwriteFileIfDifferentOrThrow (entitlementsFile, content);
RelativePath entitlementsPath (entitlementsFile, getTargetFolder(), RelativePath::buildTargetFolder);
addFile (entitlementsPath, false, false, false, false, nullptr, {});
}
RelativePath entitlementsPath (entitlementsFile, getTargetFolder(), RelativePath::buildTargetFolder);
addFile (entitlementsPath, false, false, false, false, nullptr, {});
}
String addProjectItem (const Project::Item& projectItem) const