This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "CMake".
The branch, next has been updated
via fb30e0124b292ca9bb384dfede534ac5eb9cbd5c (commit)
via 92c4d4039e6f3c981e8b42d98240e53b8c33bdaf (commit)
from 128da9c8e3aac950f595498244bed9511a658e9d (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=fb30e0124b292ca9bb384dfede534ac5eb9cbd5c
commit fb30e0124b292ca9bb384dfede534ac5eb9cbd5c
Merge: 128da9c 92c4d40
Author: Nils Gladitz <[email protected]>
AuthorDate: Tue Jan 7 19:29:25 2014 -0500
Commit: CMake Topic Stage <[email protected]>
CommitDate: Tue Jan 7 19:29:25 2014 -0500
Merge topic 'wix-cmake-package-registry' into next
92c4d40 CPackWiX: added new CPACK_WIX_CMAKE_PACKAGE_REGISTRY variable
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=92c4d4039e6f3c981e8b42d98240e53b8c33bdaf
commit 92c4d4039e6f3c981e8b42d98240e53b8c33bdaf
Author: Nils Gladitz <[email protected]>
AuthorDate: Wed Jan 8 01:28:24 2014 +0100
Commit: Nils Gladitz <[email protected]>
CommitDate: Wed Jan 8 01:28:24 2014 +0100
CPackWiX: added new CPACK_WIX_CMAKE_PACKAGE_REGISTRY variable
Allows automatic registration of installed packages with
the cmake package registry.
diff --git a/Modules/CPackWIX.cmake b/Modules/CPackWIX.cmake
index 30f57c7..39183c6 100644
--- a/Modules/CPackWIX.cmake
+++ b/Modules/CPackWIX.cmake
@@ -205,6 +205,17 @@
#
# ``<TOOL>`` can be either LIGHT or CANDLE.
#
+# .. variable:: CPACK_WIX_CMAKE_PACKAGE_REGISTRY
+#
+# If this variable is set the generated installer will create
+# an entry in the windows registry key
+# ``HKEY_LOCAL_MACHINE\Software\Kitware\CMake\Packages\<package>``
+# The value for ``<package>`` is provided by this variable.
+#
+# Assuming you also install a CMake configuration file this will
+# allow other CMake projects to find your package with
+# the :command:`find_package` command.
+#
#=============================================================================
# Copyright 2013 Kitware, Inc.
diff --git a/Source/CPack/WiX/cmCPackWIXGenerator.cxx
b/Source/CPack/WiX/cmCPackWIXGenerator.cxx
index a55a6a6..998b5f1 100644
--- a/Source/CPack/WiX/cmCPackWIXGenerator.cxx
+++ b/Source/CPack/WiX/cmCPackWIXGenerator.cxx
@@ -437,7 +437,15 @@ bool cmCPackWIXGenerator::CreateWiXSourceFiles()
featureDefinitions.AddAttribute("Level", "1");
- CreateFeatureHierarchy(featureDefinitions);
+ if(!CreateCMakePackageRegistryEntry(featureDefinitions))
+ {
+ return false;
+ }
+
+ if(!CreateFeatureHierarchy(featureDefinitions))
+ {
+ return false;
+ }
featureDefinitions.EndElement("Feature");
@@ -564,6 +572,39 @@ bool cmCPackWIXGenerator::CreateWiXSourceFiles()
return true;
}
+bool cmCPackWIXGenerator::CreateCMakePackageRegistryEntry(
+ cmWIXSourceWriter& featureDefinitions)
+{
+ const char* package = GetOption("CPACK_WIX_CMAKE_PACKAGE_REGISTRY");
+ if(!package)
+ {
+ return true;
+ }
+
+ featureDefinitions.BeginElement("Component");
+ featureDefinitions.AddAttribute("Id", "CM_PACKAGE_REGISTRY");
+ featureDefinitions.AddAttribute("Directory", "TARGETDIR");
+ featureDefinitions.AddAttribute("Guid", "*");
+
+ std::string registryKey =
+ std::string("Software\\Kitware\\CMake\\Packages\\") + package;
+
+ std::string upgradeGuid = GetOption("CPACK_WIX_UPGRADE_GUID");
+
+ featureDefinitions.BeginElement("RegistryValue");
+ featureDefinitions.AddAttribute("Root", "HKLM");
+ featureDefinitions.AddAttribute("Key", registryKey);
+ featureDefinitions.AddAttribute("Name", upgradeGuid);
+ featureDefinitions.AddAttribute("Type", "string");
+ featureDefinitions.AddAttribute("Value", "[INSTALL_ROOT]");
+ featureDefinitions.AddAttribute("KeyPath", "yes");
+ featureDefinitions.EndElement("RegistryValue");
+
+ featureDefinitions.EndElement("Component");
+
+ return true;
+}
+
bool cmCPackWIXGenerator::CreateFeatureHierarchy(
cmWIXSourceWriter& featureDefinitions)
{
diff --git a/Source/CPack/WiX/cmCPackWIXGenerator.h
b/Source/CPack/WiX/cmCPackWIXGenerator.h
index 0a85ae2..1f4facf 100644
--- a/Source/CPack/WiX/cmCPackWIXGenerator.h
+++ b/Source/CPack/WiX/cmCPackWIXGenerator.h
@@ -81,6 +81,9 @@ private:
bool CreateWiXSourceFiles();
+ bool CreateCMakePackageRegistryEntry(
+ cmWIXSourceWriter& featureDefinitions);
+
bool CreateFeatureHierarchy(
cmWIXSourceWriter& featureDefinitions);
-----------------------------------------------------------------------
Summary of changes:
Modules/CPackWIX.cmake | 11 +++++++
Source/CPack/WiX/cmCPackWIXGenerator.cxx | 43 +++++++++++++++++++++++++++++-
Source/CPack/WiX/cmCPackWIXGenerator.h | 3 ++
3 files changed, 56 insertions(+), 1 deletions(-)
hooks/post-receive
--
CMake
_______________________________________________
Cmake-commits mailing list
[email protected]
http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-commits