summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Help/release/dev/wix-feature-patch.rst5
-rw-r--r--Modules/CPackWIX.cmake2
-rw-r--r--Source/CMakeVersion.cmake2
-rw-r--r--Source/CPack/WiX/cmCPackWIXGenerator.cxx4
-rw-r--r--Source/CPack/WiX/cmWIXFeaturesSourceWriter.cxx12
-rw-r--r--Source/CPack/WiX/cmWIXFeaturesSourceWriter.h7
-rw-r--r--Source/cmGlobalVisualStudio10Generator.cxx4
-rw-r--r--Utilities/cmlibuv/CMakeLists.txt9
8 files changed, 35 insertions, 10 deletions
diff --git a/Help/release/dev/wix-feature-patch.rst b/Help/release/dev/wix-feature-patch.rst
new file mode 100644
index 0000000..0b1cbe3
--- /dev/null
+++ b/Help/release/dev/wix-feature-patch.rst
@@ -0,0 +1,5 @@
+wix-feature-patch
+-----------------
+
+* The CPack WIX generator now supports
+ CPACK_WIX_PATCH_FILE fragments for Feature elements.
diff --git a/Modules/CPackWIX.cmake b/Modules/CPackWIX.cmake
index 08ff0cb..d02df2d 100644
--- a/Modules/CPackWIX.cmake
+++ b/Modules/CPackWIX.cmake
@@ -147,7 +147,7 @@
# }
#
# Currently fragments can be injected into most
-# Component, File and Directory elements.
+# Component, File, Directory and Feature elements.
#
# The following additional special Ids can be used:
#
diff --git a/Source/CMakeVersion.cmake b/Source/CMakeVersion.cmake
index a0020d1..e77c982 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 6)
-set(CMake_VERSION_PATCH 20160909)
+set(CMake_VERSION_PATCH 20160912)
#set(CMake_VERSION_RC 1)
diff --git a/Source/CPack/WiX/cmCPackWIXGenerator.cxx b/Source/CPack/WiX/cmCPackWIXGenerator.cxx
index 85e0ae3..ba5787e 100644
--- a/Source/CPack/WiX/cmCPackWIXGenerator.cxx
+++ b/Source/CPack/WiX/cmCPackWIXGenerator.cxx
@@ -628,7 +628,7 @@ bool cmCPackWIXGenerator::CreateFeatureHierarchy(
i != ComponentGroups.end(); ++i) {
cmCPackComponentGroup const& group = i->second;
if (group.ParentGroup == 0) {
- featureDefinitions.EmitFeatureForComponentGroup(group);
+ featureDefinitions.EmitFeatureForComponentGroup(group, *this->Patch);
}
}
@@ -638,7 +638,7 @@ bool cmCPackWIXGenerator::CreateFeatureHierarchy(
cmCPackComponent const& component = i->second;
if (!component.Group) {
- featureDefinitions.EmitFeatureForComponent(component);
+ featureDefinitions.EmitFeatureForComponent(component, *this->Patch);
}
}
diff --git a/Source/CPack/WiX/cmWIXFeaturesSourceWriter.cxx b/Source/CPack/WiX/cmWIXFeaturesSourceWriter.cxx
index 7794935..c9f17cc 100644
--- a/Source/CPack/WiX/cmWIXFeaturesSourceWriter.cxx
+++ b/Source/CPack/WiX/cmWIXFeaturesSourceWriter.cxx
@@ -42,7 +42,7 @@ void cmWIXFeaturesSourceWriter::CreateCMakePackageRegistryEntry(
}
void cmWIXFeaturesSourceWriter::EmitFeatureForComponentGroup(
- cmCPackComponentGroup const& group)
+ cmCPackComponentGroup const& group, cmWIXPatch& patch)
{
BeginElement("Feature");
AddAttribute("Id", "CM_G_" + group.Name);
@@ -57,20 +57,22 @@ void cmWIXFeaturesSourceWriter::EmitFeatureForComponentGroup(
for (std::vector<cmCPackComponentGroup*>::const_iterator i =
group.Subgroups.begin();
i != group.Subgroups.end(); ++i) {
- EmitFeatureForComponentGroup(**i);
+ EmitFeatureForComponentGroup(**i, patch);
}
for (std::vector<cmCPackComponent*>::const_iterator i =
group.Components.begin();
i != group.Components.end(); ++i) {
- EmitFeatureForComponent(**i);
+ EmitFeatureForComponent(**i, patch);
}
+ patch.ApplyFragment("CM_G_" + group.Name, *this);
+
EndElement("Feature");
}
void cmWIXFeaturesSourceWriter::EmitFeatureForComponent(
- cmCPackComponent const& component)
+ cmCPackComponent const& component, cmWIXPatch& patch)
{
BeginElement("Feature");
AddAttribute("Id", "CM_C_" + component.Name);
@@ -90,6 +92,8 @@ void cmWIXFeaturesSourceWriter::EmitFeatureForComponent(
AddAttribute("Level", "2");
}
+ patch.ApplyFragment("CM_C_" + component.Name, *this);
+
EndElement("Feature");
}
diff --git a/Source/CPack/WiX/cmWIXFeaturesSourceWriter.h b/Source/CPack/WiX/cmWIXFeaturesSourceWriter.h
index 9974b63..124ed42 100644
--- a/Source/CPack/WiX/cmWIXFeaturesSourceWriter.h
+++ b/Source/CPack/WiX/cmWIXFeaturesSourceWriter.h
@@ -13,6 +13,7 @@
#ifndef cmWIXFeaturesSourceWriter_h
#define cmWIXFeaturesSourceWriter_h
+#include "cmWIXPatch.h"
#include "cmWIXSourceWriter.h"
#include <CPack/cmCPackGenerator.h>
@@ -29,9 +30,11 @@ public:
void CreateCMakePackageRegistryEntry(std::string const& package,
std::string const& upgradeGuid);
- void EmitFeatureForComponentGroup(const cmCPackComponentGroup& group);
+ void EmitFeatureForComponentGroup(const cmCPackComponentGroup& group,
+ cmWIXPatch& patch);
- void EmitFeatureForComponent(const cmCPackComponent& component);
+ void EmitFeatureForComponent(const cmCPackComponent& component,
+ cmWIXPatch& patch);
void EmitComponentRef(std::string const& id);
};
diff --git a/Source/cmGlobalVisualStudio10Generator.cxx b/Source/cmGlobalVisualStudio10Generator.cxx
index 8bb43ee..ac9c8ef 100644
--- a/Source/cmGlobalVisualStudio10Generator.cxx
+++ b/Source/cmGlobalVisualStudio10Generator.cxx
@@ -482,6 +482,10 @@ void cmGlobalVisualStudio10Generator::GenerateBuildCommand(
bool cmGlobalVisualStudio10Generator::Find64BitTools(cmMakefile* mf)
{
+ if (this->DefaultPlatformToolset == "v100") {
+ // The v100 64-bit toolset does not exist in the express edition.
+ this->DefaultPlatformToolset.clear();
+ }
if (this->GetPlatformToolset()) {
return true;
}
diff --git a/Utilities/cmlibuv/CMakeLists.txt b/Utilities/cmlibuv/CMakeLists.txt
index e25ac82..1b384b5 100644
--- a/Utilities/cmlibuv/CMakeLists.txt
+++ b/Utilities/cmlibuv/CMakeLists.txt
@@ -168,6 +168,9 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
endif()
if(CMAKE_SYSTEM_NAME STREQUAL "FreeBSD")
+ list(APPEND uv_libraries
+ kvm
+ )
list(APPEND uv_headers
include/uv-bsd.h
)
@@ -178,6 +181,9 @@ if(CMAKE_SYSTEM_NAME STREQUAL "FreeBSD")
endif()
if(CMAKE_SYSTEM_NAME STREQUAL "NetBSD")
+ list(APPEND uv_libraries
+ kvm
+ )
list(APPEND uv_headers
include/uv-bsd.h
)
@@ -188,6 +194,9 @@ if(CMAKE_SYSTEM_NAME STREQUAL "NetBSD")
endif()
if(CMAKE_SYSTEM_NAME STREQUAL "OpenBSD")
+ list(APPEND uv_libraries
+ kvm
+ )
list(APPEND uv_headers
include/uv-bsd.h
)