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, master has been updated
       via  b11e021bed6d406e3a7b9af6f5ef8fa5565881af (commit)
       via  e3a521f02bc1d6353581a1a58ae88bb0a432f165 (commit)
       via  0d44d48232dcc3074d55d10c483c92109534371e (commit)
       via  eeb5bb7fe1b9f7b6f63f1b6741f5247e4e10de64 (commit)
       via  69aaf9b63b81ce814573e5065151764959441753 (commit)
       via  d879999534d01451618395749287b5342e60783b (commit)
       via  17a60e398c8287aaa47d2e424189e8ba4a039aeb (commit)
       via  8f37b90b58f2874e54958f6e96d5f0de3d92a5ec (commit)
       via  03f22cd188c8c843ae0aceeedc15fb3655b88573 (commit)
       via  da1dc4e450efa5b65b9476d5cfb063f5e8e776fd (commit)
       via  95084a313ddcc20a09e88bd85a5b5bc8edd96707 (commit)
       via  83f2d4838877142f8daada6d84d091f7ad64d38b (commit)
       via  65ab9ce93882070191ad84fe96239e50d0b62b6e (commit)
       via  2bd71f6377b493c6feb369f56604e1a16173ad49 (commit)
       via  0e764082fe5f9d9c0e33244412f0d4a519e4a2e6 (commit)
       via  4a0f664aafb27a073e0a4856cdff6132f99fe627 (commit)
      from  14553ab64b73b52e256f75c6aa5e9c3cdbb2eba6 (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=b11e021bed6d406e3a7b9af6f5ef8fa5565881af
commit b11e021bed6d406e3a7b9af6f5ef8fa5565881af
Merge: e3a521f 4a0f664
Author:     Brad King <brad.k...@kitware.com>
AuthorDate: Thu Aug 30 13:24:23 2018 +0000
Commit:     Kitware Robot <kwro...@kitware.com>
CommitDate: Thu Aug 30 09:24:31 2018 -0400

    Merge topic 'cpack-ext-stage-and-run'
    
    4a0f664aaf CPackExt: Add CPACK_EXT_ENABLE_STAGING and 
CPACK_EXT_PACKAGE_SCRIPT
    
    Acked-by: Kitware Robot <kwro...@kitware.com>
    Merge-request: !2272


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=e3a521f02bc1d6353581a1a58ae88bb0a432f165
commit e3a521f02bc1d6353581a1a58ae88bb0a432f165
Merge: 0d44d48 03f22cd
Author:     Brad King <brad.k...@kitware.com>
AuthorDate: Thu Aug 30 13:23:34 2018 +0000
Commit:     Kitware Robot <kwro...@kitware.com>
CommitDate: Thu Aug 30 09:23:39 2018 -0400

    Merge topic 'FindPackageModeMakefileTest-use-explicit-linkage'
    
    03f22cd188 FindPackageModeMakefileTest: Explicitly use C linkage
    
    Acked-by: Kitware Robot <kwro...@kitware.com>
    Merge-request: !2328


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=0d44d48232dcc3074d55d10c483c92109534371e
commit 0d44d48232dcc3074d55d10c483c92109534371e
Merge: eeb5bb7 da1dc4e
Author:     Brad King <brad.k...@kitware.com>
AuthorDate: Thu Aug 30 13:22:30 2018 +0000
Commit:     Kitware Robot <kwro...@kitware.com>
CommitDate: Thu Aug 30 09:22:35 2018 -0400

    Merge topic 'libarchive-bump-minimum-version'
    
    da1dc4e450 libarchive: Bump the minimum version from 3.0.0 to 3.1.0
    
    Acked-by: Kitware Robot <kwro...@kitware.com>
    Merge-request: !2327


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=eeb5bb7fe1b9f7b6f63f1b6741f5247e4e10de64
commit eeb5bb7fe1b9f7b6f63f1b6741f5247e4e10de64
Merge: 69aaf9b 83f2d48
Author:     Brad King <brad.k...@kitware.com>
AuthorDate: Thu Aug 30 13:21:24 2018 +0000
Commit:     Kitware Robot <kwro...@kitware.com>
CommitDate: Thu Aug 30 09:21:31 2018 -0400

    Merge topic 'cmake_lang_compiler_predefines'
    
    83f2d48388 Respect CMAKE_<LANG>_COMPILER_ARG1 in 
CMAKE_<LANG>_COMPILER_PREDEFINES_COMMAND
    
    Acked-by: Kitware Robot <kwro...@kitware.com>
    Merge-request: !2316


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=69aaf9b63b81ce814573e5065151764959441753
commit 69aaf9b63b81ce814573e5065151764959441753
Merge: d879999 95084a3
Author:     Brad King <brad.k...@kitware.com>
AuthorDate: Thu Aug 30 13:19:03 2018 +0000
Commit:     Kitware Robot <kwro...@kitware.com>
CommitDate: Thu Aug 30 09:19:40 2018 -0400

    Merge topic 'cstr-remove'
    
    95084a313d cmVisualStudio10TargetGenerator: clean up c_str()s
    
    Acked-by: Kitware Robot <kwro...@kitware.com>
    Merge-request: !2322


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=d879999534d01451618395749287b5342e60783b
commit d879999534d01451618395749287b5342e60783b
Merge: 17a60e3 65ab9ce
Author:     Brad King <brad.k...@kitware.com>
AuthorDate: Thu Aug 30 13:18:52 2018 +0000
Commit:     Kitware Robot <kwro...@kitware.com>
CommitDate: Thu Aug 30 09:18:58 2018 -0400

    Merge topic 'genex-evaluate-stdstring'
    
    65ab9ce938 Genex: Return Evaluate results as const std::string&
    
    Acked-by: Kitware Robot <kwro...@kitware.com>
    Merge-request: !2314


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=17a60e398c8287aaa47d2e424189e8ba4a039aeb
commit 17a60e398c8287aaa47d2e424189e8ba4a039aeb
Merge: 8f37b90 2bd71f6
Author:     Brad King <brad.k...@kitware.com>
AuthorDate: Thu Aug 30 13:17:39 2018 +0000
Commit:     Kitware Robot <kwro...@kitware.com>
CommitDate: Thu Aug 30 09:17:47 2018 -0400

    Merge topic 'remove-lua-extra-paths'
    
    2bd71f6377 FindLua: Remove manually specified additional paths
    
    Acked-by: Kitware Robot <kwro...@kitware.com>
    Acked-by: Rolf Eike Beer <e...@sf-mail.de>
    Merge-request: !2321


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=8f37b90b58f2874e54958f6e96d5f0de3d92a5ec
commit 8f37b90b58f2874e54958f6e96d5f0de3d92a5ec
Merge: 14553ab 0e76408
Author:     Brad King <brad.k...@kitware.com>
AuthorDate: Thu Aug 30 09:15:06 2018 -0400
Commit:     Brad King <brad.k...@kitware.com>
CommitDate: Thu Aug 30 09:15:06 2018 -0400

    Merge branch 'release-3.12'


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=03f22cd188c8c843ae0aceeedc15fb3655b88573
commit 03f22cd188c8c843ae0aceeedc15fb3655b88573
Author:     Chuck Atkins <chuck.atk...@kitware.com>
AuthorDate: Wed Aug 29 13:02:09 2018 -0400
Commit:     Chuck Atkins <chuck.atk...@kitware.com>
CommitDate: Wed Aug 29 13:02:09 2018 -0400

    FindPackageModeMakefileTest: Explicitly use C linkage
    
    This explicitly uses C linkage for the library code used by the test to work
    around some compilers (Solaris Studio 12.4) that implicitly assume incorrect
    linkage information.  Since something else entirely is being tested here,
    this allows the test to proceed as needed on the affected platforms.

diff --git a/Tests/FindPackageModeMakefileTest/foo.cpp 
b/Tests/FindPackageModeMakefileTest/foo.cpp
index 6aea226..7cb9381 100644
--- a/Tests/FindPackageModeMakefileTest/foo.cpp
+++ b/Tests/FindPackageModeMakefileTest/foo.cpp
@@ -1,3 +1,5 @@
+#include "foo.h"
+
 int foo()
 {
   return 1477;
diff --git a/Tests/FindPackageModeMakefileTest/foo.h 
b/Tests/FindPackageModeMakefileTest/foo.h
index 4ec598a..7051eda 100644
--- a/Tests/FindPackageModeMakefileTest/foo.h
+++ b/Tests/FindPackageModeMakefileTest/foo.h
@@ -1,6 +1,14 @@
 #ifndef FOO_H
 #define FOO_H
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 int foo();
 
+#ifdef __cplusplus
+} // extern "C"
+#endif
+
 #endif

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=da1dc4e450efa5b65b9476d5cfb063f5e8e776fd
commit da1dc4e450efa5b65b9476d5cfb063f5e8e776fd
Author:     Chuck Atkins <chuck.atk...@kitware.com>
AuthorDate: Wed Aug 29 11:20:11 2018 -0400
Commit:     Chuck Atkins <chuck.atk...@kitware.com>
CommitDate: Wed Aug 29 11:20:11 2018 -0400

    libarchive: Bump the minimum version from 3.0.0 to 3.1.0
    
    cmArchiveWrite uses the gzip:timestamp write filter option which was not
    available until v3.1.0.

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 1fcd8f8..7f16e79 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -498,7 +498,7 @@ macro (CMAKE_BUILD_UTILITIES)
   #---------------------------------------------------------------------
   # Build or use system libarchive for CMake and CTest.
   if(CMAKE_USE_SYSTEM_LIBARCHIVE)
-    find_package(LibArchive 3.0.0)
+    find_package(LibArchive 3.1.0)
     if(NOT LibArchive_FOUND)
       message(FATAL_ERROR "CMAKE_USE_SYSTEM_LIBARCHIVE is ON but LibArchive is 
not found!")
     endif()

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=95084a313ddcc20a09e88bd85a5b5bc8edd96707
commit 95084a313ddcc20a09e88bd85a5b5bc8edd96707
Author:     Vitaly Stakhovsky <vvs31...@gitlab.org>
AuthorDate: Tue Aug 28 14:41:19 2018 -0400
Commit:     Vitaly Stakhovsky <vvs31...@gitlab.org>
CommitDate: Tue Aug 28 14:41:19 2018 -0400

    cmVisualStudio10TargetGenerator: clean up c_str()s

diff --git a/Source/cmVisualStudio10TargetGenerator.cxx 
b/Source/cmVisualStudio10TargetGenerator.cxx
index abd0416..d9f1942 100644
--- a/Source/cmVisualStudio10TargetGenerator.cxx
+++ b/Source/cmVisualStudio10TargetGenerator.cxx
@@ -369,7 +369,7 @@ void cmVisualStudio10TargetGenerator::Generate()
   path += "/";
   path += this->Name;
   path += ProjectFileExtension;
-  cmGeneratedFileStream BuildFileStream(path.c_str());
+  cmGeneratedFileStream BuildFileStream(path);
   const std::string PathToProjectFile = path;
   BuildFileStream.SetCopyIfDifferent(true);
 
@@ -1398,7 +1398,7 @@ void cmVisualStudio10TargetGenerator::WriteGroups()
   path += computeProjectFileExtension(this->GeneratorTarget,
                                       *this->Configurations.begin());
   path += ".filters";
-  cmGeneratedFileStream fout(path.c_str());
+  cmGeneratedFileStream fout(path);
   fout.SetCopyIfDifferent(true);
   char magic[] = { char(0xEF), char(0xBB), char(0xBF) };
   fout.write(magic, 3);
@@ -1886,7 +1886,7 @@ void cmVisualStudio10TargetGenerator::WriteSource(Elem& 
e2,
     }
   }
   ConvertToWindowsSlash(sourceFile);
-  e2.StartElement(tool.c_str());
+  e2.StartElement(tool);
   e2.Attribute("Include", sourceFile);
 
   ToolSource toolSource = { sf, forceRelative };
@@ -4152,7 +4152,7 @@ void 
cmVisualStudio10TargetGenerator::WriteMissingFilesWP80(Elem& e1)
   std::string targetNameXML =
     cmVS10EscapeXML(this->GeneratorTarget->GetName());
 
-  cmGeneratedFileStream fout(manifestFile.c_str());
+  cmGeneratedFileStream fout(manifestFile);
   fout.SetCopyIfDifferent(true);
 
   /* clang-format off */
@@ -4235,7 +4235,7 @@ void 
cmVisualStudio10TargetGenerator::WriteMissingFilesWP81(Elem& e1)
   std::string targetNameXML =
     cmVS10EscapeXML(this->GeneratorTarget->GetName());
 
-  cmGeneratedFileStream fout(manifestFile.c_str());
+  cmGeneratedFileStream fout(manifestFile);
   fout.SetCopyIfDifferent(true);
 
   /* clang-format off */
@@ -4298,7 +4298,7 @@ void 
cmVisualStudio10TargetGenerator::WriteMissingFilesWS80(Elem& e1)
   std::string targetNameXML =
     cmVS10EscapeXML(this->GeneratorTarget->GetName());
 
-  cmGeneratedFileStream fout(manifestFile.c_str());
+  cmGeneratedFileStream fout(manifestFile);
   fout.SetCopyIfDifferent(true);
 
   /* clang-format off */
@@ -4353,7 +4353,7 @@ void 
cmVisualStudio10TargetGenerator::WriteMissingFilesWS81(Elem& e1)
   std::string targetNameXML =
     cmVS10EscapeXML(this->GeneratorTarget->GetName());
 
-  cmGeneratedFileStream fout(manifestFile.c_str());
+  cmGeneratedFileStream fout(manifestFile);
   fout.SetCopyIfDifferent(true);
 
   /* clang-format off */
@@ -4413,7 +4413,7 @@ void 
cmVisualStudio10TargetGenerator::WriteMissingFilesWS10_0(Elem& e1)
   std::string targetNameXML =
     cmVS10EscapeXML(this->GeneratorTarget->GetName());
 
-  cmGeneratedFileStream fout(manifestFile.c_str());
+  cmGeneratedFileStream fout(manifestFile);
   fout.SetCopyIfDifferent(true);
 
   /* clang-format off */

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=83f2d4838877142f8daada6d84d091f7ad64d38b
commit 83f2d4838877142f8daada6d84d091f7ad64d38b
Author:     Sebastian Holtermann <sebh...@xwmw.org>
AuthorDate: Mon Aug 27 15:13:13 2018 +0200
Commit:     Sebastian Holtermann <sebh...@xwmw.org>
CommitDate: Tue Aug 28 20:07:53 2018 +0200

    Respect CMAKE_<LANG>_COMPILER_ARG1 in 
CMAKE_<LANG>_COMPILER_PREDEFINES_COMMAND
    
    AUTOMOC used to fail to generate ``moc_predefs.h`` when ``ccache`` was used
    as a compiler starter by e.g. configuring a project with the environment
    variable CXX="ccache g++".
    The reason was that ``CMAKE_<LANG>_COMPILER_ARG1`` wasn't respected in the
    definition of ``CMAKE_<LANG>_COMPILER_PREDEFINES_COMMAND`` for various
    compilers.  This is fixed by this patch.
    
    Fixes #17275.

diff --git a/Modules/Compiler/GNU.cmake b/Modules/Compiler/GNU.cmake
index 9f4c8d1..4491d4b 100644
--- a/Modules/Compiler/GNU.cmake
+++ b/Modules/Compiler/GNU.cmake
@@ -90,5 +90,11 @@ macro(__compiler_gnu lang)
     )
   endif()
 
-  set(CMAKE_${lang}_COMPILER_PREDEFINES_COMMAND "${CMAKE_${lang}_COMPILER}" 
"-dM" "-E" "-c" "${CMAKE_ROOT}/Modules/CMakeCXXCompilerABI.cpp")
+  set(CMAKE_${lang}_COMPILER_PREDEFINES_COMMAND "${CMAKE_${lang}_COMPILER}")
+  if(CMAKE_${lang}_COMPILER_ARG1)
+    separate_arguments(_COMPILER_ARGS NATIVE_COMMAND 
"${CMAKE_${lang}_COMPILER_ARG1}")
+    list(APPEND CMAKE_${lang}_COMPILER_PREDEFINES_COMMAND ${_COMPILER_ARGS})
+    unset(_COMPILER_ARGS)
+  endif()
+  list(APPEND CMAKE_${lang}_COMPILER_PREDEFINES_COMMAND "-dM" "-E" "-c" 
"${CMAKE_ROOT}/Modules/CMakeCXXCompilerABI.cpp")
 endmacro()
diff --git a/Modules/Compiler/Intel.cmake b/Modules/Compiler/Intel.cmake
index 635ac4d..f2f16e0 100644
--- a/Modules/Compiler/Intel.cmake
+++ b/Modules/Compiler/Intel.cmake
@@ -25,6 +25,12 @@ else()
     string(APPEND CMAKE_${lang}_FLAGS_RELEASE_INIT " -O3")
     string(APPEND CMAKE_${lang}_FLAGS_RELWITHDEBINFO_INIT " -O2 -g")
 
-    set(CMAKE_${lang}_COMPILER_PREDEFINES_COMMAND "${CMAKE_${lang}_COMPILER}" 
"-QdM" "-P" "-Za" "${CMAKE_ROOT}/Modules/CMakeCXXCompilerABI.cpp")
+    set(CMAKE_${lang}_COMPILER_PREDEFINES_COMMAND "${CMAKE_${lang}_COMPILER}")
+    if(CMAKE_${lang}_COMPILER_ARG1)
+      separate_arguments(_COMPILER_ARGS NATIVE_COMMAND 
"${CMAKE_${lang}_COMPILER_ARG1}")
+      list(APPEND CMAKE_${lang}_COMPILER_PREDEFINES_COMMAND ${_COMPILER_ARGS})
+      unset(_COMPILER_ARGS)
+    endif()
+    list(APPEND CMAKE_${lang}_COMPILER_PREDEFINES_COMMAND "-QdM" "-P" "-Za" 
"${CMAKE_ROOT}/Modules/CMakeCXXCompilerABI.cpp")
   endmacro()
 endif()
diff --git a/Modules/Compiler/QCC.cmake b/Modules/Compiler/QCC.cmake
index 9f2b735..9ba9900 100644
--- a/Modules/Compiler/QCC.cmake
+++ b/Modules/Compiler/QCC.cmake
@@ -19,7 +19,13 @@ macro(__compiler_qcc lang)
   set(_CMAKE_${lang}_IPO_SUPPORTED_BY_CMAKE NO)
   set(_CMAKE_${lang}_IPO_MAY_BE_SUPPORTED_BY_COMPILER NO)
 
-  set(CMAKE_${lang}_COMPILER_PREDEFINES_COMMAND "${CMAKE_${lang}_COMPILER}" 
"-Wp,-dM" "-E" "-c" "${CMAKE_ROOT}/Modules/CMakeCXXCompilerABI.cpp")
+  set(CMAKE_${lang}_COMPILER_PREDEFINES_COMMAND "${CMAKE_${lang}_COMPILER}")
+  if(CMAKE_${lang}_COMPILER_ARG1)
+    separate_arguments(_COMPILER_ARGS NATIVE_COMMAND 
"${CMAKE_${lang}_COMPILER_ARG1}")
+    list(APPEND CMAKE_${lang}_COMPILER_PREDEFINES_COMMAND ${_COMPILER_ARGS})
+    unset(_COMPILER_ARGS)
+  endif()
+  list(APPEND CMAKE_${lang}_COMPILER_PREDEFINES_COMMAND "-Wp,-dM" "-E" "-c" 
"${CMAKE_ROOT}/Modules/CMakeCXXCompilerABI.cpp")
 
   unset(CMAKE_${lang}_COMPILE_OPTIONS_IPO)
   unset(CMAKE_${lang}_ARCHIVE_CREATE_IPO)

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=65ab9ce93882070191ad84fe96239e50d0b62b6e
commit 65ab9ce93882070191ad84fe96239e50d0b62b6e
Author:     Vitaly Stakhovsky <vvs31...@gitlab.org>
AuthorDate: Sat Aug 25 19:57:00 2018 -0400
Commit:     Brad King <brad.k...@kitware.com>
CommitDate: Tue Aug 28 13:56:29 2018 -0400

    Genex: Return Evaluate results as const std::string&
    
    Also remove unused overloads.

diff --git a/Source/cmGeneratorExpression.cxx b/Source/cmGeneratorExpression.cxx
index b1b2b88..6823cd5 100644
--- a/Source/cmGeneratorExpression.cxx
+++ b/Source/cmGeneratorExpression.cxx
@@ -386,11 +386,11 @@ void 
cmCompiledGeneratorExpression::GetMaxLanguageStandard(
   }
 }
 
-const char* cmGeneratorExpressionInterpreter::Evaluate(
+const std::string& cmGeneratorExpressionInterpreter::Evaluate(
   const char* expression, const std::string& property)
 {
   if (this->Target.empty()) {
-    return this->EvaluateExpression(expression).c_str();
+    return this->EvaluateExpression(expression);
   }
 
   // Specify COMPILE_OPTIONS to DAGchecker, same semantic as COMPILE_FLAGS
@@ -398,5 +398,5 @@ const char* cmGeneratorExpressionInterpreter::Evaluate(
     this->Target, property == "COMPILE_FLAGS" ? "COMPILE_OPTIONS" : property,
     nullptr, nullptr);
 
-  return this->EvaluateExpression(expression, &dagChecker).c_str();
+  return this->EvaluateExpression(expression, &dagChecker);
 }
diff --git a/Source/cmGeneratorExpression.h b/Source/cmGeneratorExpression.h
index 1ceb7da..2b7df91 100644
--- a/Source/cmGeneratorExpression.h
+++ b/Source/cmGeneratorExpression.h
@@ -179,17 +179,10 @@ public:
   {
   }
 
-  const char* Evaluate(const char* expression)
-  {
-    return this->EvaluateExpression(expression).c_str();
-  }
-  const char* Evaluate(const std::string& expression)
-  {
-    return this->Evaluate(expression.c_str());
-  }
-  const char* Evaluate(const char* expression, const std::string& property);
-  const char* Evaluate(const std::string& expression,
-                       const std::string& property)
+  const std::string& Evaluate(const char* expression,
+                              const std::string& property);
+  const std::string& Evaluate(const std::string& expression,
+                              const std::string& property)
   {
     return this->Evaluate(expression.c_str(), property);
   }
diff --git a/Source/cmGlobalXCodeGenerator.cxx 
b/Source/cmGlobalXCodeGenerator.cxx
index 042ce41..37536fc 100644
--- a/Source/cmGlobalXCodeGenerator.cxx
+++ b/Source/cmGlobalXCodeGenerator.cxx
@@ -762,9 +762,10 @@ public:
 
   using cmGeneratorExpressionInterpreter::Evaluate;
 
-  const char* Evaluate(const char* expression, const std::string& property)
+  const std::string& Evaluate(const char* expression,
+                              const std::string& property)
   {
-    const char* processed =
+    const std::string& processed =
       this->cmGeneratorExpressionInterpreter::Evaluate(expression, property);
     if (this->GetCompiledGeneratorExpression()
           .GetHadContextSensitiveCondition()) {
@@ -821,7 +822,8 @@ cmXCodeObject* 
cmGlobalXCodeGenerator::CreateXCodeSourceFile(
   const std::string COMPILE_DEFINITIONS("COMPILE_DEFINITIONS");
   if (const char* compile_defs = sf->GetProperty(COMPILE_DEFINITIONS)) {
     this->AppendDefines(
-      flagsBuild, genexInterpreter.Evaluate(compile_defs, COMPILE_DEFINITIONS),
+      flagsBuild,
+      genexInterpreter.Evaluate(compile_defs, COMPILE_DEFINITIONS).c_str(),
       true);
   }
   if (!flagsBuild.IsEmpty()) {
diff --git a/Source/cmMakefileTargetGenerator.cxx 
b/Source/cmMakefileTargetGenerator.cxx
index 79baca6..e8cf255 100644
--- a/Source/cmMakefileTargetGenerator.cxx
+++ b/Source/cmMakefileTargetGenerator.cxx
@@ -445,7 +445,7 @@ void cmMakefileTargetGenerator::WriteObjectBuildFile(
   // Add flags from source file properties.
   const std::string COMPILE_FLAGS("COMPILE_FLAGS");
   if (const char* cflags = source.GetProperty(COMPILE_FLAGS)) {
-    const char* evaluatedFlags =
+    const std::string& evaluatedFlags =
       genexInterpreter.Evaluate(cflags, COMPILE_FLAGS);
     this->LocalGenerator->AppendFlags(flags, evaluatedFlags);
     *this->FlagFileStream << "# Custom flags: " << relativeObj
@@ -455,7 +455,7 @@ void cmMakefileTargetGenerator::WriteObjectBuildFile(
 
   const std::string COMPILE_OPTIONS("COMPILE_OPTIONS");
   if (const char* coptions = source.GetProperty(COMPILE_OPTIONS)) {
-    const char* evaluatedOptions =
+    const std::string& evaluatedOptions =
       genexInterpreter.Evaluate(coptions, COMPILE_OPTIONS);
     this->LocalGenerator->AppendCompileOptions(flags, evaluatedOptions);
     *this->FlagFileStream << "# Custom options: " << relativeObj
@@ -468,7 +468,7 @@ void cmMakefileTargetGenerator::WriteObjectBuildFile(
 
   const std::string INCLUDE_DIRECTORIES("INCLUDE_DIRECTORIES");
   if (const char* cincludes = source.GetProperty(INCLUDE_DIRECTORIES)) {
-    const char* evaluatedIncludes =
+    const std::string& evaluatedIncludes =
       genexInterpreter.Evaluate(cincludes, INCLUDE_DIRECTORIES);
     this->LocalGenerator->AppendIncludeDirectories(includes, evaluatedIncludes,
                                                    source);
@@ -484,7 +484,7 @@ void cmMakefileTargetGenerator::WriteObjectBuildFile(
   // Add source-specific preprocessor definitions.
   const std::string COMPILE_DEFINITIONS("COMPILE_DEFINITIONS");
   if (const char* compile_defs = source.GetProperty(COMPILE_DEFINITIONS)) {
-    const char* evaluatedDefs =
+    const std::string& evaluatedDefs =
       genexInterpreter.Evaluate(compile_defs, COMPILE_DEFINITIONS);
     this->LocalGenerator->AppendDefines(defines, evaluatedDefs);
     *this->FlagFileStream << "# Custom defines: " << relativeObj
@@ -494,7 +494,7 @@ void cmMakefileTargetGenerator::WriteObjectBuildFile(
   std::string defPropName = "COMPILE_DEFINITIONS_";
   defPropName += configUpper;
   if (const char* config_compile_defs = source.GetProperty(defPropName)) {
-    const char* evaluatedDefs =
+    const std::string& evaluatedDefs =
       genexInterpreter.Evaluate(config_compile_defs, COMPILE_DEFINITIONS);
     this->LocalGenerator->AppendDefines(defines, evaluatedDefs);
     *this->FlagFileStream << "# Custom defines: " << relativeObj << "_DEFINES_"
diff --git a/Source/cmServerProtocol.cxx b/Source/cmServerProtocol.cxx
index f0a5e26..8fafeea 100644
--- a/Source/cmServerProtocol.cxx
+++ b/Source/cmServerProtocol.cxx
@@ -728,7 +728,7 @@ static Json::Value DumpSourceFilesList(
 
       const std::string INCLUDE_DIRECTORIES("INCLUDE_DIRECTORIES");
       if (const char* cincludes = file->GetProperty(INCLUDE_DIRECTORIES)) {
-        const char* evaluatedIncludes =
+        const std::string& evaluatedIncludes =
           genexInterpreter.Evaluate(cincludes, INCLUDE_DIRECTORIES);
         lg->AppendIncludeDirectories(includes, evaluatedIncludes, *file);
 

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=2bd71f6377b493c6feb369f56604e1a16173ad49
commit 2bd71f6377b493c6feb369f56604e1a16173ad49
Author:     Chuck Atkins <chuck.atk...@kitware.com>
AuthorDate: Tue Aug 28 13:25:46 2018 -0400
Commit:     Chuck Atkins <chuck.atk...@kitware.com>
CommitDate: Tue Aug 28 13:27:35 2018 -0400

    FindLua: Remove manually specified additional paths
    
    The additional paths specified are already accounted for in the appropriate
    Platform files.

diff --git a/Modules/FindLua.cmake b/Modules/FindLua.cmake
index b57a46e..e86c15c 100644
--- a/Modules/FindLua.cmake
+++ b/Modules/FindLua.cmake
@@ -42,13 +42,6 @@ cmake_policy(SET CMP0012 NEW)  # For while(TRUE)
 unset(_lua_include_subdirs)
 unset(_lua_library_names)
 unset(_lua_append_versions)
-set(_lua_additional_paths
-      ~/Library/Frameworks
-      /Library/Frameworks
-      /sw # Fink
-      /opt/local # DarwinPorts
-      /opt/csw # Blastwave
-      /opt)
 
 # this is a function only to have all the variables inside go away 
automatically
 function(_lua_get_versions)
@@ -161,7 +154,6 @@ function(_lua_find_header)
               HINTS
                 ENV LUA_DIR
               PATH_SUFFIXES ${subdir}
-              PATHS ${_lua_additional_paths}
             )
             if (LUA_INCLUDE_DIR)
                 break()
@@ -209,7 +201,6 @@ find_library(LUA_LIBRARY
   HINTS
     ENV LUA_DIR
   PATH_SUFFIXES lib
-  PATHS ${_lua_additional_paths}
 )
 unset(_lua_library_names)
 

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=4a0f664aafb27a073e0a4856cdff6132f99fe627
commit 4a0f664aafb27a073e0a4856cdff6132f99fe627
Author:     Nils Gladitz <nilsglad...@gmail.com>
AuthorDate: Wed Aug 8 08:24:40 2018 +0200
Commit:     Nils Gladitz <nilsglad...@gmail.com>
CommitDate: Tue Aug 14 08:37:03 2018 +0200

    CPackExt: Add CPACK_EXT_ENABLE_STAGING and CPACK_EXT_PACKAGE_SCRIPT
    
    CPACK_EXT_ENABLE_STAGING enables optional staging
    and CPACK_EXT_PACKAGE_SCRIPT allows to specify an optional
    script file that can package staged files via an
    external packaging tool.
    
    Issue: #18236

diff --git a/Help/cpack_gen/external.rst b/Help/cpack_gen/external.rst
index a69866d..f98e1c9 100644
--- a/Help/cpack_gen/external.rst
+++ b/Help/cpack_gen/external.rst
@@ -10,19 +10,32 @@ tools. For this reason, CPack provides the "External" 
generator, which allows
 external packaging software to take advantage of some of the functionality
 provided by CPack, such as component installation and the dependency graph.
 
-The CPack External generator doesn't actually package any files. Instead, it
-generates a .json file containing the CPack internal metadata, which gives
-external software information on how to package the software. This metadata
-file contains a list of CPack components and component groups, the various
-options passed to :command:`cpack_add_component` and
+Integration with External Packaging Tools
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+The CPack External generator generates a .json file containing the
+CPack internal metadata, which gives external software information
+on how to package the software. External packaging software may itself
+invoke CPack, consume the generated metadata,
+install and package files as required.
+
+Alternatively CPack can invoke an external packaging software
+through an optional custom CMake script in
+:variable:`CPACK_EXT_PACKAGE_SCRIPT` instead.
+
+Staging of installation files may also optionally be
+taken care of by the generator when enabled through the
+:variable:`CPACK_EXT_ENABLE_STAGING` variable.
+
+JSON Format
+^^^^^^^^^^^
+
+The JSON metadata file contains a list of CPack components and component 
groups,
+the various options passed to :command:`cpack_add_component` and
 :command:`cpack_add_component_group`, the dependencies between the components
 and component groups, and various other options passed to CPack.
 
-Format
-^^^^^^
-
-The file produced by the CPack External generator is a .json file with an
-object as its root. This root object will always provide two fields:
+The JSON's root object will always provide two fields:
 ``formatVersionMajor`` and ``formatVersionMinor``, which are always integers
 that describe the output format of the generator. Backwards-compatible changes
 to the output format (for example, adding a new field that didn't exist before)
@@ -247,3 +260,24 @@ Variables specific to CPack External generator
   If an invalid version is encountered in ``CPACK_EXT_REQUESTED_VERSIONS`` (one
   that doesn't match ``major.minor``, where ``major`` and ``minor`` are
   integers), it is ignored.
+
+.. variable:: CPACK_EXT_ENABLE_STAGING
+
+  This variable can be set to true to enable optional installation
+  into a temporary staging area which can then be picked up
+  and packaged by an external packaging tool.
+  The top level directory used by CPack for the current packaging
+  task is contained in ``CPACK_TOPLEVEL_DIRECTORY``.
+  It is automatically cleaned up on each run before packaging is initiated
+  and can be used for custom temporary files required by
+  the external packaging tool.
+  It also contains the staging area ``CPACK_TEMPORARY_DIRECTORY``
+  into which CPack performs the installation when staging is enabled.
+
+.. variable:: CPACK_EXT_PACKAGE_SCRIPT
+
+  This variable can optionally specify the full path to
+  a CMake script file to be run as part of the CPack invocation.
+  It is invoked after (optional) staging took place and may
+  run an external packaging tool. The script has access to
+  the variables defined by the CPack config file.
diff --git a/Source/CPack/cmCPackExtGenerator.cxx 
b/Source/CPack/cmCPackExtGenerator.cxx
index c36b098..4c560b9 100644
--- a/Source/CPack/cmCPackExtGenerator.cxx
+++ b/Source/CPack/cmCPackExtGenerator.cxx
@@ -5,6 +5,7 @@
 #include "cmAlgorithms.h"
 #include "cmCPackComponentGroup.h"
 #include "cmCPackLog.h"
+#include "cmMakefile.h"
 #include "cmSystemTools.h"
 
 #include "cm_jsoncpp_value.h"
@@ -56,6 +57,23 @@ int cmCPackExtGenerator::PackageFiles()
     return 0;
   }
 
+  const char* packageScript = this->GetOption("CPACK_EXT_PACKAGE_SCRIPT");
+  if (packageScript && *packageScript) {
+    if (!cmSystemTools::FileIsFullPath(packageScript)) {
+      cmCPackLogger(
+        cmCPackLog::LOG_ERROR,
+        "CPACK_EXT_PACKAGE_SCRIPT does not contain a full file path"
+          << std::endl);
+      return 0;
+    }
+
+    int res = this->MakefileMap->ReadListFile(packageScript);
+
+    if (cmSystemTools::GetErrorOccuredFlag() || !res) {
+      return 0;
+    }
+  }
+
   return 1;
 }
 
@@ -67,16 +85,22 @@ bool cmCPackExtGenerator::SupportsComponentInstallation() 
const
 int cmCPackExtGenerator::InstallProjectViaInstallCommands(
   bool setDestDir, const std::string& tempInstallDirectory)
 {
-  (void)setDestDir;
-  (void)tempInstallDirectory;
+  if (this->StagingEnabled()) {
+    return cmCPackGenerator::InstallProjectViaInstallCommands(
+      setDestDir, tempInstallDirectory);
+  }
+
   return 1;
 }
 
 int cmCPackExtGenerator::InstallProjectViaInstallScript(
   bool setDestDir, const std::string& tempInstallDirectory)
 {
-  (void)setDestDir;
-  (void)tempInstallDirectory;
+  if (this->StagingEnabled()) {
+    return cmCPackGenerator::InstallProjectViaInstallScript(
+      setDestDir, tempInstallDirectory);
+  }
+
   return 1;
 }
 
@@ -84,9 +108,11 @@ int 
cmCPackExtGenerator::InstallProjectViaInstalledDirectories(
   bool setDestDir, const std::string& tempInstallDirectory,
   const mode_t* default_dir_mode)
 {
-  (void)setDestDir;
-  (void)tempInstallDirectory;
-  (void)default_dir_mode;
+  if (this->StagingEnabled()) {
+    return cmCPackGenerator::InstallProjectViaInstalledDirectories(
+      setDestDir, tempInstallDirectory, default_dir_mode);
+  }
+
   return 1;
 }
 
@@ -94,10 +120,11 @@ int cmCPackExtGenerator::RunPreinstallTarget(
   const std::string& installProjectName, const std::string& installDirectory,
   cmGlobalGenerator* globalGenerator, const std::string& buildConfig)
 {
-  (void)installProjectName;
-  (void)installDirectory;
-  (void)globalGenerator;
-  (void)buildConfig;
+  if (this->StagingEnabled()) {
+    return cmCPackGenerator::RunPreinstallTarget(
+      installProjectName, installDirectory, globalGenerator, buildConfig);
+  }
+
   return 1;
 }
 
@@ -108,18 +135,21 @@ int cmCPackExtGenerator::InstallCMakeProject(
   const std::string& installSubDirectory, const std::string& buildConfig,
   std::string& absoluteDestFiles)
 {
-  (void)setDestDir;
-  (void)installDirectory;
-  (void)baseTempInstallDirectory;
-  (void)default_dir_mode;
-  (void)component;
-  (void)componentInstall;
-  (void)installSubDirectory;
-  (void)buildConfig;
-  (void)absoluteDestFiles;
+  if (this->StagingEnabled()) {
+    return cmCPackGenerator::InstallCMakeProject(
+      setDestDir, installDirectory, baseTempInstallDirectory, default_dir_mode,
+      component, componentInstall, installSubDirectory, buildConfig,
+      absoluteDestFiles);
+  }
+
   return 1;
 }
 
+bool cmCPackExtGenerator::StagingEnabled() const
+{
+  return !cmSystemTools::IsOff(this->GetOption("CPACK_EXT_ENABLE_STAGING"));
+}
+
 cmCPackExtGenerator::cmCPackExtVersionGenerator::cmCPackExtVersionGenerator(
   cmCPackExtGenerator* parent)
   : Parent(parent)
diff --git a/Source/CPack/cmCPackExtGenerator.h 
b/Source/CPack/cmCPackExtGenerator.h
index fa12d7f..103e56d 100644
--- a/Source/CPack/cmCPackExtGenerator.h
+++ b/Source/CPack/cmCPackExtGenerator.h
@@ -52,6 +52,8 @@ protected:
                           std::string& absoluteDestFiles) override;
 
 private:
+  bool StagingEnabled() const;
+
   class cmCPackExtVersionGenerator
   {
   public:
diff --git a/Source/CPack/cmCPackGenerator.h b/Source/CPack/cmCPackGenerator.h
index c13c649..4755f94 100644
--- a/Source/CPack/cmCPackGenerator.h
+++ b/Source/CPack/cmCPackGenerator.h
@@ -321,7 +321,6 @@ protected:
   bool Trace;
   bool TraceExpand;
 
-private:
   cmMakefile* MakefileMap;
 };
 
diff --git a/Tests/RunCMake/CPack/RunCMakeTest.cmake 
b/Tests/RunCMake/CPack/RunCMakeTest.cmake
index b273c1e..91fed3e 100644
--- a/Tests/RunCMake/CPack/RunCMakeTest.cmake
+++ b/Tests/RunCMake/CPack/RunCMakeTest.cmake
@@ -35,4 +35,4 @@ run_cpack_test(USER_FILELIST "RPM" false "MONOLITHIC")
 run_cpack_test(MD5SUMS "DEB" false "MONOLITHIC;COMPONENT")
 run_cpack_test(CPACK_INSTALL_SCRIPT "ZIP" false "MONOLITHIC")
 run_cpack_test(DEB_PACKAGE_VERSION_BACK_COMPATIBILITY "DEB" false 
"MONOLITHIC;COMPONENT")
-run_cpack_test_subtests(EXT 
"none;good;good_multi;bad_major;bad_minor;invalid_good;invalid_bad" "Ext" false 
"MONOLITHIC;COMPONENT")
+run_cpack_test_subtests(EXT 
"none;good;good_multi;bad_major;bad_minor;invalid_good;invalid_bad;stage_and_package"
 "Ext" false "MONOLITHIC;COMPONENT")
diff --git a/Tests/RunCMake/CPack/tests/EXT/ExpectedFiles.cmake 
b/Tests/RunCMake/CPack/tests/EXT/ExpectedFiles.cmake
index 2634111..91608c9 100644
--- a/Tests/RunCMake/CPack/tests/EXT/ExpectedFiles.cmake
+++ b/Tests/RunCMake/CPack/tests/EXT/ExpectedFiles.cmake
@@ -1,4 +1,5 @@
-if(RunCMake_SUBTEST_SUFFIX MATCHES "^(none|good(_multi)?|invalid_good)$")
+if(RunCMake_SUBTEST_SUFFIX MATCHES "^(none|good(_multi)?|invalid_good)$"
+  OR RunCMake_SUBTEST_SUFFIX STREQUAL "stage_and_package")
   set(EXPECTED_FILES_COUNT "1")
   set(EXPECTED_FILE_CONTENT_1_LIST 
"/share;/share/cpack-test;/share/cpack-test/f1.txt;/share/cpack-test/f2.txt;/share/cpack-test/f3.txt;/share/cpack-test/f4.txt")
 else()
diff --git a/Tests/RunCMake/CPack/tests/EXT/create_package.cmake 
b/Tests/RunCMake/CPack/tests/EXT/create_package.cmake
new file mode 100644
index 0000000..e308ccb
--- /dev/null
+++ b/Tests/RunCMake/CPack/tests/EXT/create_package.cmake
@@ -0,0 +1,24 @@
+message("This script could run an external packaging tool")
+
+function(expect_variable VAR)
+  if(NOT ${VAR})
+    message(FATAL_ERROR "${VAR} is unexpectedly not set")
+  endif()
+endfunction()
+
+function(expect_file FILE)
+  if(NOT EXISTS "${FILE}")
+    message(FATAL_ERROR "${FILE} is unexpectedly missing")
+  endif()
+endfunction()
+
+expect_variable(CPACK_COMPONENTS_ALL)
+expect_variable(CPACK_TOPLEVEL_DIRECTORY)
+expect_variable(CPACK_TEMPORARY_DIRECTORY)
+expect_variable(CPACK_PACKAGE_DIRECTORY)
+expect_variable(CPACK_PACKAGE_FILE_NAME)
+
+expect_file(${CPACK_TEMPORARY_DIRECTORY}/f1/share/cpack-test/f1.txt)
+expect_file(${CPACK_TEMPORARY_DIRECTORY}/f2/share/cpack-test/f2.txt)
+expect_file(${CPACK_TEMPORARY_DIRECTORY}/f3/share/cpack-test/f3.txt)
+expect_file(${CPACK_TEMPORARY_DIRECTORY}/f4/share/cpack-test/f4.txt)
diff --git a/Tests/RunCMake/CPack/tests/EXT/stage_and_package-stderr.txt 
b/Tests/RunCMake/CPack/tests/EXT/stage_and_package-stderr.txt
new file mode 100644
index 0000000..40f2743
--- /dev/null
+++ b/Tests/RunCMake/CPack/tests/EXT/stage_and_package-stderr.txt
@@ -0,0 +1 @@
+^This script could run an external packaging tool$
diff --git a/Tests/RunCMake/CPack/tests/EXT/test.cmake 
b/Tests/RunCMake/CPack/tests/EXT/test.cmake
index 6bd3cb8..976cb6a 100644
--- a/Tests/RunCMake/CPack/tests/EXT/test.cmake
+++ b/Tests/RunCMake/CPack/tests/EXT/test.cmake
@@ -14,6 +14,9 @@ elseif(RunCMake_SUBTEST_SUFFIX STREQUAL "invalid_good")
   set(CPACK_EXT_REQUESTED_VERSIONS "1;1.0")
 elseif(RunCMake_SUBTEST_SUFFIX STREQUAL "invalid_bad")
   set(CPACK_EXT_REQUESTED_VERSIONS "1")
+elseif(RunCMake_SUBTEST_SUFFIX STREQUAL "stage_and_package")
+  set(CPACK_EXT_ENABLE_STAGING 1)
+  set(CPACK_EXT_PACKAGE_SCRIPT 
"${CMAKE_CURRENT_LIST_DIR}/create_package.cmake")
 endif()
 
 file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/f1.txt" test1)

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

Summary of changes:
 CMakeLists.txt                                     |  2 +-
 Help/cpack_gen/external.rst                        | 54 +++++++++++++----
 Modules/Compiler/GNU.cmake                         |  8 ++-
 Modules/Compiler/Intel.cmake                       |  8 ++-
 Modules/Compiler/QCC.cmake                         |  8 ++-
 Modules/FindLua.cmake                              |  9 ---
 Source/CPack/cmCPackExtGenerator.cxx               | 70 +++++++++++++++-------
 Source/CPack/cmCPackExtGenerator.h                 |  2 +
 Source/CPack/cmCPackGenerator.h                    |  1 -
 Source/cmGeneratorExpression.cxx                   |  6 +-
 Source/cmGeneratorExpression.h                     | 15 ++---
 Source/cmGlobalXCodeGenerator.cxx                  |  8 ++-
 Source/cmMakefileTargetGenerator.cxx               | 10 ++--
 Source/cmServerProtocol.cxx                        |  2 +-
 Source/cmVisualStudio10TargetGenerator.cxx         | 16 ++---
 Tests/FindPackageModeMakefileTest/foo.cpp          |  2 +
 Tests/FindPackageModeMakefileTest/foo.h            |  8 +++
 Tests/RunCMake/CPack/RunCMakeTest.cmake            |  2 +-
 Tests/RunCMake/CPack/tests/EXT/ExpectedFiles.cmake |  3 +-
 .../RunCMake/CPack/tests/EXT/create_package.cmake  | 24 ++++++++
 .../CPack/tests/EXT/stage_and_package-stderr.txt   |  1 +
 Tests/RunCMake/CPack/tests/EXT/test.cmake          |  3 +
 22 files changed, 185 insertions(+), 77 deletions(-)
 create mode 100644 Tests/RunCMake/CPack/tests/EXT/create_package.cmake
 create mode 100644 Tests/RunCMake/CPack/tests/EXT/stage_and_package-stderr.txt


hooks/post-receive
-- 
CMake
_______________________________________________
Cmake-commits mailing list
Cmake-commits@cmake.org
https://cmake.org/mailman/listinfo/cmake-commits

Reply via email to