[Cmake-commits] CMake branch, next, updated. v2.8.11.2-3278-g8e1dcc1
Brad King
brad.king at kitware.com
Mon Jul 22 09:37:46 EDT 2013
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 8e1dcc15c4487e802f67c9d38607ca26349541d2 (commit)
via bf23891942d95a4075f349f6c4043647d47e546b (commit)
via 155bb01bd5126f36066653a209a3209f6363a7cd (commit)
via bfa2e299ae9a8687c6f13e701c87e68b9e4a5054 (commit)
via 6e51ea9870658ca39e9b3050caada121519da673 (commit)
from f0256bcb76ea0038e6fa638ac793a2a45dbd032c (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=8e1dcc15c4487e802f67c9d38607ca26349541d2
commit 8e1dcc15c4487e802f67c9d38607ca26349541d2
Merge: f0256bc bf23891
Author: Brad King <brad.king at kitware.com>
AuthorDate: Mon Jul 22 09:37:44 2013 -0400
Commit: CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Mon Jul 22 09:37:44 2013 -0400
Merge topic 'cpack-wix' into next
bf23891 CPackWIX: Add support for custom WiX templates
155bb01 CMakeCPack: Provide an upgrade guid for WiX
bfa2e29 CPackWIX: Add option to specify the language(s) of the installer
6e51ea9 CPackWIX: Handle multiple shortcuts in the start menu
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=bf23891942d95a4075f349f6c4043647d47e546b
commit bf23891942d95a4075f349f6c4043647d47e546b
Author: Adam J. Weigold <adam at adamweigold.com>
AuthorDate: Tue Jul 2 17:19:31 2013 -0500
Commit: Brad King <brad.king at kitware.com>
CommitDate: Fri Jul 19 14:50:43 2013 -0400
CPackWIX: Add support for custom WiX templates
WiX provides a lot of functionality for installers that cannot be
supported (easily) in the default WIX.template.in file.
For most users, the default template should be fine. However if users
want to produce merge modules, include custom actions, etc, this new
option allows for a hook into how the wxs is produced.
diff --git a/Modules/CPackWIX.cmake b/Modules/CPackWIX.cmake
index 4f57efa..fce25f0 100644
--- a/Modules/CPackWIX.cmake
+++ b/Modules/CPackWIX.cmake
@@ -93,6 +93,15 @@
# http://wix.sourceforge.net/manual-wix3/WixUI_localization.htm
#
##end
+##variable
+# CPACK_WIX_TEMPLATE - Template file for WiX generation
+#
+# If this variable is set, the specified template will be used to generate the WiX wxs file.
+# This should be used if further customization of the output is required.
+#
+# If this variable is not set, the default MSI template included with CMake will be used.
+#
+##end
#=============================================================================
# Copyright 2012 Kitware, Inc.
diff --git a/Source/CPack/WiX/cmCPackWIXGenerator.cxx b/Source/CPack/WiX/cmCPackWIXGenerator.cxx
index 373a14d..cc9dec7 100644
--- a/Source/CPack/WiX/cmCPackWIXGenerator.cxx
+++ b/Source/CPack/WiX/cmCPackWIXGenerator.cxx
@@ -451,6 +451,10 @@ bool cmCPackWIXGenerator::CreateWiXSourceFiles()
directoryDefinitions.EndElement();
std::string wixTemplate = FindTemplate("WIX.template.in");
+ if(GetOption("CPACK_WIX_TEMPLATE") != 0)
+ {
+ wixTemplate = GetOption("CPACK_WIX_TEMPLATE");
+ }
if(wixTemplate.empty())
{
cmCPackLogger(cmCPackLog::LOG_ERROR,
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=155bb01bd5126f36066653a209a3209f6363a7cd
commit 155bb01bd5126f36066653a209a3209f6363a7cd
Author: Richard Ulrich <richi at paraeasy.ch>
AuthorDate: Wed May 8 17:13:31 2013 +0200
Commit: Brad King <brad.king at kitware.com>
CommitDate: Fri Jul 19 14:50:43 2013 -0400
CMakeCPack: Provide an upgrade guid for WiX
Set CPACK_WIX_UPGRADE_GUID. Without this upgrade GUID, you end up with
multiple instances of the same installation when installing cmake from a
WIX generated installer.
diff --git a/CMakeCPack.cmake b/CMakeCPack.cmake
index a27d000..2495c44 100644
--- a/CMakeCPack.cmake
+++ b/CMakeCPack.cmake
@@ -113,6 +113,8 @@ if(EXISTS "${CMAKE_ROOT}/Modules/CPack.cmake")
include(Utilities/Release/Cygwin/CMakeLists.txt)
endif()
+ set(CPACK_WIX_UPGRADE_GUID "8ffd1d72-b7f1-11e2-8ee5-00238bca4991")
+
# Set the options file that needs to be included inside CMakeCPackOptions.cmake
set(QT_DIALOG_CPACK_OPTIONS_FILE ${CMake_BINARY_DIR}/Source/QtDialog/QtDialogCPack.cmake)
configure_file("${CMake_SOURCE_DIR}/CMakeCPackOptions.cmake.in"
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=bfa2e299ae9a8687c6f13e701c87e68b9e4a5054
commit bfa2e299ae9a8687c6f13e701c87e68b9e4a5054
Author: Richard Ulrich <richi at paraeasy.ch>
AuthorDate: Mon May 6 17:21:42 2013 +0200
Commit: Brad King <brad.king at kitware.com>
CommitDate: Fri Jul 19 14:50:43 2013 -0400
CPackWIX: Add option to specify the language(s) of the installer
Add option "CPACK_WIX_CULTURES".
diff --git a/Modules/CPackWIX.cmake b/Modules/CPackWIX.cmake
index 69a181e..4f57efa 100644
--- a/Modules/CPackWIX.cmake
+++ b/Modules/CPackWIX.cmake
@@ -81,6 +81,17 @@
# CPACK_WIX_PROGRAM_MENU_FOLDER - Start menu folder name for launcher.
#
# If this variable is not set, it will be initialized with CPACK_PACKAGE_NAME
+#
+##end
+##variable
+# CPACK_WIX_CULTURES - Language(s) of the installer
+#
+# Languages are compiled into the WixUI extension library. To use them,
+# simply provide the name of the culture. If you specify more than one
+# culture identifier in a comma or semicolon delimited list, the first one
+# that is found will be used. You can find a list of supported languages at:
+# http://wix.sourceforge.net/manual-wix3/WixUI_localization.htm
+#
##end
#=============================================================================
diff --git a/Source/CPack/WiX/cmCPackWIXGenerator.cxx b/Source/CPack/WiX/cmCPackWIXGenerator.cxx
index cfb655b..373a14d 100644
--- a/Source/CPack/WiX/cmCPackWIXGenerator.cxx
+++ b/Source/CPack/WiX/cmCPackWIXGenerator.cxx
@@ -100,6 +100,11 @@ bool cmCPackWIXGenerator::RunLightCommand(const std::string& objectFiles)
command << " -nologo";
command << " -out " << QuotePath(packageFileNames.at(0));
command << " -ext WixUIExtension";
+ const char* const cultures = GetOption("CPACK_WIX_CULTURES");
+ if(cultures)
+ {
+ command << " -cultures:" << cultures;
+ }
command << " " << objectFiles;
return RunWiXCommand(command.str());
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=6e51ea9870658ca39e9b3050caada121519da673
commit 6e51ea9870658ca39e9b3050caada121519da673
Author: Richard Ulrich <richi at paraeasy.ch>
AuthorDate: Wed May 8 16:39:32 2013 +0200
Commit: Brad King <brad.king at kitware.com>
CommitDate: Fri Jul 19 14:50:42 2013 -0400
CPackWIX: Handle multiple shortcuts in the start menu
diff --git a/Source/CPack/WiX/cmCPackWIXGenerator.cxx b/Source/CPack/WiX/cmCPackWIXGenerator.cxx
index f443905..cfb655b 100644
--- a/Source/CPack/WiX/cmCPackWIXGenerator.cxx
+++ b/Source/CPack/WiX/cmCPackWIXGenerator.cxx
@@ -380,7 +380,14 @@ bool cmCPackWIXGenerator::CreateWiXSourceFiles()
directoryDefinitions.EndElement();
directoryDefinitions.EndElement();
- if (dirIdExecutables.size() > 0 && dirIdExecutables.size() % 3 == 0) {
+ if (dirIdExecutables.size() > 0 && dirIdExecutables.size() % 3 == 0)
+ {
+ fileDefinitions.BeginElement("DirectoryRef");
+ fileDefinitions.AddAttribute("Id", "PROGRAM_MENU_FOLDER");
+ fileDefinitions.BeginElement("Component");
+ fileDefinitions.AddAttribute("Id", "SHORTCUT");
+ fileDefinitions.AddAttribute("Guid", "*");
+
std::vector<std::string>::iterator it;
for ( it = dirIdExecutables.begin() ;
it != dirIdExecutables.end();
@@ -390,13 +397,12 @@ bool cmCPackWIXGenerator::CreateWiXSourceFiles()
std::string iconName = *it++;
std::string directoryId = *it;
- fileDefinitions.BeginElement("DirectoryRef");
- fileDefinitions.AddAttribute("Id", "PROGRAM_MENU_FOLDER");
- fileDefinitions.BeginElement("Component");
- fileDefinitions.AddAttribute("Id", "SHORTCUT");
- fileDefinitions.AddAttribute("Guid", "*");
fileDefinitions.BeginElement("Shortcut");
- fileDefinitions.AddAttribute("Id", "SHORTCUT_");
+ std::string shortcutName = fileName; // the iconName is mor likely to contain blanks early on
+ std::string::size_type const dotPos = shortcutName.find('.');
+ if(std::string::npos == dotPos)
+ { shortcutName = shortcutName.substr(0, dotPos); }
+ fileDefinitions.AddAttribute("Id", "SHORTCUT_" + shortcutName);
fileDefinitions.AddAttribute("Name", iconName);
std::string target = "[" + directoryId + "]" + fileName;
fileDefinitions.AddAttribute("Target", target);
-----------------------------------------------------------------------
Summary of changes:
hooks/post-receive
--
CMake
More information about the Cmake-commits
mailing list