Commit fb3e4de8 authored by André Klitzing's avatar André Klitzing Committed by Brad King

CPack: Add support to overwrite or pass additional parameter to codesign

parent 380db3de
......@@ -52,6 +52,11 @@
# list the main application folder, or the main executable. You should
# list any frameworks and plugins that are included in your app bundle.
#
# .. variable:: CPACK_BUNDLE_APPLE_CODESIGN_PARAMETER
#
# Additional parameter that will passed to codesign.
# Default value: "--deep -f"
#
# .. variable:: CPACK_COMMAND_CODESIGN
#
# Path to the codesign(1) command used to sign applications with an
......
......@@ -221,6 +221,11 @@ int cmCPackBundleGenerator::SignBundle(const std::string& src_dir)
bundle_path += ".app";
// A list of additional files to sign, ie. frameworks and plugins.
const std::string sign_parameter =
this->GetOption("CPACK_BUNDLE_APPLE_CODESIGN_PARAMETER")
? this->GetOption("CPACK_BUNDLE_APPLE_CODESIGN_PARAMETER")
: "--deep -f";
const std::string sign_files =
this->GetOption("CPACK_BUNDLE_APPLE_CODESIGN_FILES")
? this->GetOption("CPACK_BUNDLE_APPLE_CODESIGN_FILES") : "";
......@@ -234,7 +239,8 @@ int cmCPackBundleGenerator::SignBundle(const std::string& src_dir)
{
std::ostringstream temp_sign_file_cmd;
temp_sign_file_cmd << this->GetOption("CPACK_COMMAND_CODESIGN");
temp_sign_file_cmd << " --deep -f -s \"" << cpack_apple_cert_app;
temp_sign_file_cmd << " " << sign_parameter << " -s \""
<< cpack_apple_cert_app;
temp_sign_file_cmd << "\" -i ";
temp_sign_file_cmd << this->GetOption("CPACK_APPLE_BUNDLE_ID");
temp_sign_file_cmd << " \"";
......@@ -254,7 +260,8 @@ int cmCPackBundleGenerator::SignBundle(const std::string& src_dir)
// sign main binary
std::ostringstream temp_sign_binary_cmd;
temp_sign_binary_cmd << this->GetOption("CPACK_COMMAND_CODESIGN");
temp_sign_binary_cmd << " --deep -f -s \"" << cpack_apple_cert_app;
temp_sign_binary_cmd << " " << sign_parameter << " -s \""
<< cpack_apple_cert_app;
temp_sign_binary_cmd << "\" \"" << bundle_path << "\"";
if(!this->RunCommand(temp_sign_binary_cmd, &output))
......@@ -269,7 +276,8 @@ int cmCPackBundleGenerator::SignBundle(const std::string& src_dir)
// sign app bundle
std::ostringstream temp_codesign_cmd;
temp_codesign_cmd << this->GetOption("CPACK_COMMAND_CODESIGN");
temp_codesign_cmd << " --deep -f -s \"" << cpack_apple_cert_app << "\"";
temp_codesign_cmd << " " << sign_parameter << " -s \""
<< cpack_apple_cert_app << "\"";
if(this->GetOption("CPACK_BUNDLE_APPLE_ENTITLEMENTS"))
{
temp_codesign_cmd << " --entitlements ";
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment