diff options
Diffstat (limited to 'Source')
-rw-r--r-- | Source/CMakeVersion.cmake | 2 | ||||
-rw-r--r-- | Source/CPack/cmCPackProductBuildGenerator.cxx | 22 |
2 files changed, 23 insertions, 1 deletions
diff --git a/Source/CMakeVersion.cmake b/Source/CMakeVersion.cmake index fd32907..8db6f58 100644 --- a/Source/CMakeVersion.cmake +++ b/Source/CMakeVersion.cmake @@ -1,5 +1,5 @@ # CMake version number components. set(CMake_VERSION_MAJOR 3) set(CMake_VERSION_MINOR 7) -set(CMake_VERSION_PATCH 20170203) +set(CMake_VERSION_PATCH 20170206) #set(CMake_VERSION_RC 1) diff --git a/Source/CPack/cmCPackProductBuildGenerator.cxx b/Source/CPack/cmCPackProductBuildGenerator.cxx index a46e3a6..a5a18dc 100644 --- a/Source/CPack/cmCPackProductBuildGenerator.cxx +++ b/Source/CPack/cmCPackProductBuildGenerator.cxx @@ -75,6 +75,14 @@ int cmCPackProductBuildGenerator::PackageFiles() std::string version = this->GetOption("CPACK_PACKAGE_VERSION"); std::string productbuild = this->GetOption("CPACK_COMMAND_PRODUCTBUILD"); + std::string identityName; + if (const char* n = this->GetOption("CPACK_PRODUCTBUILD_IDENTITY_NAME")) { + identityName = n; + } + std::string keychainPath; + if (const char* p = this->GetOption("CPACK_PRODUCTBUILD_KEYCHAIN_PATH")) { + keychainPath = p; + } pkgCmd << productbuild << " --distribution \"" << packageDirFileName << "/Contents/distribution.dist\"" @@ -82,6 +90,9 @@ int cmCPackProductBuildGenerator::PackageFiles() << "\"" << " --resources \"" << resDir << "\"" << " --version \"" << version << "\"" + << (identityName.empty() ? "" : " --sign \"" + identityName + "\"") + << (keychainPath.empty() ? "" + : " --keychain \"" + keychainPath + "\"") << " \"" << packageFileNames[0] << "\""; // Run ProductBuild @@ -193,12 +204,23 @@ bool cmCPackProductBuildGenerator::GenerateComponentPackage( std::string version = this->GetOption("CPACK_PACKAGE_VERSION"); std::string pkgbuild = this->GetOption("CPACK_COMMAND_PKGBUILD"); + std::string identityName; + if (const char* n = this->GetOption("CPACK_PKGBUILD_IDENTITY_NAME")) { + identityName = n; + } + std::string keychainPath; + if (const char* p = this->GetOption("CPACK_PKGBUILD_KEYCHAIN_PATH")) { + keychainPath = p; + } pkgCmd << pkgbuild << " --root \"" << packageDir << "\"" << " --identifier \"" << pkgId << "\"" << " --scripts \"" << scriptDir << "\"" << " --version \"" << version << "\"" << " --install-location \"/\"" + << (identityName.empty() ? "" : " --sign \"" + identityName + "\"") + << (keychainPath.empty() ? "" + : " --keychain \"" + keychainPath + "\"") << " \"" << packageFile << "\""; // Run ProductBuild |