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  abe5e4a93c0f0a2041cf670371c4b8604595ae59 (commit)
       via  a4c6b4d6b17b430c23aab2f7452e4fe860244916 (commit)
       via  de77d4a741c84e0b5774e79a0c84e945e25ad9f8 (commit)
      from  8afdd81e1c8ad9f42506fa38e5d005427beef0c0 (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 -----------------------------------------------------------------
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=abe5e4a93c0f0a2041cf670371c4b8604595ae59
commit abe5e4a93c0f0a2041cf670371c4b8604595ae59
Merge: 8afdd81 a4c6b4d
Author:     Nils Gladitz <nilsglad...@gmail.com>
AuthorDate: Mon Dec 14 17:29:06 2015 -0500
Commit:     CMake Topic Stage <kwro...@kitware.com>
CommitDate: Mon Dec 14 17:29:06 2015 -0500

    Merge topic 'release-wix-config-ng' into next
    
    a4c6b4d6 CMake: Mimic NSIS options dialog in WiX installer
    de77d4a7 CPackWIX: Allow multiple patch files and diagnose if any are 
missing


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=a4c6b4d6b17b430c23aab2f7452e4fe860244916
commit a4c6b4d6b17b430c23aab2f7452e4fe860244916
Author:     Nils Gladitz <nilsglad...@gmail.com>
AuthorDate: Thu Dec 10 23:55:07 2015 +0100
Commit:     Nils Gladitz <nilsglad...@gmail.com>
CommitDate: Mon Dec 14 23:28:44 2015 +0100

    CMake: Mimic NSIS options dialog in WiX installer

diff --git a/CMakeCPackOptions.cmake.in b/CMakeCPackOptions.cmake.in
index 4ebf306..09568c3 100644
--- a/CMakeCPackOptions.cmake.in
+++ b/CMakeCPackOptions.cmake.in
@@ -234,10 +234,31 @@ if("${CPACK_GENERATOR}" STREQUAL "WIX")
   set(CPACK_WIX_LIGHT_EXTRA_FLAGS "-dcl:high")
 
   set(CPACK_WIX_UI_BANNER
-    "@CMake_SOURCE_DIR@/Utilities/Release/cpack_wix_ui_banner.jpg"
+    "@CMake_SOURCE_DIR@/Utilities/Release/WiX/ui_banner.jpg"
   )
 
   set(CPACK_WIX_UI_DIALOG
-    "@CMake_SOURCE_DIR@/Utilities/Release/cpack_wix_ui_dialog.jpg"
+    "@CMake_SOURCE_DIR@/Utilities/Release/WiX/ui_dialog.jpg"
   )
+
+  set(CPACK_WIX_EXTRA_SOURCES
+    "@CMake_SOURCE_DIR@/Utilities/Release/WiX/install_dir.wxs"
+    "@CMake_SOURCE_DIR@/Utilities/Release/WiX/cmake_extra_dialog.wxs"
+  )
+
+  set(CPACK_WIX_UI_REF "CMakeUI_InstallDir")
+
+  set(CPACK_WIX_PATCH_FILE
+    "@CMake_SOURCE_DIR@/Utilities/Release/WiX/patch_path_env.xml"
+  )
+
+  set(BUILD_QtDialog "@BUILD_QtDialog@")
+
+  if(BUILD_QtDialog)
+    list(APPEND CPACK_WIX_PATCH_FILE
+      "@CMake_SOURCE_DIR@/Utilities/Release/WiX/patch_desktop_shortcut.xml"
+    )
+
+    set(CPACK_WIX_CANDLE_EXTRA_FLAGS "-dBUILD_QtDialog=1")
+  endif()
 endif()
diff --git a/Utilities/Release/WiX/cmake_extra_dialog.wxs 
b/Utilities/Release/WiX/cmake_extra_dialog.wxs
new file mode 100644
index 0000000..0ee3d99
--- /dev/null
+++ b/Utilities/Release/WiX/cmake_extra_dialog.wxs
@@ -0,0 +1,36 @@
+<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi";>
+       <Fragment>
+               <UI>
+                       <Property Id="ADD_CMAKE_TO_PATH" Value="None"/>
+                       <Dialog Id="CMakeExtraDialog" Width="370" Height="270" 
Title="Install Options">
+
+                               <Control Id="Next" Type="PushButton" X="236" 
Y="243" Width="56" Height="17" Default="yes" Text="!(loc.WixUINext)"/>
+                               <Control Id="Back" Type="PushButton" X="180" 
Y="243" Width="56" Height="17" Text="!(loc.WixUIBack)"/>
+
+                               <Control Id="Cancel" Type="PushButton" X="304" 
Y="243" Width="56" Height="17" Cancel="yes" Text="!(loc.WixUICancel)">
+                                       <Publish Event="SpawnDialog" 
Value="CancelDlg">1</Publish>
+                               </Control>
+
+                               <Control Id="Description" Type="Text" X="25" 
Y="23" Width="280" Height="15" Transparent="yes" NoPrefix="yes" Text="Choose 
options for installing CMake [ProductVersion]"/>
+                               <Control Id="Title" Type="Text" X="15" Y="6" 
Width="200" Height="15" Transparent="yes" NoPrefix="yes" Text="Install 
Options"/>
+                               <Control Id="BannerBitmap" Type="Bitmap" X="0" 
Y="0" Width="370" Height="44" TabSkip="no" 
Text="!(loc.InstallDirDlgBannerBitmap)"/>
+                               <Control Id="BannerLine" Type="Line" X="0" 
Y="44" Width="370" Height="0"/>
+                               <Control Id="BottomLine" Type="Line" X="0" 
Y="234" Width="370" Height="0"/>
+
+                               <Control Id="Hint" Type="Text" X="26" Y="60" 
Width="250" Height="16" Transparent="yes" Text="By default CMake does not add 
its directory to the system PATH."/>
+
+                               <Control Id="ADD_CMAKE_TO_PATHOption" 
Type="RadioButtonGroup" X="26" Y="100" Width="305" Height="65" 
Property="ADD_CMAKE_TO_PATH">
+                                       <RadioButtonGroup 
Property="ADD_CMAKE_TO_PATH">
+                                               <RadioButton Value="None" X="0" 
Y="0" Width="295" Height="16" Text="Do not add CMake to the system PATH"/>
+                                               <RadioButton Value="System" 
X="0" Y="20" Width="295" Height="16" Text="Add CMake to the system PATH for all 
users"/>
+                                               <RadioButton Value="User" X="0" 
Y="40" Width="295" Height="16" Text="Add CMake to the system PATH for the 
current user"/>
+                                       </RadioButtonGroup>
+                               </Control>
+
+                               <?ifdef BUILD_QtDialog ?>
+                                       <Control Id="DesktopShortcutCheckBox" 
Type="CheckBox" X="20" Y="170" Width="330" Height="18" CheckBoxValue="1" 
Property="DESKTOP_SHORTCUT_REQUESTED" Text="Create CMake Desktop Icon"/>
+                               <?endif ?>
+                       </Dialog>
+               </UI>
+       </Fragment>
+</Wix>
diff --git a/Utilities/Release/WiX/install_dir.wxs 
b/Utilities/Release/WiX/install_dir.wxs
new file mode 100644
index 0000000..883efba
--- /dev/null
+++ b/Utilities/Release/WiX/install_dir.wxs
@@ -0,0 +1,61 @@
+<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi";>
+       <Fragment>
+               <UI Id="CMakeUI_InstallDir">
+                       <TextStyle Id="WixUI_Font_Normal" FaceName="Tahoma" 
Size="8" />
+                       <TextStyle Id="WixUI_Font_Bigger" FaceName="Tahoma" 
Size="12" />
+                       <TextStyle Id="WixUI_Font_Title" FaceName="Tahoma" 
Size="9" Bold="yes" />
+
+                       <Property Id="DefaultUIFont" Value="WixUI_Font_Normal" 
/>
+                       <Property Id="WixUI_Mode" Value="InstallDir" />
+
+                       <DialogRef Id="CMakeExtraDialog" />
+
+                       <DialogRef Id="BrowseDlg" />
+                       <DialogRef Id="DiskCostDlg" />
+                       <DialogRef Id="ErrorDlg" />
+                       <DialogRef Id="FatalError" />
+                       <DialogRef Id="FilesInUse" />
+                       <DialogRef Id="MsiRMFilesInUse" />
+                       <DialogRef Id="PrepareDlg" />
+                       <DialogRef Id="ProgressDlg" />
+                       <DialogRef Id="ResumeDlg" />
+                       <DialogRef Id="UserExit" />
+
+                       <Publish Dialog="BrowseDlg" Control="OK" 
Event="DoAction" Value="WixUIValidatePath" Order="3">1</Publish>
+                       <Publish Dialog="BrowseDlg" Control="OK" 
Event="SpawnDialog" Value="InvalidDirDlg" 
Order="4"><![CDATA[WIXUI_INSTALLDIR_VALID<>"1"]]></Publish>
+
+                       <Publish Dialog="ExitDialog" Control="Finish" 
Event="EndDialog" Value="Return" Order="999">1</Publish>
+
+                       <Publish Dialog="WelcomeDlg" Control="Next" 
Event="NewDialog" Value="LicenseAgreementDlg">NOT Installed</Publish>
+                       <Publish Dialog="WelcomeDlg" Control="Next" 
Event="NewDialog" Value="VerifyReadyDlg">Installed AND PATCH</Publish>
+
+                       <Publish Dialog="LicenseAgreementDlg" Control="Back" 
Event="NewDialog" Value="WelcomeDlg">1</Publish>
+                       <Publish Dialog="LicenseAgreementDlg" Control="Next" 
Event="NewDialog" Value="CMakeExtraDialog">LicenseAccepted = "1"</Publish>
+
+                       <Publish Dialog="InstallDirDlg" Control="Back" 
Event="NewDialog" Value="CMakeExtraDialog">1</Publish>
+                       <Publish Dialog="InstallDirDlg" Control="Next" 
Event="SetTargetPath" Value="[WIXUI_INSTALLDIR]" Order="1">1</Publish>
+                       <Publish Dialog="InstallDirDlg" Control="Next" 
Event="DoAction" Value="WixUIValidatePath" Order="2">NOT 
WIXUI_DONTVALIDATEPATH</Publish>
+                       <Publish Dialog="InstallDirDlg" Control="Next" 
Event="SpawnDialog" Value="InvalidDirDlg" Order="3"><![CDATA[NOT 
WIXUI_DONTVALIDATEPATH AND WIXUI_INSTALLDIR_VALID<>"1"]]></Publish>
+                       <Publish Dialog="InstallDirDlg" Control="Next" 
Event="NewDialog" Value="VerifyReadyDlg" Order="4">WIXUI_DONTVALIDATEPATH OR 
WIXUI_INSTALLDIR_VALID="1"</Publish>
+                       <Publish Dialog="InstallDirDlg" Control="ChangeFolder" 
Property="_BrowseProperty" Value="[WIXUI_INSTALLDIR]" Order="1">1</Publish>
+                       <Publish Dialog="InstallDirDlg" Control="ChangeFolder" 
Event="SpawnDialog" Value="BrowseDlg" Order="2">1</Publish>
+
+                       <Publish Dialog="CMakeExtraDialog" Control="Back" 
Event="NewDialog" Value="LicenseAgreementDlg">1</Publish>
+                       <Publish Dialog="CMakeExtraDialog" Control="Next" 
Event="NewDialog" Value="InstallDirDlg">1</Publish>
+
+                       <Publish Dialog="VerifyReadyDlg" Control="Back" 
Event="NewDialog" Value="InstallDirDlg" Order="1">NOT Installed</Publish>
+                       <Publish Dialog="VerifyReadyDlg" Control="Back" 
Event="NewDialog" Value="MaintenanceTypeDlg" Order="2">Installed AND NOT 
PATCH</Publish>
+                       <Publish Dialog="VerifyReadyDlg" Control="Back" 
Event="NewDialog" Value="WelcomeDlg" Order="2">Installed AND PATCH</Publish>
+
+                       <Publish Dialog="MaintenanceWelcomeDlg" Control="Next" 
Event="NewDialog" Value="MaintenanceTypeDlg">1</Publish>
+
+                       <Publish Dialog="MaintenanceTypeDlg" 
Control="RepairButton" Event="NewDialog" Value="VerifyReadyDlg">1</Publish>
+                       <Publish Dialog="MaintenanceTypeDlg" 
Control="RemoveButton" Event="NewDialog" Value="VerifyReadyDlg">1</Publish>
+                       <Publish Dialog="MaintenanceTypeDlg" Control="Back" 
Event="NewDialog" Value="MaintenanceWelcomeDlg">1</Publish>
+
+                       <Property Id="ARPNOMODIFY" Value="1" />
+               </UI>
+
+               <UIRef Id="WixUI_Common" />
+       </Fragment>
+</Wix>
diff --git a/Utilities/Release/WiX/patch_desktop_shortcut.xml 
b/Utilities/Release/WiX/patch_desktop_shortcut.xml
new file mode 100644
index 0000000..d30705d
--- /dev/null
+++ b/Utilities/Release/WiX/patch_desktop_shortcut.xml
@@ -0,0 +1,5 @@
+<CPackWiXPatch>
+  <CPackWiXFragment Id="CM_SHORTCUT_DESKTOP">
+    <Condition>DESKTOP_SHORTCUT_REQUESTED = 1</Condition>
+  </CPackWiXFragment>
+</CPackWiXPatch>
diff --git a/Utilities/Release/WiX/patch_path_env.xml 
b/Utilities/Release/WiX/patch_path_env.xml
new file mode 100644
index 0000000..0e335c4
--- /dev/null
+++ b/Utilities/Release/WiX/patch_path_env.xml
@@ -0,0 +1,26 @@
+<CPackWiXPatch>
+  <CPackWiXFragment Id="CM_DP_bin">
+    <Component Id="CMakeSystemPathEntryCMP" KeyPath="yes" 
Guid="0E782367-5D68-4539-81D1-B9757AE496A1">
+
+      <Condition>ADD_CMAKE_TO_PATH = "System"</Condition>
+
+      <Environment Id="CMakeSystemPathEntryENV" Action="set" Part="last"
+        Name="PATH" Value="[INSTALL_ROOT]bin"
+        System="yes"/>
+    </Component>
+
+    <Component Id="CMakeUserPathEntryCMP" KeyPath="yes" 
Guid="392E524D-D5BF-4F16-A7AF-A82B07482CB9">
+
+      <Condition>ADD_CMAKE_TO_PATH = "User"</Condition>
+
+      <Environment Id="CMakeUserPathEntryENV" Action="set" Part="last"
+        Name="PATH" Value="[INSTALL_ROOT]bin"
+        System="no"/>
+    </Component>
+  </CPackWiXFragment>
+
+  <CPackWiXFragment Id="#PRODUCTFEATURE">
+    <ComponentRef Id="CMakeSystemPathEntryCMP"/>
+    <ComponentRef Id="CMakeUserPathEntryCMP"/>
+  </CPackWiXFragment>
+</CPackWiXPatch>
diff --git a/Utilities/Release/cpack_wix_ui_banner.jpg 
b/Utilities/Release/WiX/ui_banner.jpg
similarity index 100%
rename from Utilities/Release/cpack_wix_ui_banner.jpg
rename to Utilities/Release/WiX/ui_banner.jpg
diff --git a/Utilities/Release/cpack_wix_ui_dialog.jpg 
b/Utilities/Release/WiX/ui_dialog.jpg
similarity index 100%
rename from Utilities/Release/cpack_wix_ui_dialog.jpg
rename to Utilities/Release/WiX/ui_dialog.jpg

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=de77d4a741c84e0b5774e79a0c84e945e25ad9f8
commit de77d4a741c84e0b5774e79a0c84e945e25ad9f8
Author:     Nils Gladitz <nilsglad...@gmail.com>
AuthorDate: Mon Dec 14 23:04:41 2015 +0100
Commit:     Nils Gladitz <nilsglad...@gmail.com>
CommitDate: Mon Dec 14 23:28:42 2015 +0100

    CPackWIX: Allow multiple patch files and diagnose if any are missing
    
    CPACK_WIX_PATCH_FILE now accepts a list of patch files.
    An error will now be produced if any of the patch files is missing.
    
    Previously this would be silently ignored.

diff --git a/Modules/CPackWIX.cmake b/Modules/CPackWIX.cmake
index bef8e16..4994005 100644
--- a/Modules/CPackWIX.cmake
+++ b/Modules/CPackWIX.cmake
@@ -119,7 +119,8 @@
 #
 # .. variable:: CPACK_WIX_PATCH_FILE
 #
-#  Optional XML file with fragments to be inserted into generated WiX sources
+#  Optional list of XML files with fragments to be inserted into
+#  generated WiX sources
 #
 #  This optional variable can be used to specify an XML file that the
 #  WiX generator will use to inject fragments into its generated
diff --git a/Source/CPack/WiX/cmCPackWIXGenerator.cxx 
b/Source/CPack/WiX/cmCPackWIXGenerator.cxx
index b55c5a5..ece327a 100644
--- a/Source/CPack/WiX/cmCPackWIXGenerator.cxx
+++ b/Source/CPack/WiX/cmCPackWIXGenerator.cxx
@@ -242,7 +242,16 @@ bool cmCPackWIXGenerator::InitializeWiXConfiguration()
   const char* patchFilePath = GetOption("CPACK_WIX_PATCH_FILE");
   if(patchFilePath)
     {
-    this->Patch->LoadFragments(patchFilePath);
+    std::vector<std::string> patchFilePaths;
+    cmSystemTools::ExpandListArgument(patchFilePath, patchFilePaths);
+
+    for(size_t i = 0; i < patchFilePaths.size(); ++i)
+      {
+      if(!this->Patch->LoadFragments(patchFilePaths[i]))
+        {
+        return false;
+        }
+      }
     }
 
   return true;
diff --git a/Source/CPack/WiX/cmWIXPatch.cxx b/Source/CPack/WiX/cmWIXPatch.cxx
index 471c3a4..07375da 100644
--- a/Source/CPack/WiX/cmWIXPatch.cxx
+++ b/Source/CPack/WiX/cmWIXPatch.cxx
@@ -20,10 +20,18 @@ cmWIXPatch::cmWIXPatch(cmCPackLog* logger):
 
 }
 
-void cmWIXPatch::LoadFragments(std::string const& patchFilePath)
+bool cmWIXPatch::LoadFragments(std::string const& patchFilePath)
 {
   cmWIXPatchParser parser(Fragments, Logger);
-  parser.ParseFile(patchFilePath.c_str());
+  if(!parser.ParseFile(patchFilePath.c_str()))
+    {
+    cmCPackLogger(cmCPackLog::LOG_ERROR,
+      "Failed parsing XML patch file: '" <<
+      patchFilePath << "'" << std::endl);
+    return false;
+    }
+
+  return true;
 }
 
 void cmWIXPatch::ApplyFragment(
diff --git a/Source/CPack/WiX/cmWIXPatch.h b/Source/CPack/WiX/cmWIXPatch.h
index d53fcb4..2f31a01 100644
--- a/Source/CPack/WiX/cmWIXPatch.h
+++ b/Source/CPack/WiX/cmWIXPatch.h
@@ -26,7 +26,7 @@ class cmWIXPatch
 public:
   cmWIXPatch(cmCPackLog* logger);
 
-  void LoadFragments(std::string const& patchFilePath);
+  bool LoadFragments(std::string const& patchFilePath);
 
   void ApplyFragment(std::string const& id, cmWIXSourceWriter& writer);
 

-----------------------------------------------------------------------

Summary of changes:


hooks/post-receive
-- 
CMake
_______________________________________________
Cmake-commits mailing list
Cmake-commits@cmake.org
http://public.kitware.com/mailman/listinfo/cmake-commits

Reply via email to