[Cmake-commits] CMake branch, master, updated. v3.5.1-449-g003d4e5

2016-04-13 Thread Kitware Robot
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  003d4e57521a876b7340ed164a737d99eabb164d (commit)
  from  f5da19edd00e05eb39332fe416f0b2bb77abadaa (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=003d4e57521a876b7340ed164a737d99eabb164d
commit 003d4e57521a876b7340ed164a737d99eabb164d
Author: Kitware Robot 
AuthorDate: Thu Apr 14 00:01:06 2016 -0400
Commit: Kitware Robot 
CommitDate: Thu Apr 14 00:01:06 2016 -0400

CMake Nightly Date Stamp

diff --git a/Source/CMakeVersion.cmake b/Source/CMakeVersion.cmake
index 1edf6b4..a42df4f 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 5)
-set(CMake_VERSION_PATCH 20160413)
+set(CMake_VERSION_PATCH 20160414)
 #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
http://public.kitware.com/mailman/listinfo/cmake-commits


[Cmake-commits] CMake branch, next, updated. v3.5.1-926-g273c68fe

2016-04-13 Thread Brad King
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  273c68fe269b62f07081208763f77e7d2dbb8b5b (commit)
   via  6620b020665c65153146ac6ea87ed06046db4244 (commit)
   via  5db66c80eb39bf0113c60984a33f77d8e6f4d729 (commit)
  from  8c2d200d987eaf4f4261e65990b2feee41c328b3 (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=273c68fe269b62f07081208763f77e7d2dbb8b5b
commit 273c68fe269b62f07081208763f77e7d2dbb8b5b
Merge: 8c2d200 6620b02
Author: Brad King 
AuthorDate: Wed Apr 13 10:48:20 2016 -0400
Commit: CMake Topic Stage 
CommitDate: Wed Apr 13 10:48:20 2016 -0400

Merge topic 'refactor-cmListFileBacktrace' into next

6620b020 cmState: Avoid accumulating snapshot storage for backtraces
5db66c80 cmState: Add Snapshot method to get bottom of call stack


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=6620b020665c65153146ac6ea87ed06046db4244
commit 6620b020665c65153146ac6ea87ed06046db4244
Author: Brad King 
AuthorDate: Tue Apr 12 17:07:08 2016 -0400
Commit: Brad King 
CommitDate: Wed Apr 13 10:00:59 2016 -0400

cmState: Avoid accumulating snapshot storage for backtraces

Changes during post-3.3/pre-3.4 development refactored storage of most
configure-time information, including variable bindings and function
scopes.  All scopes (even short-lived) were kept persistently for
possible future debugging features, causing huge accumulated memory
usage.  This was mostly addressed by commit v3.4.1~4^2 (cmState: Avoid
accumulating snapshot storage for short-lived scopes, 2015-11-24).

Since then we still keep short-lived scopes when they are needed for a
backtrace.  This is because since commit v3.4.0-rc1~378^2
(cmListFileBacktrace: Implement in terms of cmState::Snapshot,
2015-05-29) backtraces have been lightweight objects that simply point
into the snapshot tree.  While the intention of this approach was to
avoid duplicating the call stack file path strings, the cost turned out
to be holding on to the entire call stack worth of scope snapshots,
which is much worse.

Furthermore, since commit v3.4.0-rc2~1^2 (cmIfCommand: Issue CMP0054
warning with appropriate context, 2015-10-20) all conditions used in
`if()` commands hold a backtrace for use in diagnostic messages.  Even
though the backtrace is short-lived it still causes the scope snapshot
to be kept.  This means that code like

function(foo)
  if(0)
  endif()
endfunction()

foreach(i RANGE 100)
  foo()
endforeach()

accumulates storage for the function call scope snapshots.

Fix this by partially reverting commit v3.4.0-rc1~378^2 and saving the
entire call stack during cmListFileBacktrace construction.  This way
we can avoid keeping short-lived scope snapshot storage in all cases.

diff --git a/Source/cmListFileCache.cxx b/Source/cmListFileCache.cxx
index d5d0184..f198ac3 100644
--- a/Source/cmListFileCache.cxx
+++ b/Source/cmListFileCache.cxx
@@ -400,13 +400,40 @@ bool cmListFileParser::AddArgument(cmListFileLexer_Token* 
token,
 
 cmListFileBacktrace::cmListFileBacktrace(cmState::Snapshot snapshot,
  cmCommandContext const& cc)
-  : Context(cc)
-  , Snapshot(snapshot)
+  : Snapshot(snapshot)
 {
-  if (this->Snapshot.IsValid())
+  if (!this->Snapshot.IsValid())
+{
+return;
+}
+
+  // Record the entire call stack now so that the `Snapshot` we
+  // save for later refers to a long-lived scope.  This avoids
+  // having to keep short-lived scopes around just to extract
+  // their backtrace information later.
+
+  cmListFileContext lfc =
+cmListFileContext::FromCommandContext(
+  cc, this->Snapshot.GetExecutionListFile());
+  this->push_back(lfc);
+
+  cmState::Snapshot parent = this->Snapshot.GetCallStackParent();
+  while (parent.IsValid())
 {
-this->Snapshot.Keep();
+lfc.Name = this->Snapshot.GetEntryPointCommand();
+lfc.Line = this->Snapshot.GetEntryPointLine();
+lfc.FilePath = parent.GetExecutionListFile();
+if (lfc.FilePath.empty())
+  {
+  break;
+  }
+this->push_back(lfc);
+
+this->Snapshot = parent;
+parent = parent.GetCallStackParent();
 }
+
+  this->Snapshot = this->Snapshot.GetCallStackBottom();
 }
 
 cmListFileBacktrace::~cmListFileBacktrace()
@@ -415,48 +442,30 @@ cmListFileBacktrace::~cmListFileBacktrace()
 
 void cmListFileBacktrace::PrintTitle(std::ostream& out) const
 {
-  if (!this->Snapshot.IsValid())
+  if (this->empty())

[Cmake-commits] CMake branch, next, updated. v3.5.1-923-g8c2d200

2016-04-13 Thread Brad King
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  8c2d200d987eaf4f4261e65990b2feee41c328b3 (commit)
   via  f5da19edd00e05eb39332fe416f0b2bb77abadaa (commit)
   via  eae4cee0b54502c87fdb219b200a048082e0cb79 (commit)
   via  6f2cc120f091c1c8461650db4fe7729424d33bea (commit)
   via  1dc78fecc774822b0f7fbdc84805fcbf5a0a32cf (commit)
   via  d0b2ec3e713b7b90f78ec56ca4e1eebffb328b93 (commit)
  from  8da2c33e96b2e118cca05e31e895c52b62b44345 (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=8c2d200d987eaf4f4261e65990b2feee41c328b3
commit 8c2d200d987eaf4f4261e65990b2feee41c328b3
Merge: 8da2c33 f5da19e
Author: Brad King 
AuthorDate: Wed Apr 13 09:58:39 2016 -0400
Commit: Brad King 
CommitDate: Wed Apr 13 09:58:39 2016 -0400

Merge branch 'master' into next


---

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
http://public.kitware.com/mailman/listinfo/cmake-commits


[Cmake-commits] CMake branch, master, updated. v3.5.1-448-gf5da19e

2016-04-13 Thread Brad King
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  f5da19edd00e05eb39332fe416f0b2bb77abadaa (commit)
   via  c54ed7813fa4efe2c6c95b6ba75c02b78b601a26 (commit)
  from  eae4cee0b54502c87fdb219b200a048082e0cb79 (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=f5da19edd00e05eb39332fe416f0b2bb77abadaa
commit f5da19edd00e05eb39332fe416f0b2bb77abadaa
Merge: eae4cee c54ed78
Author: Brad King 
AuthorDate: Wed Apr 13 09:58:21 2016 -0400
Commit: CMake Topic Stage 
CommitDate: Wed Apr 13 09:58:21 2016 -0400

Merge topic 'cmState-rename-include-snapshot'

c54ed781 cmState: Rename CallStack snapshots to IncludeFile


---

Summary of changes:
 Source/cmMakefile.cxx |2 +-
 Source/cmState.cxx|   10 +-
 Source/cmState.h  |   10 +-
 3 files changed, 11 insertions(+), 11 deletions(-)


hooks/post-receive
-- 
CMake
___
Cmake-commits mailing list
Cmake-commits@cmake.org
http://public.kitware.com/mailman/listinfo/cmake-commits


[Cmake-commits] CMake branch, master, updated. v3.5.1-446-geae4cee

2016-04-13 Thread Brad King
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  eae4cee0b54502c87fdb219b200a048082e0cb79 (commit)
   via  bd581a373373ee9807fcab35dd3e83334b73174b (commit)
   via  82ef90fcfccb1eaf53e4d15884ff3464aa9072a3 (commit)
  from  6f2cc120f091c1c8461650db4fe7729424d33bea (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=eae4cee0b54502c87fdb219b200a048082e0cb79
commit eae4cee0b54502c87fdb219b200a048082e0cb79
Merge: 6f2cc12 bd581a3
Author: Brad King 
AuthorDate: Wed Apr 13 09:58:18 2016 -0400
Commit: CMake Topic Stage 
CommitDate: Wed Apr 13 09:58:18 2016 -0400

Merge topic 'try_compile-config-flags'

bd581a37 try_compile: Honor CMAKE__FLAGS_ changes (#16054)
82ef90fc cmCoreTryCompile: Factor out config lookup for re-use


---

Summary of changes:
 Help/release/dev/try_compile-config-flags.rst |7 +++
 Source/cmCoreTryCompile.cxx   |   13 +++--
 Tests/RunCMake/try_compile/CompileFlags.cmake |   17 +
 Tests/RunCMake/try_compile/RunCMakeTest.cmake |1 +
 Tests/RunCMake/try_compile/src.c  |3 +++
 5 files changed, 39 insertions(+), 2 deletions(-)
 create mode 100644 Help/release/dev/try_compile-config-flags.rst
 create mode 100644 Tests/RunCMake/try_compile/CompileFlags.cmake


hooks/post-receive
-- 
CMake
___
Cmake-commits mailing list
Cmake-commits@cmake.org
http://public.kitware.com/mailman/listinfo/cmake-commits


[Cmake-commits] CMake branch, master, updated. v3.5.1-443-g6f2cc12

2016-04-13 Thread Brad King
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  6f2cc120f091c1c8461650db4fe7729424d33bea (commit)
   via  875490545da19859a4787f71422515ddefeec401 (commit)
  from  1dc78fecc774822b0f7fbdc84805fcbf5a0a32cf (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=6f2cc120f091c1c8461650db4fe7729424d33bea
commit 6f2cc120f091c1c8461650db4fe7729424d33bea
Merge: 1dc78fe 8754905
Author: Brad King 
AuthorDate: Wed Apr 13 09:58:14 2016 -0400
Commit: CMake Topic Stage 
CommitDate: Wed Apr 13 09:58:14 2016 -0400

Merge topic 'FindMPI-docs'

87549054 FindMPI: Improve documentation formatting


---

Summary of changes:
 Modules/FindMPI.cmake |   27 +++
 1 file changed, 15 insertions(+), 12 deletions(-)


hooks/post-receive
-- 
CMake
___
Cmake-commits mailing list
Cmake-commits@cmake.org
http://public.kitware.com/mailman/listinfo/cmake-commits


[Cmake-commits] CMake branch, master, updated. v3.5.1-441-g1dc78fe

2016-04-13 Thread Brad King
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  1dc78fecc774822b0f7fbdc84805fcbf5a0a32cf (commit)
   via  5e62444cff5ead280a111c116a3fe810181379cf (commit)
  from  d0b2ec3e713b7b90f78ec56ca4e1eebffb328b93 (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=1dc78fecc774822b0f7fbdc84805fcbf5a0a32cf
commit 1dc78fecc774822b0f7fbdc84805fcbf5a0a32cf
Merge: d0b2ec3 5e62444
Author: Brad King 
AuthorDate: Wed Apr 13 09:58:08 2016 -0400
Commit: CMake Topic Stage 
CommitDate: Wed Apr 13 09:58:08 2016 -0400

Merge topic 'clang-tidy'

5e62444c Add options to run clang-tidy with the compiler


---

Summary of changes:
 Help/manual/cmake-properties.7.rst |1 +
 Help/manual/cmake-variables.7.rst  |1 +
 ...NCLUDE_WHAT_YOU_USE.rst => LANG_CLANG_TIDY.rst} |8 +-
 Help/release/dev/clang-tidy.rst|7 ++
 ...ILER_LAUNCHER.rst => CMAKE_LANG_CLANG_TIDY.rst} |6 +-
 Source/cmMakefileTargetGenerator.cxx   |   19 -
 Source/cmNinjaTargetGenerator.cxx  |   18 -
 Source/cmTarget.cxx|2 +
 Source/cmcmd.cxx   |   80 +++-
 Tests/RunCMake/CMakeLists.txt  |2 +
 Tests/RunCMake/ClangTidy/C-Build-stdout.txt|1 +
 Tests/RunCMake/ClangTidy/C-launch-Build-stdout.txt |1 +
 .../{CompilerLauncher => ClangTidy}/C-launch.cmake |0
 Tests/RunCMake/ClangTidy/C.cmake   |3 +
 .../{ToolchainFile => ClangTidy}/CMakeLists.txt|0
 Tests/RunCMake/ClangTidy/CXX-Build-stdout.txt  |1 +
 .../RunCMake/ClangTidy/CXX-launch-Build-stdout.txt |1 +
 .../CXX-launch.cmake   |0
 Tests/RunCMake/ClangTidy/CXX.cmake |3 +
 .../RunCMakeTest.cmake |   12 +--
 .../ClangTidy}/main.c  |0
 .../{CompilerLauncher => ClangTidy}/main.cxx   |0
 .../CommandLine/E___run_iwyu-no-iwyu-stderr.txt|2 +-
 Tests/RunCMake/pseudo_tidy.c   |   16 
 24 files changed, 143 insertions(+), 41 deletions(-)
 copy Help/prop_tgt/{LANG_INCLUDE_WHAT_YOU_USE.rst => LANG_CLANG_TIDY.rst} (63%)
 create mode 100644 Help/release/dev/clang-tidy.rst
 copy Help/variable/{CMAKE_LANG_COMPILER_LAUNCHER.rst => 
CMAKE_LANG_CLANG_TIDY.rst} (50%)
 create mode 100644 Tests/RunCMake/ClangTidy/C-Build-stdout.txt
 create mode 100644 Tests/RunCMake/ClangTidy/C-launch-Build-stdout.txt
 copy Tests/RunCMake/{CompilerLauncher => ClangTidy}/C-launch.cmake (100%)
 create mode 100644 Tests/RunCMake/ClangTidy/C.cmake
 copy Tests/RunCMake/{ToolchainFile => ClangTidy}/CMakeLists.txt (100%)
 create mode 100644 Tests/RunCMake/ClangTidy/CXX-Build-stdout.txt
 create mode 100644 Tests/RunCMake/ClangTidy/CXX-launch-Build-stdout.txt
 copy Tests/RunCMake/{CompilerLauncher => ClangTidy}/CXX-launch.cmake (100%)
 create mode 100644 Tests/RunCMake/ClangTidy/CXX.cmake
 copy Tests/RunCMake/{IncludeWhatYouUse => ClangTidy}/RunCMakeTest.cmake (75%)
 copy Tests/{CMakeOnly/LinkInterfaceLoop => RunCMake/ClangTidy}/main.c (100%)
 copy Tests/RunCMake/{CompilerLauncher => ClangTidy}/main.cxx (100%)
 create mode 100644 Tests/RunCMake/pseudo_tidy.c


hooks/post-receive
-- 
CMake
___
Cmake-commits mailing list
Cmake-commits@cmake.org
http://public.kitware.com/mailman/listinfo/cmake-commits


[Cmake-commits] CMake branch, next, updated. v3.5.1-917-g8da2c33

2016-04-13 Thread Brad King
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  8da2c33e96b2e118cca05e31e895c52b62b44345 (commit)
   via  5e62444cff5ead280a111c116a3fe810181379cf (commit)
  from  eaadfd357c9a6a438f642dd892b8bea771279a90 (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=8da2c33e96b2e118cca05e31e895c52b62b44345
commit 8da2c33e96b2e118cca05e31e895c52b62b44345
Merge: eaadfd3 5e62444
Author: Brad King 
AuthorDate: Wed Apr 13 09:56:31 2016 -0400
Commit: CMake Topic Stage 
CommitDate: Wed Apr 13 09:56:31 2016 -0400

Merge topic 'clang-tidy' into next

5e62444c Add options to run clang-tidy with the compiler


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=5e62444cff5ead280a111c116a3fe810181379cf
commit 5e62444cff5ead280a111c116a3fe810181379cf
Author: Daniel Pfeifer 
AuthorDate: Fri Apr 8 22:09:27 2016 +0200
Commit: Brad King 
CommitDate: Wed Apr 13 09:56:10 2016 -0400

Add options to run clang-tidy with the compiler

Create a _CLANG_TIDY target property (initialized by a
CMAKE__CLANG_TIDY variable) to specify a clang-tidy command line
to be run along with the compiler.

diff --git a/Help/manual/cmake-properties.7.rst 
b/Help/manual/cmake-properties.7.rst
index 73d1142..3403dcd 100644
--- a/Help/manual/cmake-properties.7.rst
+++ b/Help/manual/cmake-properties.7.rst
@@ -197,6 +197,7 @@ Properties on Targets
/prop_tgt/JOB_POOL_COMPILE
/prop_tgt/JOB_POOL_LINK
/prop_tgt/LABELS
+   /prop_tgt/LANG_CLANG_TIDY
/prop_tgt/LANG_COMPILER_LAUNCHER
/prop_tgt/LANG_INCLUDE_WHAT_YOU_USE
/prop_tgt/LANG_VISIBILITY_PRESET
diff --git a/Help/manual/cmake-variables.7.rst 
b/Help/manual/cmake-variables.7.rst
index 3f73b32..7cf3a3d 100644
--- a/Help/manual/cmake-variables.7.rst
+++ b/Help/manual/cmake-variables.7.rst
@@ -259,6 +259,7 @@ Variables that Control the Build
/variable/CMAKE_INSTALL_RPATH
/variable/CMAKE_INSTALL_RPATH_USE_LINK_PATH
/variable/CMAKE_IOS_INSTALL_COMBINED
+   /variable/CMAKE_LANG_CLANG_TIDY
/variable/CMAKE_LANG_COMPILER_LAUNCHER
/variable/CMAKE_LANG_INCLUDE_WHAT_YOU_USE
/variable/CMAKE_LANG_VISIBILITY_PRESET
diff --git a/Help/prop_tgt/LANG_CLANG_TIDY.rst 
b/Help/prop_tgt/LANG_CLANG_TIDY.rst
new file mode 100644
index 000..2887e23
--- /dev/null
+++ b/Help/prop_tgt/LANG_CLANG_TIDY.rst
@@ -0,0 +1,13 @@
+_CLANG_TIDY
+-
+
+This property is implemented only when  is ``C`` or ``CXX``.
+
+Specify a :ref:`;-list ` containing a command
+line for the ``clang-tidy`` tool.  The :ref:`Makefile Generators`
+and the :generator:`Ninja` generator will run this tool along with the
+compiler and report a warning if the tool reports any problems.
+
+This property is initialized by the value of
+the :variable:`CMAKE__CLANG_TIDY` variable if it is set
+when a target is created.
diff --git a/Help/release/dev/clang-tidy.rst b/Help/release/dev/clang-tidy.rst
new file mode 100644
index 000..030a7c9
--- /dev/null
+++ b/Help/release/dev/clang-tidy.rst
@@ -0,0 +1,7 @@
+clang-tidy
+--
+
+* A :prop_tgt:`_CLANG_TIDY` target property and supporting
+  :variable:`CMAKE__CLANG_TIDY` variable were introduced to tell the
+  :ref:`Makefile Generators` and the :generator:`Ninja` generator to run
+  ``clang-tidy`` along with the compiler for ``C`` and ``CXX`` languages.
diff --git a/Help/variable/CMAKE_LANG_CLANG_TIDY.rst 
b/Help/variable/CMAKE_LANG_CLANG_TIDY.rst
new file mode 100644
index 000..492c12c
--- /dev/null
+++ b/Help/variable/CMAKE_LANG_CLANG_TIDY.rst
@@ -0,0 +1,6 @@
+CMAKE__CLANG_TIDY
+---
+
+Default value for :prop_tgt:`_CLANG_TIDY` target property.
+This variable is used to initialize the property on each target as it is
+created.  This is done only when  is ``C`` or ``CXX``.
diff --git a/Source/cmMakefileTargetGenerator.cxx 
b/Source/cmMakefileTargetGenerator.cxx
index eedc6ab..29708d9 100644
--- a/Source/cmMakefileTargetGenerator.cxx
+++ b/Source/cmMakefileTargetGenerator.cxx
@@ -667,10 +667,23 @@ cmMakefileTargetGenerator
 {
 std::string const iwyu_prop = lang + "_INCLUDE_WHAT_YOU_USE";
 const char *iwyu = this->GeneratorTarget->GetProperty(iwyu_prop);
-if (iwyu && *iwyu)
+std::string const tidy_prop = lang + "_CLANG_TIDY";
+const char *tidy = this->GeneratorTarget->GetProperty(tidy_prop);
+if ((iwyu && *iwyu) || (tidy && *tidy))
   {
-  std::string run_iwyu = "$(CMAKE_COMMAND) -E __run_iwyu --iwyu=";
-  run_iwyu += this->LocalGenerator->EscapeForShell(iwyu);
+  std::string run_iwyu = "$(CMAKE_COMMAND) -E __run_iwyu";
+  if (iwyu && *iwyu)