[Cmake-commits] CMake branch, next, updated. v3.4.0-1572-ge76cbcc
Brad King
brad.king at kitware.com
Wed Dec 2 08:26:29 EST 2015
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.king at kitware.com>
AuthorDate: Wed Dec 2 08:26:28 2015 -0500
Commit: CMake Topic Stage <kwrobot at 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.Levermann at governikus.de>
AuthorDate: Tue Nov 24 16:17:53 2015 +0100
Commit: Brad King <brad.king at 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
More information about the Cmake-commits
mailing list