[Cmake-commits] CMake branch, master, updated. v3.14.4-1083-gc22693b

2019-05-23 Thread Kitware Robot via Cmake-commits
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  c22693b99df12f540480438275cd5bae1cfc5846 (commit)
  from  f03a80aefd4073bc1502c2e486fedfdbd8addfb6 (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=c22693b99df12f540480438275cd5bae1cfc5846
commit c22693b99df12f540480438275cd5bae1cfc5846
Author: Kitware Robot 
AuthorDate: Fri May 24 00:01:06 2019 -0400
Commit: Kitware Robot 
CommitDate: Fri May 24 00:01:06 2019 -0400

CMake Nightly Date Stamp

diff --git a/Source/CMakeVersion.cmake b/Source/CMakeVersion.cmake
index 6948abd..386dbbf 100644
--- a/Source/CMakeVersion.cmake
+++ b/Source/CMakeVersion.cmake
@@ -1,5 +1,5 @@
 # CMake version number components.
 set(CMake_VERSION_MAJOR 3)
 set(CMake_VERSION_MINOR 14)
-set(CMake_VERSION_PATCH 20190523)
+set(CMake_VERSION_PATCH 20190524)
 #set(CMake_VERSION_RC 1)

---

Summary of changes:
 Source/CMakeVersion.cmake | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)


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


[Cmake-commits] CMake branch, master, updated. v3.14.4-1082-gf03a80a

2019-05-23 Thread Kitware Robot via Cmake-commits
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  f03a80aefd4073bc1502c2e486fedfdbd8addfb6 (commit)
   via  5a1af142f120ccc6834efcf786e346b06e0f05c6 (commit)
  from  a4faf7788cc40b17c48a9393cd15425ee65abfd9 (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=f03a80aefd4073bc1502c2e486fedfdbd8addfb6
commit f03a80aefd4073bc1502c2e486fedfdbd8addfb6
Merge: a4faf77 5a1af14
Author: Brad King 
AuthorDate: Thu May 23 13:22:25 2019 +
Commit: Kitware Robot 
CommitDate: Thu May 23 09:22:37 2019 -0400

Merge topic 'genex-target-property-lifetime'

5a1af142f1 Genex: Fix value lifetimes in nested TARGET_PROPERTY evaluation

Acked-by: Kitware Robot 
Merge-request: !3362


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=5a1af142f120ccc6834efcf786e346b06e0f05c6
commit 5a1af142f120ccc6834efcf786e346b06e0f05c6
Author: Brad King 
AuthorDate: Wed May 22 09:56:19 2019 -0400
Commit: Brad King 
CommitDate: Wed May 22 10:19:41 2019 -0400

Genex: Fix value lifetimes in nested TARGET_PROPERTY evaluation

For special properties like `INCLUDE_DIRECTORIES`, the pointer returned
by `cmTarget::GetProperty` is only valid until the next time the same
special property is queried on *any* target.  When evaluating a nested
`TARGET_PROPERTY` generator expression we may look up such a property
more than once on different targets.  Fix `TargetPropertyNode::Evaluate`
to store the lookup result in locally owned memory earlier.

Fixes: #19286

diff --git a/Source/cmGeneratorExpressionNode.cxx 
b/Source/cmGeneratorExpressionNode.cxx
index 709355a..68ef170 100644
--- a/Source/cmGeneratorExpressionNode.cxx
+++ b/Source/cmGeneratorExpressionNode.cxx
@@ -1215,7 +1215,12 @@ static const struct TargetPropertyNode : public 
cmGeneratorExpressionNode
 break;
 }
 
-const char* prop = target->GetProperty(propertyName);
+std::string prop;
+bool haveProp = false;
+if (const char* p = target->GetProperty(propertyName)) {
+  prop = p;
+  haveProp = true;
+}
 
 if (dagCheckerParent) {
   if (dagCheckerParent->EvaluatingGenexExpression() ||
@@ -1235,7 +1240,7 @@ static const struct TargetPropertyNode : public 
cmGeneratorExpressionNode
 }
 #undef TRANSITIVE_PROPERTY_COMPARE
 
-if (!prop) {
+if (!haveProp) {
   return std::string();
 }
   } else {
@@ -1291,7 +1296,7 @@ static const struct TargetPropertyNode : public 
cmGeneratorExpressionNode
   }
 }
 
-if (!prop) {
+if (!haveProp) {
   if (target->IsImported() ||
   target->GetType() == cmStateEnums::INTERFACE_LIBRARY) {
 return linkedTargetsContent;
diff --git a/Tests/RunCMake/GeneratorExpression/RunCMakeTest.cmake 
b/Tests/RunCMake/GeneratorExpression/RunCMakeTest.cmake
index 8abf70d..68a0172 100644
--- a/Tests/RunCMake/GeneratorExpression/RunCMakeTest.cmake
+++ b/Tests/RunCMake/GeneratorExpression/RunCMakeTest.cmake
@@ -53,6 +53,7 @@ run_cmake_with_options(TARGET_FILE_BASE_NAME 
-DCMAKE_BUILD_TYPE:STRING=Debug)
 run_cmake_with_options(TARGET_FILE_BASE_NAME-imported-target 
-DCMAKE_BUILD_TYPE:STRING=Debug)
 run_cmake(TARGET_FILE_BASE_NAME-non-valid-target)
 run_cmake(TARGET_LINKER_FILE_BASE_NAME-non-valid-target)
+run_cmake(TARGET_PROPERTY-INCLUDE_DIRECTORIES)
 run_cmake(TARGET_PROPERTY-LOCATION)
 run_cmake(TARGET_PROPERTY-SOURCES)
 run_cmake(LINK_ONLY-not-linking)
diff --git 
a/Tests/RunCMake/GeneratorExpression/TARGET_PROPERTY-INCLUDE_DIRECTORIES.cmake 
b/Tests/RunCMake/GeneratorExpression/TARGET_PROPERTY-INCLUDE_DIRECTORIES.cmake
new file mode 100644
index 000..cb6f4d8
--- /dev/null
+++ 
b/Tests/RunCMake/GeneratorExpression/TARGET_PROPERTY-INCLUDE_DIRECTORIES.cmake
@@ -0,0 +1,18 @@
+cmake_minimum_required(VERSION 3.14)
+enable_language(C)
+
+add_library(foo1 STATIC empty.c)
+target_include_directories(foo1 PUBLIC include)
+target_link_libraries(foo1 PRIVATE foo2 foo3 foo4)
+
+add_library(foo2 STATIC empty.c)
+target_include_directories(foo2 PUBLIC 
$)
+
+add_library(foo3 STATIC empty.c)
+target_include_directories(foo3 PUBLIC 
$)
+
+add_library(foo4 STATIC empty.c)
+target_include_directories(foo4 PUBLIC 
$)
+
+# Evaluate a genex that looks up INCLUDE_DIRECTORIES on multiple targets.
+file(GENERATE OUTPUT out.txt CONTENT 
"$")

---

Summary of changes:
 Source/cmGeneratorExpressionNode.cxx   | 11 ---
 Tests/RunCMake/GeneratorExpression/RunCMakeTest.cmake  |  1 +
 

[Cmake-commits] CMake branch, master, updated. v3.14.4-1080-ga4faf77

2019-05-23 Thread Kitware Robot via Cmake-commits
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  a4faf7788cc40b17c48a9393cd15425ee65abfd9 (commit)
   via  e884b1b69365e9dc15fff572a6ff2237c1bb7644 (commit)
  from  22df62b58d8e2b9af5e754f4ed413d90088eb79e (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=a4faf7788cc40b17c48a9393cd15425ee65abfd9
commit a4faf7788cc40b17c48a9393cd15425ee65abfd9
Merge: 22df62b e884b1b
Author: Brad King 
AuthorDate: Thu May 23 12:54:16 2019 +
Commit: Kitware Robot 
CommitDate: Thu May 23 09:05:47 2019 -0400

Merge topic 'string-error'

e884b1b693 cmSystemTools::Error(): remove const char* overload

Acked-by: Kitware Robot 
Merge-request: !3360


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=e884b1b69365e9dc15fff572a6ff2237c1bb7644
commit e884b1b69365e9dc15fff572a6ff2237c1bb7644
Author: Vitaly Stakhovsky 
AuthorDate: Wed May 22 09:16:42 2019 -0400
Commit: Brad King 
CommitDate: Wed May 22 10:51:06 2019 -0400

cmSystemTools::Error(): remove const char* overload

diff --git a/Source/CTest/cmCTestScriptHandler.cxx 
b/Source/CTest/cmCTestScriptHandler.cxx
index 43cfe16..a739f44 100644
--- a/Source/CTest/cmCTestScriptHandler.cxx
+++ b/Source/CTest/cmCTestScriptHandler.cxx
@@ -447,7 +447,8 @@ int cmCTestScriptHandler::ExtractVariables()
 if (updateVal) {
   if (this->UpdateCmd.empty()) {
 cmSystemTools::Error(
-  updateVar, " specified without specifying CTEST_CVS_COMMAND.");
+  std::string(updateVar) +
+  " specified without specifying CTEST_CVS_COMMAND.");
 return 12;
   }
   this->ExtraUpdates.emplace_back(updateVal);
diff --git a/Source/CursesDialog/cmCursesCacheEntryComposite.cxx 
b/Source/CursesDialog/cmCursesCacheEntryComposite.cxx
index e7ed097..c1dd591 100644
--- a/Source/CursesDialog/cmCursesCacheEntryComposite.cxx
+++ b/Source/CursesDialog/cmCursesCacheEntryComposite.cxx
@@ -83,7 +83,7 @@ cmCursesCacheEntryComposite::cmCursesCacheEntryComposite(
   break;
 }
 case cmStateEnums::UNINITIALIZED:
-  cmSystemTools::Error("Found an undefined variable: ", key.c_str());
+  cmSystemTools::Error("Found an undefined variable: " + key);
   break;
 default:
   // TODO : put warning message here
diff --git a/Source/cmCPluginAPI.cxx b/Source/cmCPluginAPI.cxx
index 5efc784..255a8e6 100644
--- a/Source/cmCPluginAPI.cxx
+++ b/Source/cmCPluginAPI.cxx
@@ -167,8 +167,8 @@ void CCONV cmAddLinkDirectoryForTarget(void* arg, const 
char* tgt,
   cmTarget* t = mf->FindLocalNonAliasTarget(tgt);
   if (!t) {
 cmSystemTools::Error(
-  "Attempt to add link directories to non-existent target: ", tgt,
-  " for directory ", d);
+  "Attempt to add link directories to non-existent target: " +
+  std::string(tgt) + " for directory " + std::string(d));
 return;
   }
   t->InsertLinkDirectory(d, mf->GetBacktrace());
diff --git a/Source/cmCacheManager.cxx b/Source/cmCacheManager.cxx
index 6116de0..358f095 100644
--- a/Source/cmCacheManager.cxx
+++ b/Source/cmCacheManager.cxx
@@ -308,8 +308,7 @@ bool cmCacheManager::SaveCache(const std::string& path, 
cmMessenger* messenger)
 if (!ce.Initialized) {
   /*
 // This should be added in, but is not for now.
-  cmSystemTools::Error("Cache entry \"", (*i).first.c_str(),
-   "\" is uninitialized");
+  cmSystemTools::Error("Cache entry \"" + i.first + "\" is uninitialized");
   */
 } else if (t != cmStateEnums::INTERNAL) {
   // Format is key:type=value
diff --git a/Source/cmGlobalGenerator.cxx b/Source/cmGlobalGenerator.cxx
index b08dd1c..3495f2a 100644
--- a/Source/cmGlobalGenerator.cxx
+++ b/Source/cmGlobalGenerator.cxx
@@ -1798,10 +1798,10 @@ int cmGlobalGenerator::Build(
   output += "\n";
   if (workdir.Failed()) {
 cmSystemTools::SetRunCommandHideConsole(hideconsole);
-cmSystemTools::Error("Failed to change directory: ",
- std::strerror(workdir.GetLastResult()));
-output += "Failed to change directory: ";
-output += std::strerror(workdir.GetLastResult());
+std::string err = "Failed to change directory: ";
+err += std::strerror(workdir.GetLastResult());
+cmSystemTools::Error(err);
+output += err;
 output += "\n";
 return 1;
   }
diff --git a/Source/cmInstallExportAndroidMKGenerator.cxx 
b/Source/cmInstallExportAndroidMKGenerator.cxx
index 7de3dd4..55d3685 100644
--- a/Source/cmInstallExportAndroidMKGenerator.cxx
+++ b/Source/cmInstallExportAndroidMKGenerator.cxx
@@ -44,7 +44,7 @@ void 

[Cmake-commits] CMake branch, master, updated. v3.14.4-1078-g22df62b

2019-05-23 Thread Kitware Robot via Cmake-commits
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  22df62b58d8e2b9af5e754f4ed413d90088eb79e (commit)
   via  4f739a4e47d450406818804e45e5daaf452b39a8 (commit)
   via  5222400d9f574b5f953a2fe1d2c95a9754c683f3 (commit)
   via  cbd1c5b4ab16fa3e1086417f010e7bbad42cc50d (commit)
   via  79c6a573f4c6690914511e4e1894221a94f1b3e3 (commit)
   via  d1a570f18c47bb840fc19a9979d3970fbaa7e58a (commit)
   via  8ee6584a9975e766047fd73815a81a8d9c7db3f5 (commit)
   via  5b53cfda247f7d688a058f358628639a431313a8 (commit)
   via  9c576a88d95b302882bcb0a021dcf03982a40902 (commit)
   via  4b45a5d5c7f9266e5ca08f6d5676759b9aac4235 (commit)
   via  02c14b7fcd29a7dcedb930fe5d9138cb185493e1 (commit)
   via  24223ac84bd1610cef2ab0935233387227653dfd (commit)
   via  7e636fd8e0f10c8e0ba5eea529f4fedffd899ecf (commit)
   via  0fbf936b4630ca9db0d492d8c7e583f45d959b45 (commit)
   via  8517b549f44eb41c93eb1c448de176ad4172f083 (commit)
   via  9f205acefe256ac9707cd500ea1d421916f013cd (commit)
   via  26ea022c3bf081d9e1f7266e5ae52719cb59301b (commit)
  from  d7e70d01fe510b6f5760a88cc6f244cbc0ed5f32 (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=22df62b58d8e2b9af5e754f4ed413d90088eb79e
commit 22df62b58d8e2b9af5e754f4ed413d90088eb79e
Merge: 4f739a4 24223ac
Author: Brad King 
AuthorDate: Thu May 23 12:53:16 2019 +
Commit: Kitware Robot 
CommitDate: Thu May 23 09:02:55 2019 -0400

Merge topic 'swift-flag-variables'

24223ac84b Modules: add Swift MSVC_RUNTIME_LIBRARY flags
7e636fd8e0 Modules: add `CMAKE_Swift_FRAMEWORK_SEARCH_FLAG`
0fbf936b46 Modules: remove `CMAKE_INCLUDE_FLAG_SEP_Swift`

Acked-by: Kitware Robot 
Merge-request: !3353


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=4f739a4e47d450406818804e45e5daaf452b39a8
commit 4f739a4e47d450406818804e45e5daaf452b39a8
Merge: 5222400 8ee6584
Author: Brad King 
AuthorDate: Thu May 23 12:53:57 2019 +
Commit: Kitware Robot 
CommitDate: Thu May 23 09:01:04 2019 -0400

Merge topic 'compiler-launcher-shell-format'

8ee6584a99 Ninja,Makefile: Fix _COMPILER_LAUNCHER shell command syntax

Acked-by: Kitware Robot 
Merge-request: !3361


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=5222400d9f574b5f953a2fe1d2c95a9754c683f3
commit 5222400d9f574b5f953a2fe1d2c95a9754c683f3
Merge: cbd1c5b 8517b54
Author: Brad King 
AuthorDate: Thu May 23 12:52:47 2019 +
Commit: Kitware Robot 
CommitDate: Thu May 23 08:59:25 2019 -0400

Merge topic 'FindPython-find_strategy'

8517b549f4 FindPython: Add policy to manage lookup stratgey default.
9f205acefe FindPython: Implement lookup strategies.

Acked-by: Kitware Robot 
Merge-request: !3354


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=cbd1c5b4ab16fa3e1086417f010e7bbad42cc50d
commit cbd1c5b4ab16fa3e1086417f010e7bbad42cc50d
Merge: 79c6a57 26ea022
Author: Brad King 
AuthorDate: Thu May 23 12:52:12 2019 +
Commit: Kitware Robot 
CommitDate: Thu May 23 08:57:36 2019 -0400

Merge topic 'framework-var'

26ea022c3b Add variable CMAKE_FRAMEWORK

Acked-by: Kitware Robot 
Merge-request: !3347


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=79c6a573f4c6690914511e4e1894221a94f1b3e3
commit 79c6a573f4c6690914511e4e1894221a94f1b3e3
Merge: d1a570f 02c14b7
Author: Brad King 
AuthorDate: Thu May 23 12:53:24 2019 +
Commit: Kitware Robot 
CommitDate: Thu May 23 08:55:16 2019 -0400

Merge topic 'swift-flags'

02c14b7fcd Ninja,Swift: pass along DEFINES/FLAGS/INCLUDES

Acked-by: Kitware Robot 
Merge-request: !3355


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=d1a570f18c47bb840fc19a9979d3970fbaa7e58a
commit d1a570f18c47bb840fc19a9979d3970fbaa7e58a
Merge: d7e70d0 5b53cfd
Author: Brad King 
AuthorDate: Thu May 23 12:51:39 2019 +
Commit: Kitware Robot 
CommitDate: Thu May 23 08:53:17 2019 -0400

Merge topic 'cmFileTimes'

5b53cfda24 cmSystemTools: Remove cmSystemToolsFileTime interface
9c576a88d9 Use cmFileTimes instead of cmSystemToolsFileTime interface
4b45a5d5c7 cmFileTimes: New RAII based cmFileTimes class

Acked-by: Kitware Robot 
Merge-request: !3358


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=8ee6584a9975e766047fd73815a81a8d9c7db3f5
commit 8ee6584a9975e766047fd73815a81a8d9c7db3f5
Author: Brad King 
AuthorDate: Wed May 22 09:30:38 2019 -0400
Commit: Brad King 
CommitDate: Wed May 22 10:47:15 2019 -0400

Ninja,Makefile: Fix _COMPILER_LAUNCHER shell 

[Cmake-commits] CMake branch, master, updated. v3.14.4-1061-gd7e70d0

2019-05-23 Thread Kitware Robot via Cmake-commits
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  d7e70d01fe510b6f5760a88cc6f244cbc0ed5f32 (commit)
   via  71d6a1455e402755023b509629971afd1ed98922 (commit)
  from  22d58e07e5dc54e113ae7414dea604549b0cfc43 (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=d7e70d01fe510b6f5760a88cc6f244cbc0ed5f32
commit d7e70d01fe510b6f5760a88cc6f244cbc0ed5f32
Merge: 22d58e0 71d6a14
Author: Brad King 
AuthorDate: Thu May 23 12:51:29 2019 +
Commit: Kitware Robot 
CommitDate: Thu May 23 08:51:38 2019 -0400

Merge topic 'autogen_compiler_features'

71d6a1455e Autogen: Evaluate compiler features for the same exectuable only 
once

Acked-by: Kitware Robot 
Merge-request: !3359


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=71d6a1455e402755023b509629971afd1ed98922
commit 71d6a1455e402755023b509629971afd1ed98922
Author: Sebastian Holtermann 
AuthorDate: Wed May 22 12:09:31 2019 +0200
Commit: Sebastian Holtermann 
CommitDate: Wed May 22 12:25:17 2019 +0200

Autogen: Evaluate compiler features for the same exectuable only once

To speed up the `AUTOGEN` configuration process, evaluate the compiler
features only once.  The feature evaluation result is stored in the new 
class
`cmQtAutoGen::CompilerFeatures`, and the instance is shared by using
`std::shared_ptr`.

diff --git a/Source/cmQtAutoGen.h b/Source/cmQtAutoGen.h
index 3a346b5..9c52129 100644
--- a/Source/cmQtAutoGen.h
+++ b/Source/cmQtAutoGen.h
@@ -5,6 +5,7 @@
 
 #include "cmConfigure.h" // IWYU pragma: keep
 
+#include  // IWYU pragma: keep
 #include 
 #include 
 
@@ -40,6 +41,15 @@ public:
 }
   };
 
+  class CompilerFeatures
+  {
+  public:
+bool Evaluated = false;
+std::string HelpOutput;
+std::vector ListOptions;
+  };
+  typedef std::shared_ptr CompilerFeaturesHandle;
+
   /// @brief AutoGen generator type
   enum class GenT
   {
diff --git a/Source/cmQtAutoGenGlobalInitializer.cxx 
b/Source/cmQtAutoGenGlobalInitializer.cxx
index 59e17d7..ef8a56b 100644
--- a/Source/cmQtAutoGenGlobalInitializer.cxx
+++ b/Source/cmQtAutoGenGlobalInitializer.cxx
@@ -203,19 +203,16 @@ void cmQtAutoGenGlobalInitializer::AddToGlobalAutoRcc(
   }
 }
 
-bool cmQtAutoGenGlobalInitializer::GetExecutableTestOutput(
+cmQtAutoGen::CompilerFeaturesHandle
+cmQtAutoGenGlobalInitializer::GetCompilerFeatures(
   std::string const& generator, std::string const& executable,
-  std::string& error, std::string* output)
+  std::string& error)
 {
-  // Check if we have cached output
+  // Check if we have cached features
   {
-auto it = this->ExecutableTestOutputs_.find(executable);
-if (it != this->ExecutableTestOutputs_.end()) {
-  // Return output on demand
-  if (output != nullptr) {
-*output = it->second;
-  }
-  return true;
+auto it = this->CompilerFeatures_.find(executable);
+if (it != this->CompilerFeatures_.end()) {
+  return it->second;
 }
   }
 
@@ -226,7 +223,7 @@ bool cmQtAutoGenGlobalInitializer::GetExecutableTestOutput(
 error += "\" executable ";
 error += cmQtAutoGen::Quoted(executable);
 error += " does not exist.";
-return false;
+return cmQtAutoGen::CompilerFeaturesHandle();
   }
 
   // Test the executable
@@ -234,7 +231,7 @@ bool cmQtAutoGenGlobalInitializer::GetExecutableTestOutput(
   {
 std::string stdErr;
 std::vector command;
-command.push_back(executable);
+command.emplace_back(executable);
 command.emplace_back("-h");
 int retVal = 0;
 const bool runResult = cmSystemTools::RunSingleCommand(
@@ -250,19 +247,19 @@ bool 
cmQtAutoGenGlobalInitializer::GetExecutableTestOutput(
   error += stdOut;
   error += "\n";
   error += stdErr;
-  return false;
+  return cmQtAutoGen::CompilerFeaturesHandle();
 }
   }
 
-  // Return executable output on demand
-  if (output != nullptr) {
-*output = stdOut;
-  }
+  // Create valid handle
+  cmQtAutoGen::CompilerFeaturesHandle res =
+std::make_shared();
+  res->HelpOutput = std::move(stdOut);
 
-  // Register executable and output
-  this->ExecutableTestOutputs_.emplace(executable, std::move(stdOut));
+  // Register compiler features
+  this->CompilerFeatures_.emplace(executable, res);
 
-  return true;
+  return res;
 }
 
 bool cmQtAutoGenGlobalInitializer::generate()
diff --git a/Source/cmQtAutoGenGlobalInitializer.h 
b/Source/cmQtAutoGenGlobalInitializer.h
index 77429b7..d56153a 100644
--- a/Source/cmQtAutoGenGlobalInitializer.h
+++ b/Source/cmQtAutoGenGlobalInitializer.h
@@ -5,6 +5,8 @@
 
 #include "cmConfigure.h" // IWYU