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  e76cbccd6e645a7b098d602d6f2f460d0688f009 (commit)
       via  ae434ee2dd1a91cd8ec53a631d8db9949d5f46b0 (commit)
      from  c95156f85d7fa9a1cf1737d801a31b1bb74bae5b (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=e76cbccd6e645a7b098d602d6f2f460d0688f009
commit e76cbccd6e645a7b098d602d6f2f460d0688f009
Merge: c95156f ae434ee
Author:     Brad King <brad.k...@kitware.com>
AuthorDate: Wed Dec 2 08:26:28 2015 -0500
Commit:     CMake Topic Stage <kwro...@kitware.com>
CommitDate: Wed Dec 2 08:26:28 2015 -0500

    Merge topic 'cpack-dmg-multilanguage-sla' into next
    
    ae434ee2 CPack/DragNDrop: Allow single license for multiple languages


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=ae434ee2dd1a91cd8ec53a631d8db9949d5f46b0
commit ae434ee2dd1a91cd8ec53a631d8db9949d5f46b0
Author:     Simon Levermann <simon.leverm...@governikus.de>
AuthorDate: Tue Nov 24 16:17:53 2015 +0100
Commit:     Brad King <brad.k...@kitware.com>
CommitDate: Wed Dec 2 08:26:01 2015 -0500

    CPack/DragNDrop: Allow single license for multiple languages
    
    When both CPACK_DMG_SLA_DIR and CPACK_RESOURCE_FILE_LICENSE are defined,
    use the license file for all languages instead of looking for a license
    file for each language.  Also expand the documentation on the SLA
    variables.

diff --git a/Modules/CPackDMG.cmake b/Modules/CPackDMG.cmake
index 6b5af7e..e34f8cd 100644
--- a/Modules/CPackDMG.cmake
+++ b/Modules/CPackDMG.cmake
@@ -49,11 +49,29 @@
 # .. variable:: CPACK_DMG_SLA_DIR
 #
 #   Directory where license and menu files for different languages are stored.
+#   Setting this causes CPack to look for a ``<language>.menu.txt`` and
+#   ``<language>.license.txt`` file for every language defined in
+#   ``CPACK_DMG_SLA_LANGUAGES``. If both this variable and
+#   ``CPACK_RESOURCE_FILE_LICENSE`` are set, CPack will only look for the menu
+#   files and use the same license file for all languages.
 #
 # .. variable:: CPACK_DMG_SLA_LANGUAGES
 #
 #   Languages for which a license agreement is provided when mounting the
-#   generated DMG.
+#   generated DMG. A menu file consists of 9 lines of text. The first line is
+#   is the name of the language itself, uppercase, in English (e.g. German).
+#   The other lines are translations of the following strings:
+#
+#   - Agree
+#   - Disagree
+#   - Print
+#   - Save...
+#   - You agree to the terms of the License Agreement when you click the
+#     "Agree" button.
+#   - Software License Agreement
+#   - This text cannot be saved. The disk may be full or locked, or the file
+#     may be locked.
+#   - Unable to print. Make sure you have selected a printer.
 #
 #   For every language in this list, CPack will try to find files
 #   ``<language>.menu.txt`` and ``<language>.license.txt`` in the directory
diff --git a/Source/CPack/cmCPackDragNDropGenerator.cxx 
b/Source/CPack/cmCPackDragNDropGenerator.cxx
index b5df2d0..1a694ea 100644
--- a/Source/CPack/cmCPackDragNDropGenerator.cxx
+++ b/Source/CPack/cmCPackDragNDropGenerator.cxx
@@ -69,6 +69,7 @@ static const char* SLASTREnglish =
 
 //----------------------------------------------------------------------
 cmCPackDragNDropGenerator::cmCPackDragNDropGenerator()
+  : singleLicense(false)
 {
   // default to one package file for components
   this->componentPackageMethod = ONE_PACKAGE;
@@ -131,10 +132,11 @@ int cmCPackDragNDropGenerator::InitializeInternal()
       if(!license_file.empty() &&
          (license_file.find("CPack.GenericLicense.txt") == std::string::npos))
         {
-        cmCPackLogger(cmCPackLog::LOG_WARNING,
+        cmCPackLogger(cmCPackLog::LOG_OUTPUT,
           "Both CPACK_DMG_SLA_DIR and CPACK_RESOURCE_FILE_LICENSE specified, "
-          "defaulting to CPACK_DMG_SLA_DIR"
+          "using CPACK_RESOURCE_FILE_LICENSE as a license for all languages."
           << std::endl);
+        singleLicense = true;
         }
       }
     if(!this->IsSet("CPACK_DMG_SLA_LANGUAGES"))
@@ -166,7 +168,7 @@ int cmCPackDragNDropGenerator::InitializeInternal()
     for(size_t i = 0; i < languages.size(); ++i)
       {
       std::string license = slaDirectory + "/" + languages[i] + ".license.txt";
-      if (!cmSystemTools::FileExists(license))
+      if (!singleLicense && !cmSystemTools::FileExists(license))
         {
         cmCPackLogger(cmCPackLog::LOG_ERROR,
           "Missing license file " << languages[i] << ".license.txt"
@@ -366,7 +368,7 @@ int cmCPackDragNDropGenerator::CreateDMG(const std::string& 
src_dir,
 
   // use sla_dir if both sla_dir and license_file are set
   if(!cpack_license_file.empty() &&
-     !slaDirectory.empty())
+     !slaDirectory.empty() && !singleLicense)
     {
     cpack_license_file = "";
     }
@@ -699,7 +701,14 @@ int cmCPackDragNDropGenerator::CreateDMG(const 
std::string& src_dir,
       {
       for(size_t i = 0; i < languages.size(); ++i)
         {
-        WriteLicense(ofs, i + 5000, languages[i]);
+        if(singleLicense)
+          {
+          WriteLicense(ofs, i + 5000, languages[i], cpack_license_file);
+          }
+        else
+          {
+          WriteLicense(ofs, i + 5000, languages[i]);
+          }
         }
       }
 
@@ -850,7 +859,7 @@ void
 cmCPackDragNDropGenerator::WriteLicense(cmGeneratedFileStream& outputStream,
   int licenseNumber, std::string licenseLanguage, std::string licenseFile)
 {
-  if(!licenseFile.empty())
+  if(!licenseFile.empty() && !singleLicense)
     {
     licenseNumber = 5002;
     licenseLanguage = "English";
@@ -887,7 +896,7 @@ 
cmCPackDragNDropGenerator::WriteLicense(cmGeneratedFileStream& outputStream,
 
   // End of License
   outputStream << "};\n\n";
-  if(!licenseFile.empty())
+  if(!licenseFile.empty() && !singleLicense)
     {
     outputStream << SLASTREnglish;
     }
diff --git a/Source/CPack/cmCPackDragNDropGenerator.h 
b/Source/CPack/cmCPackDragNDropGenerator.h
index 53d38c4..b5e5ffe 100644
--- a/Source/CPack/cmCPackDragNDropGenerator.h
+++ b/Source/CPack/cmCPackDragNDropGenerator.h
@@ -48,6 +48,7 @@ protected:
 
 private:
   std::string slaDirectory;
+  bool singleLicense;
 
   void WriteLicense(cmGeneratedFileStream& outputStream, int licenseNumber,
     std::string licenseLanguage, std::string licenseFile = "");

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

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