From 5cc195f1f4a7630b7ee54dfe9c2761cb5ee2a8e0 Mon Sep 17 00:00:00 2001 From: Mark Ingram Date: Fri, 4 May 2018 11:17:56 +0100 Subject: VS Generator: Only include default certificate if it was actually copied --- Source/cmVisualStudio10TargetGenerator.cxx | 12 ++++++++---- Source/cmVisualStudio10TargetGenerator.h | 1 + 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/Source/cmVisualStudio10TargetGenerator.cxx b/Source/cmVisualStudio10TargetGenerator.cxx index 7a7c647..2e8a2eb 100644 --- a/Source/cmVisualStudio10TargetGenerator.cxx +++ b/Source/cmVisualStudio10TargetGenerator.cxx @@ -3964,6 +3964,7 @@ void cmVisualStudio10TargetGenerator::WriteWinRTPackageCertificateKeyFile( pfxFile, false); ConvertToWindowsSlash(pfxFile); this->AddedFiles.push_back(pfxFile); + this->AddedDefaultCertificate = true; } e1.Element("PackageCertificateKeyFile", pfxFile); @@ -4530,10 +4531,13 @@ void cmVisualStudio10TargetGenerator::WriteCommonMissingFiles( Elem(e1, "Image").Attribute("Include", splashScreen).EndElement(); this->AddedFiles.push_back(splashScreen); - // This file has already been added to the build so don't copy it - std::string keyFile = this->DefaultArtifactDir + "/Windows_TemporaryKey.pfx"; - ConvertToWindowsSlash(keyFile); - Elem(e1, "None").Attribute("Include", keyFile).EndElement(); + if (this->AddedDefaultCertificate) { + // This file has already been added to the build so don't copy it + std::string keyFile = + this->DefaultArtifactDir + "/Windows_TemporaryKey.pfx"; + ConvertToWindowsSlash(keyFile); + Elem(e1, "None").Attribute("Include", keyFile).EndElement(); + } } bool cmVisualStudio10TargetGenerator::ForceOld(const std::string& source) const diff --git a/Source/cmVisualStudio10TargetGenerator.h b/Source/cmVisualStudio10TargetGenerator.h index f6c5a64..ecf19d7 100644 --- a/Source/cmVisualStudio10TargetGenerator.h +++ b/Source/cmVisualStudio10TargetGenerator.h @@ -219,6 +219,7 @@ private: bool IsMissingFiles; std::vector AddedFiles; std::string DefaultArtifactDir; + bool AddedDefaultCertificate = false; // managed C++/C# relevant members typedef std::pair DotNetHintReference; typedef std::vector DotNetHintReferenceList; -- cgit v0.12