osx: support for entitlements

This commit is contained in:
Laurent Sansonetti
2013-06-01 13:22:25 +09:00
parent 884b9bbe9f
commit be6ce1d449
2 changed files with 8 additions and 1 deletions

View File

@@ -37,10 +37,12 @@ module Motion; module Project
def codesign(config, platform)
app_bundle = config.app_bundle_raw('MacOSX')
entitlements = File.join(config.versionized_build_dir(platform), "Entitlements.plist")
if File.mtime(config.project_file) > File.mtime(app_bundle) \
or !system("/usr/bin/codesign --verify \"#{app_bundle}\" >& /dev/null")
App.info 'Codesign', app_bundle
sh "/usr/bin/codesign --force --sign \"#{config.codesign_certificate}\" \"#{app_bundle}\""
File.open(entitlements, 'w') { |io| io.write(config.entitlements_data) }
sh "/usr/bin/codesign --force --sign \"#{config.codesign_certificate}\" --entitlements \"#{entitlements}\" \"#{app_bundle}\""
end
end
end

View File

@@ -70,6 +70,11 @@ module Motion; module Project;
super('Mac')
end
def entitlements_data
dict = entitlements
Motion::PropertyList.to_s(dict)
end
def common_flags(platform)
super + " -mmacosx-version-min=#{deployment_target}"
end