[Cmake-commits] CMake branch, next, updated. v2.8.10.1-957-ga97ee4a

David Cole david.cole at kitware.com
Tue Nov 20 16:51:37 EST 2012


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  a97ee4ad723400b55e9cbe4a34bc20a963a5a3bf (commit)
       via  6ff730a4983d15f3e115a919eb18d866f8c65507 (commit)
       via  51da766a6d85397f9244f5ec426091848d9318ff (commit)
      from  8d7b04bef2138b9ba0c4ed78729174738210bd03 (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=a97ee4ad723400b55e9cbe4a34bc20a963a5a3bf
commit a97ee4ad723400b55e9cbe4a34bc20a963a5a3bf
Merge: 8d7b04b 6ff730a
Author:     David Cole <david.cole at kitware.com>
AuthorDate: Tue Nov 20 16:51:35 2012 -0500
Commit:     CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Tue Nov 20 16:51:35 2012 -0500

    Merge topic 'cpack-nsis64-patches' into next
    
    6ff730a CPack/NSIS: Add support for 64-bit NSIS (#13203)
    51da766 CPack/NSIS: Fix compatibility issues with prerelease NSIS (#13202)


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=6ff730a4983d15f3e115a919eb18d866f8c65507
commit 6ff730a4983d15f3e115a919eb18d866f8c65507
Author:     David Golub <golubdr at gmail.com>
AuthorDate: Wed May 9 15:33:44 2012 -0400
Commit:     David Cole <david.cole at kitware.com>
CommitDate: Mon Nov 19 20:08:31 2012 -0500

    CPack/NSIS: Add support for 64-bit NSIS (#13203)

diff --git a/Source/CPack/cmCPackGeneratorFactory.cxx b/Source/CPack/cmCPackGeneratorFactory.cxx
index 37ff460..eba1ef9 100644
--- a/Source/CPack/cmCPackGeneratorFactory.cxx
+++ b/Source/CPack/cmCPackGeneratorFactory.cxx
@@ -61,6 +61,8 @@ cmCPackGeneratorFactory::cmCPackGeneratorFactory()
     {
     this->RegisterGenerator("NSIS", "Null Soft Installer",
       cmCPackNSISGenerator::CreateGenerator);
+    this->RegisterGenerator("NSIS64", "Null Soft Installer (64-bit)",
+      cmCPackNSISGenerator::CreateGenerator64);
     }
 #ifdef __CYGWIN__
   if (cmCPackCygwinBinaryGenerator::CanGenerate())
diff --git a/Source/CPack/cmCPackNSISGenerator.cxx b/Source/CPack/cmCPackNSISGenerator.cxx
index fdbae35..9f86ea2 100644
--- a/Source/CPack/cmCPackNSISGenerator.cxx
+++ b/Source/CPack/cmCPackNSISGenerator.cxx
@@ -33,8 +33,9 @@
 #endif
 
 //----------------------------------------------------------------------
-cmCPackNSISGenerator::cmCPackNSISGenerator()
+cmCPackNSISGenerator::cmCPackNSISGenerator(bool nsis64)
 {
+  Nsis64 = nsis64;
 }
 
 //----------------------------------------------------------------------
@@ -359,6 +360,21 @@ int cmCPackNSISGenerator::InitializeInternal()
   bool gotRegValue = false;
 
 #ifdef _WIN32
+  if (Nsis64)
+    {
+    if ( !gotRegValue && cmsys::SystemTools::ReadRegistryValue(
+      "HKEY_LOCAL_MACHINE\\SOFTWARE\\NSIS\\Unicode", nsisPath,
+      cmsys::SystemTools::KeyWOW64_64) )
+      {
+      gotRegValue = true;
+      }
+    if ( !gotRegValue && cmsys::SystemTools::ReadRegistryValue(
+      "HKEY_LOCAL_MACHINE\\SOFTWARE\\NSIS", nsisPath,
+      cmsys::SystemTools::KeyWOW64_64) )
+      {
+      gotRegValue = true;
+      }
+    }
   if ( !gotRegValue && cmsys::SystemTools::ReadRegistryValue(
       "HKEY_LOCAL_MACHINE\\SOFTWARE\\NSIS\\Unicode", nsisPath,
       cmsys::SystemTools::KeyWOW64_32) )
diff --git a/Source/CPack/cmCPackNSISGenerator.h b/Source/CPack/cmCPackNSISGenerator.h
index 8224854..e46fbda 100644
--- a/Source/CPack/cmCPackNSISGenerator.h
+++ b/Source/CPack/cmCPackNSISGenerator.h
@@ -27,10 +27,13 @@ class cmCPackNSISGenerator : public cmCPackGenerator
 public:
   cmCPackTypeMacro(cmCPackNSISGenerator, cmCPackGenerator);
 
+  static cmCPackGenerator* CreateGenerator64()
+    { return new cmCPackNSISGenerator(true); }
+
   /**
    * Construct generator
    */
-  cmCPackNSISGenerator();
+  cmCPackNSISGenerator(bool nsis64 = false);
   virtual ~cmCPackNSISGenerator();
 
 protected:
@@ -77,6 +80,8 @@ protected:
   /// Translations any newlines found in the string into \\r\\n, so that the
   /// resulting string can be used within NSIS.
   static std::string TranslateNewlines(std::string str);
+
+  bool Nsis64;
 };
 
 #endif

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=51da766a6d85397f9244f5ec426091848d9318ff
commit 51da766a6d85397f9244f5ec426091848d9318ff
Author:     David Golub <golubdr at gmail.com>
AuthorDate: Wed May 9 14:56:36 2012 -0400
Commit:     David Cole <david.cole at kitware.com>
CommitDate: Mon Nov 19 19:53:29 2012 -0500

    CPack/NSIS: Fix compatibility issues with prerelease NSIS (#13202)

diff --git a/Modules/NSIS.template.in b/Modules/NSIS.template.in
index ffc425e..59a444b 100644
--- a/Modules/NSIS.template.in
+++ b/Modules/NSIS.template.in
@@ -37,6 +37,9 @@
   ;Set compression
   SetCompressor @CPACK_NSIS_COMPRESSOR@
 
+  ;Require administrator access
+  RequestExecutionLevel admin
+
 @CPACK_NSIS_DEFINES@
 
   !include Sections.nsh
@@ -119,7 +122,7 @@ Var AR_RegFlags
  "exit_${SecName}:"
 !macroend
 
-!macro RemoveSection SecName
+!macro RemoveSection_CPack SecName
   ;  This macro is used to call section's Remove_... macro
   ;from the uninstaller.
   ;Input: section index constant name specified in Section command.
@@ -841,7 +844,7 @@ Section "Uninstall"
   DeleteRegKey SHCTX "Software\@CPACK_PACKAGE_VENDOR@\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@"
 
   ; Removes all optional components
-  !insertmacro SectionList "RemoveSection"
+  !insertmacro SectionList "RemoveSection_CPack"
 
   !insertmacro MUI_STARTMENU_GETFOLDER Application $MUI_TEMP
 

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

Summary of changes:
 Modules/NSIS.template.in                 |    7 +++++--
 Source/CPack/cmCPackGeneratorFactory.cxx |    2 ++
 Source/CPack/cmCPackNSISGenerator.cxx    |   18 +++++++++++++++++-
 Source/CPack/cmCPackNSISGenerator.h      |    7 ++++++-
 4 files changed, 30 insertions(+), 4 deletions(-)


hooks/post-receive
-- 
CMake


More information about the Cmake-commits mailing list