[Cmake-commits] CMake branch, master, updated. v3.9.3-883-g95df03a

Kitware Robot kwrobot at kitware.com
Wed Sep 20 13:25:04 EDT 2017


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  95df03a1d44d48b5407dd0ddc9e618ce2f17762b (commit)
       via  7f8999dfc6fd6b432a178a2bb8d346287e4f9109 (commit)
       via  1490466bf96a597acdae2c0e7394fd9299847731 (commit)
       via  be475daa8f89f93691912abf082bfd4f59cf7253 (commit)
       via  cb36e91eff65127f9b99fa02c7ff6b9a0a2d55b8 (commit)
       via  08512646e1c1ad23e75922a79e111365740b5cb7 (commit)
       via  c8826fe04f5f4f8c911a751ff7979fde79e92eb1 (commit)
       via  a5279ae553caba7ab875ee06d2ce2d079907145d (commit)
       via  062776e75b4b0340b178d03bd15ef263d5cf8db1 (commit)
       via  7374cb857cc509daa7bf6dc44630f51e080bc054 (commit)
       via  ed19e8136d59d4ae7fbee20d9a549f4c06237e59 (commit)
       via  706b37b7f597f449cc3d02bd50123c4e7277eadb (commit)
       via  71b65abca26a7f2ad441235c2eacb8164c512b11 (commit)
       via  eb3abf8b2ba514cec7d882bcde9d136fa3e023b7 (commit)
       via  f23def2cf3d5dbb62f615db1c42cda68877131a5 (commit)
       via  485a6f0ef2fa0b08fd72f1c3a8b96e83481510c6 (commit)
       via  97f0b177df992814e24a544a00a31ebf77d2db83 (commit)
      from  821b54f4a6e1cebfc8d5c9b061c45683a4a5c6ba (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=95df03a1d44d48b5407dd0ddc9e618ce2f17762b
commit 95df03a1d44d48b5407dd0ddc9e618ce2f17762b
Merge: 7f8999d 062776e
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Wed Sep 20 17:21:54 2017 +0000
Commit:     Kitware Robot <kwrobot at kitware.com>
CommitDate: Wed Sep 20 13:21:58 2017 -0400

    Merge topic 'CTest-cov-string'
    
    062776e7 CTest: pass std::string to cmCTestCoverageHandler::ShouldIDoCoverage()
    
    Acked-by: Kitware Robot <kwrobot at kitware.com>
    Merge-request: !1290


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=7f8999dfc6fd6b432a178a2bb8d346287e4f9109
commit 7f8999dfc6fd6b432a178a2bb8d346287e4f9109
Merge: 1490466 485a6f0
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Wed Sep 20 17:21:16 2017 +0000
Commit:     Kitware Robot <kwrobot at kitware.com>
CommitDate: Wed Sep 20 13:21:21 2017 -0400

    Merge topic 'pgi-fortran-flag-fix'
    
    485a6f0e PGI-Fortran: Add -Mipa=fast,inline as IPO option.
    97f0b177 PGI-Fortran: Remove -Kieee and -Mpreprocess
    
    Acked-by: Kitware Robot <kwrobot at kitware.com>
    Merge-request: !1239


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=1490466bf96a597acdae2c0e7394fd9299847731
commit 1490466bf96a597acdae2c0e7394fd9299847731
Merge: be475da 7374cb8
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Wed Sep 20 17:20:41 2017 +0000
Commit:     Kitware Robot <kwrobot at kitware.com>
CommitDate: Wed Sep 20 13:20:46 2017 -0400

    Merge topic 'ninja-performance'
    
    7374cb85 Ninja: Cache ConvertToNinjaPath results to avoid repeat work
    ed19e813 Ninja: Improve performance with deeply-dependent custom targets
    
    Acked-by: Kitware Robot <kwrobot at kitware.com>
    Merge-request: !1217


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=be475daa8f89f93691912abf082bfd4f59cf7253
commit be475daa8f89f93691912abf082bfd4f59cf7253
Merge: cb36e91 706b37b
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Wed Sep 20 17:18:25 2017 +0000
Commit:     Kitware Robot <kwrobot at kitware.com>
CommitDate: Wed Sep 20 13:18:28 2017 -0400

    Merge topic 'tidy-modernize-loop-convert'
    
    706b37b7 Enable clang-tidy modernize-loop-convert lint
    
    Acked-by: Kitware Robot <kwrobot at kitware.com>
    Merge-request: !1287


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=cb36e91eff65127f9b99fa02c7ff6b9a0a2d55b8
commit cb36e91eff65127f9b99fa02c7ff6b9a0a2d55b8
Merge: 0851264 a5279ae
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Wed Sep 20 17:17:07 2017 +0000
Commit:     Kitware Robot <kwrobot at kitware.com>
CommitDate: Wed Sep 20 13:17:25 2017 -0400

    Merge topic 'cxx11-nullptr'
    
    a5279ae5 Use C++11 nullptr (cont.)
    
    Acked-by: Kitware Robot <kwrobot at kitware.com>
    Merge-request: !1283


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=08512646e1c1ad23e75922a79e111365740b5cb7
commit 08512646e1c1ad23e75922a79e111365740b5cb7
Merge: c8826fe f23def2
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Wed Sep 20 17:16:25 2017 +0000
Commit:     Kitware Robot <kwrobot at kitware.com>
CommitDate: Wed Sep 20 13:16:52 2017 -0400

    Merge topic 'fix-compiler-failure-formatting'
    
    f23def2c Improve formatting of compiler failure error message
    
    Acked-by: Kitware Robot <kwrobot at kitware.com>
    Merge-request: !1285


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=c8826fe04f5f4f8c911a751ff7979fde79e92eb1
commit c8826fe04f5f4f8c911a751ff7979fde79e92eb1
Merge: 821b54f 71b65ab
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Wed Sep 20 17:15:58 2017 +0000
Commit:     Kitware Robot <kwrobot at kitware.com>
CommitDate: Wed Sep 20 13:16:11 2017 -0400

    Merge topic 'cxx-checks-tolerate-unused-flag'
    
    71b65abc C++ feature checks: Filter out warnings caused by user flags
    eb3abf8b C++ feature checks: Prepare for multiple check output filters
    
    Acked-by: Kitware Robot <kwrobot at kitware.com>
    Merge-request: !1286


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=a5279ae553caba7ab875ee06d2ce2d079907145d
commit a5279ae553caba7ab875ee06d2ce2d079907145d
Author:     Matthias Maennich <matthias at maennich.net>
AuthorDate: Mon Sep 18 23:57:50 2017 +0200
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Tue Sep 19 11:44:21 2017 -0400

    Use C++11 nullptr (cont.)
    
    Fix remaining occurrences of the issue addressed in commit 5962db4389
    (Use C++11 nullptr, 2017-08-22) that are only showing up on macOS.
    
    Signed-off-by: Matthias Maennich <matthias at maennich.net>

diff --git a/Source/CPack/OSXScriptLauncher.cxx b/Source/CPack/OSXScriptLauncher.cxx
index b48bf12..d3de02b 100644
--- a/Source/CPack/OSXScriptLauncher.cxx
+++ b/Source/CPack/OSXScriptLauncher.cxx
@@ -34,7 +34,7 @@ int main(int argc, char* argv[])
   }
   fileName = CFSTR("RuntimeScript");
   if (!(scriptFileURL =
-          CFBundleCopyResourceURL(appBundle, fileName, NULL, NULL))) {
+          CFBundleCopyResourceURL(appBundle, fileName, nullptr, nullptr))) {
     DebugError("CFBundleCopyResourceURL failed");
     return 1;
   }
@@ -71,7 +71,7 @@ int main(int argc, char* argv[])
   for (cc = 1; cc < argc; ++cc) {
     args.push_back(argv[cc]);
   }
-  args.push_back(0);
+  args.push_back(nullptr);
 
   cmsysProcess* cp = cmsysProcess_New();
   cmsysProcess_SetCommand(cp, &*args.begin());
@@ -83,7 +83,7 @@ int main(int argc, char* argv[])
   std::vector<char> tempOutput;
   char* data;
   int length;
-  while (cmsysProcess_WaitForData(cp, &data, &length, 0)) {
+  while (cmsysProcess_WaitForData(cp, &data, &length, nullptr)) {
     // Translate NULL characters in the output into valid text.
     for (int i = 0; i < length; ++i) {
       if (data[i] == '\0') {
@@ -93,7 +93,7 @@ int main(int argc, char* argv[])
     std::cout.write(data, length);
   }
 
-  cmsysProcess_WaitForExit(cp, 0);
+  cmsysProcess_WaitForExit(cp, nullptr);
 
   bool result = true;
   if (cmsysProcess_GetState(cp) == cmsysProcess_State_Exited) {
diff --git a/Source/CPack/cmCPackBundleGenerator.cxx b/Source/CPack/cmCPackBundleGenerator.cxx
index d538901..bbf2a50 100644
--- a/Source/CPack/cmCPackBundleGenerator.cxx
+++ b/Source/CPack/cmCPackBundleGenerator.cxx
@@ -19,7 +19,7 @@ cmCPackBundleGenerator::~cmCPackBundleGenerator()
 int cmCPackBundleGenerator::InitializeInternal()
 {
   const char* name = this->GetOption("CPACK_BUNDLE_NAME");
-  if (0 == name) {
+  if (nullptr == name) {
     cmCPackLogger(cmCPackLog::LOG_ERROR,
                   "CPACK_BUNDLE_NAME must be set to use the Bundle generator."
                     << std::endl);
diff --git a/Source/CPack/cmCPackDragNDropGenerator.cxx b/Source/CPack/cmCPackDragNDropGenerator.cxx
index 8758d32..88204c8 100644
--- a/Source/CPack/cmCPackDragNDropGenerator.cxx
+++ b/Source/CPack/cmCPackDragNDropGenerator.cxx
@@ -242,9 +242,9 @@ bool cmCPackDragNDropGenerator::RunCommand(std::ostringstream& command,
 {
   int exit_code = 1;
 
-  bool result =
-    cmSystemTools::RunSingleCommand(command.str().c_str(), output, output,
-                                    &exit_code, 0, this->GeneratorVerbose, 0);
+  bool result = cmSystemTools::RunSingleCommand(command.str().c_str(), output,
+                                                output, &exit_code, nullptr,
+                                                this->GeneratorVerbose, 0);
 
   if (!result || exit_code) {
     cmCPackLogger(cmCPackLog::LOG_ERROR, "Error executing: " << command.str()
@@ -553,10 +553,10 @@ int cmCPackDragNDropGenerator::CreateDMG(const std::string& src_dir,
       header_data.push_back(languages.size());
       for (size_t i = 0; i < languages.size(); ++i) {
         CFStringRef language_cfstring = CFStringCreateWithCString(
-          NULL, languages[i].c_str(), kCFStringEncodingUTF8);
+          nullptr, languages[i].c_str(), kCFStringEncodingUTF8);
         CFStringRef iso_language =
           CFLocaleCreateCanonicalLanguageIdentifierFromString(
-            NULL, language_cfstring);
+            nullptr, language_cfstring);
         if (!iso_language) {
           cmCPackLogger(cmCPackLog::LOG_ERROR, languages[i]
                           << " is not a recognized language" << std::endl);
diff --git a/Source/CPack/cmCPackOSXX11Generator.cxx b/Source/CPack/cmCPackOSXX11Generator.cxx
index 8ea88a8..e75061e 100644
--- a/Source/CPack/cmCPackOSXX11Generator.cxx
+++ b/Source/CPack/cmCPackOSXX11Generator.cxx
@@ -154,9 +154,9 @@ int cmCPackOSXX11Generator::PackageFiles()
   int numTries = 10;
   bool res = false;
   while (numTries > 0) {
-    res =
-      cmSystemTools::RunSingleCommand(dmgCmd.str().c_str(), &output, &output,
-                                      &retVal, 0, this->GeneratorVerbose, 0);
+    res = cmSystemTools::RunSingleCommand(dmgCmd.str().c_str(), &output,
+                                          &output, &retVal, nullptr,
+                                          this->GeneratorVerbose, 0);
     if (res && !retVal) {
       numTries = -1;
       break;
diff --git a/Source/CPack/cmCPackPKGGenerator.cxx b/Source/CPack/cmCPackPKGGenerator.cxx
index 70ae267..321b6a7 100644
--- a/Source/CPack/cmCPackPKGGenerator.cxx
+++ b/Source/CPack/cmCPackPKGGenerator.cxx
@@ -70,7 +70,7 @@ void cmCPackPKGGenerator::WriteDistributionFile(const char* metapackageFile)
   std::map<std::string, cmCPackComponentGroup>::iterator groupIt;
   for (groupIt = this->ComponentGroups.begin();
        groupIt != this->ComponentGroups.end(); ++groupIt) {
-    if (groupIt->second.ParentGroup == 0) {
+    if (groupIt->second.ParentGroup == nullptr) {
       CreateChoiceOutline(groupIt->second, xout);
     }
   }
diff --git a/Source/CPack/cmCPackPackageMakerGenerator.cxx b/Source/CPack/cmCPackPackageMakerGenerator.cxx
index 8db7cfb..6624b16 100644
--- a/Source/CPack/cmCPackPackageMakerGenerator.cxx
+++ b/Source/CPack/cmCPackPackageMakerGenerator.cxx
@@ -294,9 +294,9 @@ int cmCPackPackageMakerGenerator::PackageFiles()
   int numTries = 10;
   bool res = false;
   while (numTries > 0) {
-    res =
-      cmSystemTools::RunSingleCommand(dmgCmd.str().c_str(), &output, &output,
-                                      &retVal, 0, this->GeneratorVerbose, 0);
+    res = cmSystemTools::RunSingleCommand(dmgCmd.str().c_str(), &output,
+                                          &output, &retVal, nullptr,
+                                          this->GeneratorVerbose, 0);
     if (res && !retVal) {
       numTries = -1;
       break;
@@ -466,7 +466,7 @@ bool cmCPackPackageMakerGenerator::RunPackageMaker(const char* command,
   std::string output;
   int retVal = 1;
   bool res = cmSystemTools::RunSingleCommand(
-    command, &output, &output, &retVal, 0, this->GeneratorVerbose, 0);
+    command, &output, &output, &retVal, nullptr, this->GeneratorVerbose, 0);
   cmCPackLogger(cmCPackLog::LOG_VERBOSE, "Done running package maker"
                   << std::endl);
   if (!res || retVal) {
diff --git a/Source/CPack/cmCPackProductBuildGenerator.cxx b/Source/CPack/cmCPackProductBuildGenerator.cxx
index 1389eaa..ed4463c 100644
--- a/Source/CPack/cmCPackProductBuildGenerator.cxx
+++ b/Source/CPack/cmCPackProductBuildGenerator.cxx
@@ -54,7 +54,7 @@ int cmCPackProductBuildGenerator::PackageFiles()
   } else {
     if (!this->GenerateComponentPackage(basePackageDir,
                                         this->GetOption("CPACK_PACKAGE_NAME"),
-                                        toplevel, NULL)) {
+                                        toplevel, nullptr)) {
       return 0;
     }
   }
@@ -145,9 +145,9 @@ bool cmCPackProductBuildGenerator::RunProductBuild(const std::string& command)
   cmCPackLogger(cmCPackLog::LOG_VERBOSE, "Execute: " << command << std::endl);
   std::string output, error_output;
   int retVal = 1;
-  bool res =
-    cmSystemTools::RunSingleCommand(command.c_str(), &output, &error_output,
-                                    &retVal, 0, this->GeneratorVerbose, 0);
+  bool res = cmSystemTools::RunSingleCommand(command.c_str(), &output,
+                                             &error_output, &retVal, nullptr,
+                                             this->GeneratorVerbose, 0);
   cmCPackLogger(cmCPackLog::LOG_VERBOSE, "Done running command" << std::endl);
   if (!res || retVal) {
     cmGeneratedFileStream ofs(tmpFile.c_str());
@@ -174,7 +174,7 @@ bool cmCPackProductBuildGenerator::GenerateComponentPackage(
   cmCPackLogger(cmCPackLog::LOG_OUTPUT, "-   Building component package: "
                   << packageFile << std::endl);
 
-  const char* comp_name = component ? component->Name.c_str() : NULL;
+  const char* comp_name = component ? component->Name.c_str() : nullptr;
 
   const char* preflight = this->GetComponentScript("PREFLIGHT", comp_name);
   const char* postflight = this->GetComponentScript("POSTFLIGHT", comp_name);
diff --git a/Source/cmFindProgramCommand.cxx b/Source/cmFindProgramCommand.cxx
index a290229..a5dc1c6 100644
--- a/Source/cmFindProgramCommand.cxx
+++ b/Source/cmFindProgramCommand.cxx
@@ -229,7 +229,7 @@ std::string cmFindProgramCommand::GetBundleExecutable(
   // returned executableURL is relative to <appbundle>/Contents/MacOS/
   CFURLRef executableURL = CFBundleCopyExecutableURL(appBundle);
 
-  if (executableURL != NULL) {
+  if (executableURL != nullptr) {
     const int MAX_OSX_PATH_SIZE = 1024;
     char buffer[MAX_OSX_PATH_SIZE];
 
diff --git a/Source/cmGlobalXCodeGenerator.cxx b/Source/cmGlobalXCodeGenerator.cxx
index 7bc352b..2a05d4e 100644
--- a/Source/cmGlobalXCodeGenerator.cxx
+++ b/Source/cmGlobalXCodeGenerator.cxx
@@ -79,7 +79,7 @@ class cmGlobalXCodeGenerator::BuildObjectListOrString
 public:
   BuildObjectListOrString(cmGlobalXCodeGenerator* gen, bool buildObjectList)
     : Generator(gen)
-    , Group(0)
+    , Group(nullptr)
     , Empty(true)
   {
     if (buildObjectList) {
@@ -140,10 +140,10 @@ cmGlobalXCodeGenerator::cmGlobalXCodeGenerator(
   this->VersionString = version_string;
   this->XcodeVersion = version_number;
 
-  this->RootObject = 0;
-  this->MainGroupChildren = 0;
-  this->CurrentMakefile = 0;
-  this->CurrentLocalGenerator = 0;
+  this->RootObject = nullptr;
+  this->MainGroupChildren = nullptr;
+  this->CurrentMakefile = nullptr;
+  this->CurrentLocalGenerator = nullptr;
   this->XcodeBuildCommandInitialized = false;
 
   this->ObjectDirArchDefault = "$(CURRENT_ARCH)";
@@ -161,15 +161,16 @@ cmGlobalGenerator* cmGlobalXCodeGenerator::Factory::CreateGlobalGenerator(
   const std::string& name, cmake* cm) const
 {
   if (name != GetActualName())
-    return 0;
+    return nullptr;
 #if defined(CMAKE_BUILD_WITH_CMAKE)
   cmXcodeVersionParser parser;
   std::string versionFile;
   {
     std::string out;
     std::string::size_type pos;
-    if (cmSystemTools::RunSingleCommand("xcode-select --print-path", &out, 0,
-                                        0, 0, cmSystemTools::OUTPUT_NONE) &&
+    if (cmSystemTools::RunSingleCommand("xcode-select --print-path", &out,
+                                        nullptr, nullptr, nullptr,
+                                        cmSystemTools::OUTPUT_NONE) &&
         (pos = out.find(".app/"), pos != std::string::npos)) {
       versionFile = out.substr(0, pos + 5) + "Contents/version.plist";
     }
@@ -391,7 +392,7 @@ void cmGlobalXCodeGenerator::AddExtraTargets(
   cmMakefile* mf = root->GetMakefile();
 
   // Add ALL_BUILD
-  const char* no_working_directory = 0;
+  const char* no_working_directory = nullptr;
   std::vector<std::string> no_depends;
   cmTarget* allbuild =
     mf->AddUtilityCommand("ALL_BUILD", true, no_depends, no_working_directory,
@@ -1018,7 +1019,7 @@ bool cmGlobalXCodeGenerator::CreateXCodeTargets(
         }
         std::string const& obj = (*oi)->GetFullPath();
         cmXCodeObject* xsf =
-          this->CreateXCodeSourceFileFromPath(obj, gtgt, "", 0);
+          this->CreateXCodeSourceFileFromPath(obj, gtgt, "", nullptr);
         externalObjFiles.push_back(xsf);
       }
     }
@@ -1028,10 +1029,10 @@ bool cmGlobalXCodeGenerator::CreateXCodeTargets(
     bool isBundleTarget = gtgt->GetPropertyAsBool("MACOSX_BUNDLE");
     bool isCFBundleTarget = gtgt->IsCFBundleOnApple();
 
-    cmXCodeObject* buildFiles = 0;
+    cmXCodeObject* buildFiles = nullptr;
 
     // create source build phase
-    cmXCodeObject* sourceBuildPhase = 0;
+    cmXCodeObject* sourceBuildPhase = nullptr;
     if (!sourceFiles.empty()) {
       sourceBuildPhase =
         this->CreateObject(cmXCodeObject::PBXSourcesBuildPhase);
@@ -1049,7 +1050,7 @@ bool cmGlobalXCodeGenerator::CreateXCodeTargets(
     }
 
     // create header build phase - only for framework targets
-    cmXCodeObject* headerBuildPhase = 0;
+    cmXCodeObject* headerBuildPhase = nullptr;
     if (!headerFiles.empty() && isFrameworkTarget) {
       headerBuildPhase =
         this->CreateObject(cmXCodeObject::PBXHeadersBuildPhase);
@@ -1067,7 +1068,7 @@ bool cmGlobalXCodeGenerator::CreateXCodeTargets(
     }
 
     // create resource build phase - only for framework or bundle targets
-    cmXCodeObject* resourceBuildPhase = 0;
+    cmXCodeObject* resourceBuildPhase = nullptr;
     if (!resourceFiles.empty() &&
         (isFrameworkTarget || isBundleTarget || isCFBundleTarget)) {
       resourceBuildPhase =
@@ -1177,7 +1178,7 @@ bool cmGlobalXCodeGenerator::CreateXCodeTargets(
     }
 
     // create framework build phase
-    cmXCodeObject* frameworkBuildPhase = 0;
+    cmXCodeObject* frameworkBuildPhase = nullptr;
     if (!externalObjFiles.empty()) {
       frameworkBuildPhase =
         this->CreateObject(cmXCodeObject::PBXFrameworksBuildPhase);
@@ -1278,7 +1279,7 @@ cmXCodeObject* cmGlobalXCodeGenerator::CreateBuildPhase(
   const std::vector<cmCustomCommand>& commands)
 {
   if (commands.size() == 0 && strcmp(name, "CMake ReRun") != 0) {
-    return 0;
+    return nullptr;
   }
   cmXCodeObject* buildPhase =
     this->CreateObject(cmXCodeObject::PBXShellScriptBuildPhase);
@@ -1754,8 +1755,8 @@ void cmGlobalXCodeGenerator::CreateBuildSettings(cmGeneratorTarget* gtgt,
   const char* version = gtgt->GetProperty("VERSION");
   const char* soversion = gtgt->GetProperty("SOVERSION");
   if (!gtgt->HasSOName(configName) || gtgt->IsFrameworkOnApple()) {
-    version = 0;
-    soversion = 0;
+    version = nullptr;
+    soversion = nullptr;
   }
   if (version && !soversion) {
     soversion = version;
@@ -2038,7 +2039,7 @@ void cmGlobalXCodeGenerator::CreateBuildSettings(cmGeneratorTarget* gtgt,
 
   bool same_gflags = true;
   std::map<std::string, std::string> gflags;
-  std::string const* last_gflag = 0;
+  std::string const* last_gflag = nullptr;
   std::string optLevel = "0";
 
   // Minimal map of flags to build settings.
@@ -2108,7 +2109,7 @@ void cmGlobalXCodeGenerator::CreateBuildSettings(cmGeneratorTarget* gtgt,
   }
 
   // Add Fortran source format attribute if property is set.
-  const char* format = 0;
+  const char* format = nullptr;
   const char* tgtfmt = gtgt->GetProperty("Fortran_FORMAT");
   switch (cmOutputConverter::GetFortranFormat(tgtfmt)) {
     case cmOutputConverter::FortranFormatFixed:
@@ -2268,8 +2269,8 @@ cmXCodeObject* cmGlobalXCodeGenerator::CreateUtilityTarget(
   target->SetComment(gtgt->GetName());
   cmXCodeObject* buildPhases = this->CreateObject(cmXCodeObject::OBJECT_LIST);
   std::vector<cmXCodeObject*> emptyContentVector;
-  this->CreateCustomCommands(buildPhases, 0, 0, 0, emptyContentVector, 0,
-                             gtgt);
+  this->CreateCustomCommands(buildPhases, nullptr, nullptr, nullptr,
+                             emptyContentVector, nullptr, gtgt);
   target->AddAttribute("buildPhases", buildPhases);
   this->AddConfigurations(target, gtgt);
   cmXCodeObject* dependencies = this->CreateObject(cmXCodeObject::OBJECT_LIST);
@@ -2283,7 +2284,7 @@ cmXCodeObject* cmGlobalXCodeGenerator::CreateUtilityTarget(
   if (gtgt->GetType() == cmStateEnums::UTILITY) {
     std::vector<cmSourceFile*> sources;
     if (!gtgt->GetConfigCommonSourceFiles(sources)) {
-      return 0;
+      return nullptr;
     }
 
     for (std::vector<cmSourceFile*>::const_iterator i = sources.begin();
@@ -2383,7 +2384,7 @@ const char* cmGlobalXCodeGenerator::GetTargetFileType(
     default:
       break;
   }
-  return 0;
+  return nullptr;
 }
 
 const char* cmGlobalXCodeGenerator::GetTargetProductType(
@@ -2418,14 +2419,14 @@ const char* cmGlobalXCodeGenerator::GetTargetProductType(
     default:
       break;
   }
-  return 0;
+  return nullptr;
 }
 
 cmXCodeObject* cmGlobalXCodeGenerator::CreateXCodeTarget(
   cmGeneratorTarget* gtgt, cmXCodeObject* buildPhases)
 {
   if (gtgt->GetType() == cmStateEnums::INTERFACE_LIBRARY) {
-    return 0;
+    return nullptr;
   }
   cmXCodeObject* target = this->CreateObject(cmXCodeObject::PBXNativeTarget);
   target->AddAttribute("buildPhases", buildPhases);
@@ -2469,13 +2470,13 @@ cmXCodeObject* cmGlobalXCodeGenerator::FindXCodeTarget(
   cmGeneratorTarget const* t)
 {
   if (!t) {
-    return 0;
+    return nullptr;
   }
 
   std::map<cmGeneratorTarget const*, cmXCodeObject*>::const_iterator const i =
     this->XCodeObjectMap.find(t);
   if (i == this->XCodeObjectMap.end()) {
-    return 0;
+    return nullptr;
   }
   return i->second;
 }
@@ -2747,7 +2748,7 @@ bool cmGlobalXCodeGenerator::CreateGroups(
 cmXCodeObject* cmGlobalXCodeGenerator::CreatePBXGroup(cmXCodeObject* parent,
                                                       std::string name)
 {
-  cmXCodeObject* parentChildren = NULL;
+  cmXCodeObject* parentChildren = nullptr;
   if (parent)
     parentChildren = parent->GetObject("children");
   cmXCodeObject* group = this->CreateObject(cmXCodeObject::PBXGroup);
@@ -2781,7 +2782,7 @@ cmXCodeObject* cmGlobalXCodeGenerator::CreateOrGetPBXGroup(
   }
 
   it = this->TargetGroup.find(target);
-  cmXCodeObject* tgroup = 0;
+  cmXCodeObject* tgroup = nullptr;
   if (it != this->TargetGroup.end()) {
     tgroup = it->second;
   } else {
@@ -2847,8 +2848,8 @@ bool cmGlobalXCodeGenerator::CreateXCodeObjects(
   cmLocalGenerator* root, std::vector<cmLocalGenerator*>& generators)
 {
   this->ClearXCodeObjects();
-  this->RootObject = 0;
-  this->MainGroupChildren = 0;
+  this->RootObject = nullptr;
+  this->MainGroupChildren = nullptr;
   cmXCodeObject* group = this->CreateObject(cmXCodeObject::ATTRIBUTE_GROUP);
   group->AddAttribute("COPY_PHASE_STRIP", this->CreateString("NO"));
   cmXCodeObject* listObjs = this->CreateObject(cmXCodeObject::OBJECT_LIST);
diff --git a/Source/cmLocalXCodeGenerator.h b/Source/cmLocalXCodeGenerator.h
index 4ca02a9..b05eab7 100644
--- a/Source/cmLocalXCodeGenerator.h
+++ b/Source/cmLocalXCodeGenerator.h
@@ -36,7 +36,7 @@ public:
   virtual void GenerateInstallRules();
   virtual void ComputeObjectFilenames(
     std::map<cmSourceFile const*, std::string>& mapping,
-    cmGeneratorTarget const* gt = 0);
+    cmGeneratorTarget const* gt = nullptr);
 
 private:
 };
diff --git a/Source/cmMachO.cxx b/Source/cmMachO.cxx
index a4350f7..3706dd3 100644
--- a/Source/cmMachO.cxx
+++ b/Source/cmMachO.cxx
@@ -283,7 +283,7 @@ bool cmMachOInternal::read_mach_o(uint32_t file_offset)
     return false;
   }
 
-  cmMachOHeaderAndLoadCommands* f = NULL;
+  cmMachOHeaderAndLoadCommands* f = nullptr;
   if (magic == MH_CIGAM || magic == MH_MAGIC) {
     bool swap = false;
     if (magic == MH_CIGAM) {
@@ -313,7 +313,7 @@ bool cmMachOInternal::read_mach_o(uint32_t file_offset)
 // External class implementation.
 
 cmMachO::cmMachO(const char* fname)
-  : Internal(0)
+  : Internal(nullptr)
 {
   this->Internal = new cmMachOInternal(fname);
 }
diff --git a/Source/cmXCodeObject.cxx b/Source/cmXCodeObject.cxx
index 0def8c3..957adb4 100644
--- a/Source/cmXCodeObject.cxx
+++ b/Source/cmXCodeObject.cxx
@@ -42,8 +42,8 @@ cmXCodeObject::~cmXCodeObject()
 cmXCodeObject::cmXCodeObject(PBXType ptype, Type type)
 {
   this->Version = 15;
-  this->Target = 0;
-  this->Object = 0;
+  this->Target = nullptr;
+  this->Object = nullptr;
 
   this->IsA = ptype;
 
@@ -71,7 +71,7 @@ cmXCodeObject::cmXCodeObject(PBXType ptype, Type type)
 
   this->TypeValue = type;
   if (this->TypeValue == OBJECT) {
-    this->AddAttribute("isa", 0);
+    this->AddAttribute("isa", nullptr);
   }
 }
 
@@ -86,7 +86,7 @@ bool cmXCodeObject::IsEmpty() const
       return this->ObjectAttributes.empty();
     case OBJECT_REF:
     case OBJECT:
-      return this->Object == 0;
+      return this->Object == nullptr;
   }
   return true; // unreachable, but quiets warnings
 }
diff --git a/Source/cmXCodeObject.h b/Source/cmXCodeObject.h
index b92e6e3..b51aac7 100644
--- a/Source/cmXCodeObject.h
+++ b/Source/cmXCodeObject.h
@@ -114,7 +114,7 @@ public:
     if (i != this->ObjectAttributes.end()) {
       return i->second;
     }
-    return 0;
+    return nullptr;
   }
   // search the attribute list for an object of the specified type
   cmXCodeObject* GetObject(cmXCodeObject::PBXType t) const
@@ -126,7 +126,7 @@ public:
         return o;
       }
     }
-    return 0;
+    return nullptr;
   }
 
   void CopyAttributes(cmXCodeObject*);
diff --git a/Source/cmakexbuild.cxx b/Source/cmakexbuild.cxx
index 72da456..20ead47 100644
--- a/Source/cmakexbuild.cxx
+++ b/Source/cmakexbuild.cxx
@@ -47,7 +47,7 @@ int RunXCode(std::vector<const char*>& argv, bool& hitbug)
     }
     pipe = cmSystemTools::WaitForLine(cp, line, 100, out, err);
   }
-  cmsysProcess_WaitForExit(cp, 0);
+  cmsysProcess_WaitForExit(cp, nullptr);
   if (cmsysProcess_GetState(cp) == cmsysProcess_State_Exited) {
     return cmsysProcess_GetExitValue(cp);
   }
@@ -64,7 +64,7 @@ int main(int ac, char* av[])
   for (int i = 1; i < ac; i++) {
     argv.push_back(av[i]);
   }
-  argv.push_back(0);
+  argv.push_back(nullptr);
   bool hitbug = true;
   int ret = 0;
   while (hitbug) {

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=062776e75b4b0340b178d03bd15ef263d5cf8db1
commit 062776e75b4b0340b178d03bd15ef263d5cf8db1
Author:     Rolf Eike Beer <eb at emlix.com>
AuthorDate: Tue Sep 19 12:22:50 2017 +0200
Commit:     Rolf Eike Beer <eike at sf-mail.de>
CommitDate: Tue Sep 19 17:41:41 2017 +0200

    CTest: pass std::string to cmCTestCoverageHandler::ShouldIDoCoverage()
    
    Avoid needless conversion back and forth.

diff --git a/Source/CTest/cmCTestCoverageHandler.cxx b/Source/CTest/cmCTestCoverageHandler.cxx
index 2d5350d..9a58433 100644
--- a/Source/CTest/cmCTestCoverageHandler.cxx
+++ b/Source/CTest/cmCTestCoverageHandler.cxx
@@ -185,9 +185,9 @@ void cmCTestCoverageHandler::EndCoverageLogXML(cmXMLWriter& xml)
   this->CTest->EndXML(xml);
 }
 
-bool cmCTestCoverageHandler::ShouldIDoCoverage(const char* file,
-                                               const char* srcDir,
-                                               const char* binDir)
+bool cmCTestCoverageHandler::ShouldIDoCoverage(std::string const& file,
+                                               std::string const& srcDir,
+                                               std::string const& binDir)
 {
   if (this->IsFilteredOut(file)) {
     return false;
@@ -435,8 +435,8 @@ int cmCTestCoverageHandler::ProcessHandler()
     }
 
     const std::string fullFileName = file.first;
-    bool shouldIDoCoverage = this->ShouldIDoCoverage(
-      fullFileName.c_str(), sourceDir.c_str(), binaryDir.c_str());
+    bool shouldIDoCoverage =
+      this->ShouldIDoCoverage(fullFileName, sourceDir, binaryDir);
     if (!shouldIDoCoverage) {
       cmCTestOptionalLog(this->CTest, HANDLER_VERBOSE_OUTPUT,
                          ".NoDartCoverage found, so skip coverage check for: "
@@ -2016,8 +2016,8 @@ int cmCTestCoverageHandler::RunBullseyeSourceSummary(
         file += sourceFile;
       }
       file = cmSystemTools::CollapseFullPath(file);
-      bool shouldIDoCoverage = this->ShouldIDoCoverage(
-        file.c_str(), cont->SourceDir.c_str(), cont->BinaryDir.c_str());
+      bool shouldIDoCoverage =
+        this->ShouldIDoCoverage(file, cont->SourceDir, cont->BinaryDir);
       if (!shouldIDoCoverage) {
         cmCTestOptionalLog(
           this->CTest, HANDLER_VERBOSE_OUTPUT,
@@ -2318,8 +2318,7 @@ std::set<std::string> cmCTestCoverageHandler::FindUncoveredFiles(
     gl.FindFiles(glob);
     std::vector<std::string> files = gl.GetFiles();
     for (std::string const& f : files) {
-      if (this->ShouldIDoCoverage(f.c_str(), cont->SourceDir.c_str(),
-                                  cont->BinaryDir.c_str())) {
+      if (this->ShouldIDoCoverage(f, cont->SourceDir, cont->BinaryDir)) {
         extraMatches.insert(this->CTest->GetShortPathToFile(f.c_str()));
       }
     }
diff --git a/Source/CTest/cmCTestCoverageHandler.h b/Source/CTest/cmCTestCoverageHandler.h
index 99ac5df..6492fe9 100644
--- a/Source/CTest/cmCTestCoverageHandler.h
+++ b/Source/CTest/cmCTestCoverageHandler.h
@@ -57,8 +57,8 @@ public:
   void SetLabelFilter(std::set<std::string> const& labels);
 
 private:
-  bool ShouldIDoCoverage(const char* file, const char* srcDir,
-                         const char* binDir);
+  bool ShouldIDoCoverage(std::string const& file, std::string const& srcDir,
+                         std::string const& binDir);
   void CleanCoverageLogFiles(std::ostream& log);
   bool StartCoverageLogFile(cmGeneratedFileStream& ostr, int logFileCount);
   void EndCoverageLogFile(cmGeneratedFileStream& ostr, int logFileCount);

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=7374cb857cc509daa7bf6dc44630f51e080bc054
commit 7374cb857cc509daa7bf6dc44630f51e080bc054
Author:     Matthias Maennich <matthias at maennich.net>
AuthorDate: Thu Aug 31 09:10:46 2017 +0200
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Tue Sep 19 11:21:36 2017 -0400

    Ninja: Cache ConvertToNinjaPath results to avoid repeat work
    
    Calls to this method may dominate generation time in some cases.
    Measurements for configuring cmake itself show a cache hit rate of ~57%
    (7753 total calls, 4453 cache hits).  For a larger project (that also
    makes use of custom targets as prerequisite for all compile targets),
    the measured cache hit ratio is ~96% (2530827 total calls, 2433124 cache
    hits).  For this project the observable cmake runtime could be reduced
    from 40s to 30s.
    
    Signed-off-by: Matthias Maennich <matthias at maennich.net>

diff --git a/Source/cmGlobalNinjaGenerator.cxx b/Source/cmGlobalNinjaGenerator.cxx
index 8370fe6..3e9e995 100644
--- a/Source/cmGlobalNinjaGenerator.cxx
+++ b/Source/cmGlobalNinjaGenerator.cxx
@@ -861,18 +861,24 @@ static void EnsureTrailingSlash(std::string& path)
 #endif
 }
 
-std::string cmGlobalNinjaGenerator::ConvertToNinjaPath(
+std::string const& cmGlobalNinjaGenerator::ConvertToNinjaPath(
   const std::string& path) const
 {
+  auto const f = ConvertToNinjaPathCache.find(path);
+  if (f != ConvertToNinjaPathCache.end()) {
+    return f->second;
+  }
+
   cmLocalNinjaGenerator* ng =
     static_cast<cmLocalNinjaGenerator*>(this->LocalGenerators[0]);
-  std::string convPath = ng->ConvertToRelativePath(
-    this->LocalGenerators[0]->GetState()->GetBinaryDirectory(), path);
+  const char* bin_dir = ng->GetState()->GetBinaryDirectory();
+  std::string convPath = ng->ConvertToRelativePath(bin_dir, path);
   convPath = this->NinjaOutputPath(convPath);
 #ifdef _WIN32
   std::replace(convPath.begin(), convPath.end(), '/', '\\');
 #endif
-  return convPath;
+  return ConvertToNinjaPathCache.emplace(path, std::move(convPath))
+    .first->second;
 }
 
 void cmGlobalNinjaGenerator::AddCXXCompileCommand(
diff --git a/Source/cmGlobalNinjaGenerator.h b/Source/cmGlobalNinjaGenerator.h
index 00bf91c..7f80d08 100644
--- a/Source/cmGlobalNinjaGenerator.h
+++ b/Source/cmGlobalNinjaGenerator.h
@@ -9,6 +9,7 @@
 #include <map>
 #include <set>
 #include <string>
+#include <unordered_map>
 #include <utility>
 #include <vector>
 
@@ -245,7 +246,7 @@ public:
     return this->RulesFileStream;
   }
 
-  std::string ConvertToNinjaPath(const std::string& path) const;
+  std::string const& ConvertToNinjaPath(const std::string& path) const;
 
   struct MapToNinjaPathImpl
   {
@@ -452,6 +453,9 @@ private:
 
   std::map<cmGeneratorTarget const*, cmNinjaOuts> TargetDependsClosures;
 
+  /// the local cache for calls to ConvertToNinjaPath
+  mutable std::unordered_map<std::string, std::string> ConvertToNinjaPathCache;
+
   std::string NinjaCommand;
   std::string NinjaVersion;
   bool NinjaSupportsConsolePool;

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=ed19e8136d59d4ae7fbee20d9a549f4c06237e59
commit ed19e8136d59d4ae7fbee20d9a549f4c06237e59
Author:     Matthias Maennich <matthias at maennich.net>
AuthorDate: Thu Aug 31 23:48:02 2017 +0200
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Tue Sep 19 11:19:34 2017 -0400

    Ninja: Improve performance with deeply-dependent custom targets
    
    The commit v3.7.0-rc1~339^2 (Ninja: Fix inter-target order-only
    dependencies of custom command, 2016-07-20) might cause performance
    degradations for larger projects.  Especially when using custom
    commands as an input for each compilation rule (e.g. generated headers).
    
    For reference in the following I am referring to
      Source/cmGlobalNinjaGenerator.cxx:
        -> cmGlobalNinjaGenerator::AppendTargetDependsClosure
        -> cmGlobalNinjaGenerator::ComputeTargetDependsClosure
    
    It turned out that the mentioned commit is doing (indirectly) some
    redundant work that might impact performance when generating large
    projects.
    
    Imagine the dependency tree of custom targets:
    
        A
         \
          C - D - E
         /
        B
    
    For each target the transitive closure is calculated recursively, but as
    the TargetDependsClosures are only cached on the top most level, everything
    downstream has to be recalculated. I.e.
    
        A->C->D->E
        B->C->D->E
    
    This ultimately leads to a lot of redundant calls to AppendTargetOutputs.
    The recursive nature of the algorithm itself is not significant to the
    problem, but reducing the work to actually to be done work, eliminates the
    performance problem.
    
    This patch changes the way, intermediate results are cached. Rather than
    caching the closure of targets, we cache the closure of outputs. Such that
    in the example above at B->C the cache already would kick in.
    
    Caching the outputs has one disadvantage that the patch takes care of.
    In case of such a structure
    
        A       E
         \     / \
          C - D   G
         /     \ /
        B       F
    
    the calling order for A would be
    
        A->C->D->E->G  (at which time G is seen to the recursion)
    
    then the recursion returns until it reaches
    
        A->C->D->F     (at which the seen G would prevent to recurse down to G)
    
    But this would poison the cache for F with a wrong value (without G).
    Hence we use a local result set to ensure the cache is still consistently
    populated.
    
    For a large C++ project with around 25k targets this reduced the CMake
    configure / generate time from ~40s to ~29s.
    
    Signed-off-by: Matthias Maennich <matthias at maennich.net>

diff --git a/Source/cmGlobalNinjaGenerator.cxx b/Source/cmGlobalNinjaGenerator.cxx
index eee63c9..8370fe6 100644
--- a/Source/cmGlobalNinjaGenerator.cxx
+++ b/Source/cmGlobalNinjaGenerator.cxx
@@ -1037,35 +1037,51 @@ void cmGlobalNinjaGenerator::AppendTargetDepends(
 void cmGlobalNinjaGenerator::AppendTargetDependsClosure(
   cmGeneratorTarget const* target, cmNinjaDeps& outputs)
 {
-  TargetDependsClosureMap::iterator i =
-    this->TargetDependsClosures.find(target);
-  if (i == this->TargetDependsClosures.end()) {
-    TargetDependsClosureMap::value_type e(
-      target, std::set<cmGeneratorTarget const*>());
-    i = this->TargetDependsClosures.insert(e).first;
-    this->ComputeTargetDependsClosure(target, i->second);
-  }
-  std::set<cmGeneratorTarget const*> const& targets = i->second;
-  cmNinjaDeps outs;
-  for (auto tgt : targets) {
-    this->AppendTargetOutputs(tgt, outs);
-  }
-  std::sort(outs.begin(), outs.end());
+  cmNinjaOuts outs;
+  this->AppendTargetDependsClosure(target, outs, true);
+
   outputs.insert(outputs.end(), outs.begin(), outs.end());
 }
 
-void cmGlobalNinjaGenerator::ComputeTargetDependsClosure(
-  cmGeneratorTarget const* target, std::set<cmGeneratorTarget const*>& depends)
+void cmGlobalNinjaGenerator::AppendTargetDependsClosure(
+  cmGeneratorTarget const* target, cmNinjaOuts& outputs, bool omit_self)
 {
-  cmTargetDependSet const& targetDeps = this->GetTargetDirectDepends(target);
-  for (auto targetDep : targetDeps) {
-    if (targetDep->GetType() == cmStateEnums::INTERFACE_LIBRARY) {
-      continue;
-    }
-    if (depends.insert(targetDep).second) {
-      this->ComputeTargetDependsClosure(targetDep, depends);
+
+  // try to locate the target in the cache
+  auto find = this->TargetDependsClosures.lower_bound(target);
+
+  if (find == this->TargetDependsClosures.end() || find->first != target) {
+    // We now calculate the closure outputs by inspecting the dependent
+    // targets recursively.
+    // For that we have to distinguish between a local result set that is only
+    // relevant for filling the cache entries properly isolated and a global
+    // result set that is relevant for the result of the top level call to
+    // AppendTargetDependsClosure.
+    auto const& targetDeps = this->GetTargetDirectDepends(target);
+    cmNinjaOuts this_outs; // this will be the new cache entry
+
+    for (auto const& dep_target : targetDeps) {
+      if (dep_target->GetType() == cmStateEnums::INTERFACE_LIBRARY) {
+        continue;
+      }
+
+      // Collect the dependent targets for _this_ target
+      this->AppendTargetDependsClosure(dep_target, this_outs, false);
     }
+    find = this->TargetDependsClosures.emplace_hint(find, target,
+                                                    std::move(this_outs));
+  }
+
+  // now fill the outputs of the final result from the newly generated cache
+  // entry
+  outputs.insert(find->second.begin(), find->second.end());
+
+  // finally generate the outputs of the target itself, if applicable
+  cmNinjaDeps outs;
+  if (!omit_self) {
+    this->AppendTargetOutputs(target, outs);
   }
+  outputs.insert(outs.begin(), outs.end());
 }
 
 void cmGlobalNinjaGenerator::AddTargetAlias(const std::string& alias,
diff --git a/Source/cmGlobalNinjaGenerator.h b/Source/cmGlobalNinjaGenerator.h
index f556ce1..00bf91c 100644
--- a/Source/cmGlobalNinjaGenerator.h
+++ b/Source/cmGlobalNinjaGenerator.h
@@ -320,6 +320,8 @@ public:
     cmNinjaTargetDepends depends = DependOnTargetArtifact);
   void AppendTargetDependsClosure(cmGeneratorTarget const* target,
                                   cmNinjaDeps& outputs);
+  void AppendTargetDependsClosure(cmGeneratorTarget const* target,
+                                  cmNinjaOuts& outputs, bool omit_self);
   void AddDependencyToAll(cmGeneratorTarget* target);
   void AddDependencyToAll(const std::string& input);
 
@@ -448,10 +450,7 @@ private:
   typedef std::map<std::string, cmGeneratorTarget*> TargetAliasMap;
   TargetAliasMap TargetAliases;
 
-  typedef std::map<cmGeneratorTarget const*,
-                   std::set<cmGeneratorTarget const*>>
-    TargetDependsClosureMap;
-  TargetDependsClosureMap TargetDependsClosures;
+  std::map<cmGeneratorTarget const*, cmNinjaOuts> TargetDependsClosures;
 
   std::string NinjaCommand;
   std::string NinjaVersion;
diff --git a/Source/cmNinjaTypes.h b/Source/cmNinjaTypes.h
index ec435d9..9e962f1 100644
--- a/Source/cmNinjaTypes.h
+++ b/Source/cmNinjaTypes.h
@@ -6,6 +6,7 @@
 #include "cmConfigure.h" // IWYU pragma: keep
 
 #include <map>
+#include <set>
 #include <string>
 #include <vector>
 
@@ -16,6 +17,7 @@ enum cmNinjaTargetDepends
 };
 
 typedef std::vector<std::string> cmNinjaDeps;
+typedef std::set<std::string> cmNinjaOuts;
 typedef std::map<std::string, std::string> cmNinjaVars;
 
 #endif // ! cmNinjaTypes_h

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=706b37b7f597f449cc3d02bd50123c4e7277eadb
commit 706b37b7f597f449cc3d02bd50123c4e7277eadb
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Mon Sep 18 14:11:19 2017 -0400
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Tue Sep 19 09:32:25 2017 -0400

    Enable clang-tidy modernize-loop-convert lint
    
    Fix remaining diagnostics by this lint and remove it from our list of
    disabled lints.

diff --git a/.clang-tidy b/.clang-tidy
index 6093532..e8d39ce 100644
--- a/.clang-tidy
+++ b/.clang-tidy
@@ -8,7 +8,6 @@ misc-*,\
 -misc-static-assert,\
 modernize-*,\
 -modernize-deprecated-headers,\
--modernize-loop-convert,\
 -modernize-pass-by-value,\
 -modernize-raw-string-literal,\
 -modernize-replace-auto-ptr,\
diff --git a/Source/CursesDialog/cmCursesCacheEntryComposite.cxx b/Source/CursesDialog/cmCursesCacheEntryComposite.cxx
index 8596281..e7ed097 100644
--- a/Source/CursesDialog/cmCursesCacheEntryComposite.cxx
+++ b/Source/CursesDialog/cmCursesCacheEntryComposite.cxx
@@ -72,9 +72,8 @@ cmCursesCacheEntryComposite::cmCursesCacheEntryComposite(
         this->Entry = ow;
         std::vector<std::string> options;
         cmSystemTools::ExpandListArgument(stringsProp, options);
-        for (std::vector<std::string>::iterator si = options.begin();
-             si != options.end(); ++si) {
-          ow->AddOption(*si);
+        for (auto const& opt : options) {
+          ow->AddOption(opt);
         }
         ow->SetOption(value);
       } else {
diff --git a/Source/CursesDialog/cmCursesOptionsWidget.cxx b/Source/CursesDialog/cmCursesOptionsWidget.cxx
index d26a98f..a8c4933 100644
--- a/Source/CursesDialog/cmCursesOptionsWidget.cxx
+++ b/Source/CursesDialog/cmCursesOptionsWidget.cxx
@@ -75,9 +75,8 @@ void cmCursesOptionsWidget::SetOption(const std::string& value)
   this->CurrentOption = 0; // default to 0 index
   this->SetValue(value);
   int index = 0;
-  for (std::vector<std::string>::iterator i = this->Options.begin();
-       i != this->Options.end(); ++i) {
-    if (*i == value) {
+  for (auto const& opt : this->Options) {
+    if (opt == value) {
       this->CurrentOption = index;
     }
     index++;
diff --git a/Source/CursesDialog/cmCursesStringWidget.cxx b/Source/CursesDialog/cmCursesStringWidget.cxx
index 8cb9c1f..5e2a329 100644
--- a/Source/CursesDialog/cmCursesStringWidget.cxx
+++ b/Source/CursesDialog/cmCursesStringWidget.cxx
@@ -188,9 +188,7 @@ bool cmCursesStringWidget::PrintKeys()
     char fmt_s[] = "%s";
     char firstLine[512];
     // Clean the toolbar
-    for (int i = 0; i < 512; i++) {
-      firstLine[i] = ' ';
-    }
+    memset(firstLine, ' ', sizeof(firstLine));
     firstLine[511] = '\0';
     curses_move(y - 4, 0);
     printw(fmt_s, firstLine);
diff --git a/Source/cmcmd.cxx b/Source/cmcmd.cxx
index 26868bc..e152cdb 100644
--- a/Source/cmcmd.cxx
+++ b/Source/cmcmd.cxx
@@ -282,8 +282,7 @@ int cmcmd::HandleCppCheck(const std::string& runCmd,
   std::vector<std::string> cppcheck_cmd;
   cmSystemTools::ExpandListArgument(runCmd, cppcheck_cmd, true);
   // extract all the -D, -U, and -I options from the compile line
-  for (size_t i = 0; i < orig_cmd.size(); i++) {
-    const std::string& opt = orig_cmd[i];
+  for (auto const& opt : orig_cmd) {
     if (opt.size() > 2) {
       if ((opt[0] == '-') &&
           ((opt[1] == 'D') || (opt[1] == 'I') || (opt[1] == 'U'))) {
@@ -367,9 +366,7 @@ int cmcmd::HandleCoCompileCommands(std::vector<std::string>& args)
     } else if (doing_options) {
       bool optionFound = false;
       // check arg against all the commandOptions
-      for (std::vector<std::string>::size_type i = 0;
-           i < commandOptions.size(); ++i) {
-        const std::string& command = commandOptions[i];
+      for (auto const& command : commandOptions) {
         if (arg.compare(0, command.size(), command) == 0) {
           optionFound = true;
           runCmd = arg.substr(command.size());
diff --git a/Tests/CMakeLib/run_compile_commands.cxx b/Tests/CMakeLib/run_compile_commands.cxx
index 0d692ca..b49803b 100644
--- a/Tests/CMakeLib/run_compile_commands.cxx
+++ b/Tests/CMakeLib/run_compile_commands.cxx
@@ -144,14 +144,11 @@ int main()
   cmsys::ifstream file("compile_commands.json");
   CompileCommandParser parser(file);
   parser.Parse();
-  for (CompileCommandParser::TranslationUnitsType::const_iterator
-         it = parser.GetTranslationUnits().begin(),
-         end = parser.GetTranslationUnits().end();
-       it != end; ++it) {
+  for (auto const& tu : parser.GetTranslationUnits()) {
     std::vector<std::string> command;
-    cmSystemTools::ParseUnixCommandLine(it->at("command").c_str(), command);
+    cmSystemTools::ParseUnixCommandLine(tu.at("command").c_str(), command);
     if (!cmSystemTools::RunSingleCommand(command, nullptr, nullptr, nullptr,
-                                         it->at("directory").c_str())) {
+                                         tu.at("directory").c_str())) {
       std::cout << "ERROR: Failed to run command \"" << command[0] << "\""
                 << std::endl;
       exit(1);

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=71b65abca26a7f2ad441235c2eacb8164c512b11
commit 71b65abca26a7f2ad441235c2eacb8164c512b11
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Tue Sep 19 09:24:20 2017 -0400
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Tue Sep 19 09:25:30 2017 -0400

    C++ feature checks: Filter out warnings caused by user flags
    
    Filter out `-Winvalid-command-line-argument` warnings from Clang (that
    can be caused by user-specified flags) so that they do not break our
    checks for C++ feature availability.

diff --git a/Source/Checks/cm_cxx_features.cmake b/Source/Checks/cm_cxx_features.cmake
index 2dfd695..2c39cbe 100644
--- a/Source/Checks/cm_cxx_features.cmake
+++ b/Source/Checks/cm_cxx_features.cmake
@@ -17,6 +17,8 @@ function(cm_check_cxx_feature name)
     set(check_output "${OUTPUT}")
     # Filter out MSBuild output that looks like a warning.
     string(REGEX REPLACE " +0 Warning\\(s\\)" "" check_output "${check_output}")
+    # Filter out warnings caused by user flags.
+    string(REGEX REPLACE "[^\n]*warning:[^\n]*-Winvalid-command-line-argument[^\n]*" "" check_output "${check_output}")
     # If using the feature causes warnings, treat it as broken/unavailable.
     if(check_output MATCHES "[Ww]arning")
       set(CMake_HAVE_CXX_${FEATURE} OFF CACHE INTERNAL "TRY_COMPILE" FORCE)

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=eb3abf8b2ba514cec7d882bcde9d136fa3e023b7
commit eb3abf8b2ba514cec7d882bcde9d136fa3e023b7
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Tue Sep 19 09:22:54 2017 -0400
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Tue Sep 19 09:22:54 2017 -0400

    C++ feature checks: Prepare for multiple check output filters

diff --git a/Source/Checks/cm_cxx_features.cmake b/Source/Checks/cm_cxx_features.cmake
index ab80f5b..2dfd695 100644
--- a/Source/Checks/cm_cxx_features.cmake
+++ b/Source/Checks/cm_cxx_features.cmake
@@ -14,8 +14,9 @@ function(cm_check_cxx_feature name)
       CMAKE_FLAGS ${maybe_cxx_standard}
       OUTPUT_VARIABLE OUTPUT
       )
+    set(check_output "${OUTPUT}")
     # Filter out MSBuild output that looks like a warning.
-    string(REGEX REPLACE " +0 Warning\\(s\\)" "" check_output "${OUTPUT}")
+    string(REGEX REPLACE " +0 Warning\\(s\\)" "" check_output "${check_output}")
     # If using the feature causes warnings, treat it as broken/unavailable.
     if(check_output MATCHES "[Ww]arning")
       set(CMake_HAVE_CXX_${FEATURE} OFF CACHE INTERNAL "TRY_COMPILE" FORCE)

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=f23def2cf3d5dbb62f615db1c42cda68877131a5
commit f23def2cf3d5dbb62f615db1c42cda68877131a5
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Tue Sep 19 08:00:38 2017 -0400
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Tue Sep 19 09:14:40 2017 -0400

    Improve formatting of compiler failure error message
    
    When we report that a compiler was unable to build a simple test
    program, indent the output of the attempt so that our message formatting
    will show it as a pre-formatted block.

diff --git a/Modules/CMakeTestCCompiler.cmake b/Modules/CMakeTestCCompiler.cmake
index 7f19969..e34ae75 100644
--- a/Modules/CMakeTestCCompiler.cmake
+++ b/Modules/CMakeTestCCompiler.cmake
@@ -48,9 +48,10 @@ if(NOT CMAKE_C_COMPILER_WORKS)
   file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
     "Determining if the C compiler works failed with "
     "the following output:\n${__CMAKE_C_COMPILER_OUTPUT}\n\n")
-  message(FATAL_ERROR "The C compiler \"${CMAKE_C_COMPILER}\" "
+  string(REPLACE "\n" "\n  " _output "${__CMAKE_C_COMPILER_OUTPUT}")
+  message(FATAL_ERROR "The C compiler\n  \"${CMAKE_C_COMPILER}\"\n"
     "is not able to compile a simple test program.\nIt fails "
-    "with the following output:\n ${__CMAKE_C_COMPILER_OUTPUT}\n\n"
+    "with the following output:\n  ${_output}\n\n"
     "CMake will not be able to correctly generate this project.")
 else()
   if(C_TEST_WAS_RUN)
diff --git a/Modules/CMakeTestCSharpCompiler.cmake b/Modules/CMakeTestCSharpCompiler.cmake
index 1a8bf32..f3b95fd 100644
--- a/Modules/CMakeTestCSharpCompiler.cmake
+++ b/Modules/CMakeTestCSharpCompiler.cmake
@@ -42,9 +42,10 @@ if(NOT CMAKE_CSharp_COMPILER_WORKS)
   file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
     "Determining if the C# compiler works failed with "
     "the following output:\n${__CMAKE_CSharp_COMPILER_OUTPUT}\n\n")
-  message(FATAL_ERROR "The C# compiler \"${CMAKE_CSharp_COMPILER}\" "
+  string(REPLACE "\n" "\n  " _output "${__CMAKE_CSharp_COMPILER_OUTPUT}")
+  message(FATAL_ERROR "The C# compiler\n  \"${CMAKE_CSharp_COMPILER}\"\n"
     "is not able to compile a simple test program.\nIt fails "
-    "with the following output:\n ${__CMAKE_CSharp_COMPILER_OUTPUT}\n\n"
+    "with the following output:\n  ${_output}\n\n"
     "CMake will not be able to correctly generate this project.")
 else()
   if(CSharp_TEST_WAS_RUN)
diff --git a/Modules/CMakeTestCUDACompiler.cmake b/Modules/CMakeTestCUDACompiler.cmake
index 80113cb..df5ec72 100644
--- a/Modules/CMakeTestCUDACompiler.cmake
+++ b/Modules/CMakeTestCUDACompiler.cmake
@@ -42,9 +42,10 @@ if(NOT CMAKE_CUDA_COMPILER_WORKS)
   file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
     "Determining if the CUDA compiler works failed with "
     "the following output:\n${__CMAKE_CUDA_COMPILER_OUTPUT}\n\n")
-  message(FATAL_ERROR "The CUDA compiler \"${CMAKE_CUDA_COMPILER}\" "
+  string(REPLACE "\n" "\n  " _output "${__CMAKE_CUDA_COMPILER_OUTPUT}")
+  message(FATAL_ERROR "The CUDA compiler\n  \"${CMAKE_CUDA_COMPILER}\"\n"
     "is not able to compile a simple test program.\nIt fails "
-    "with the following output:\n ${__CMAKE_CUDA_COMPILER_OUTPUT}\n\n"
+    "with the following output:\n  ${_output}\n\n"
     "CMake will not be able to correctly generate this project.")
 else()
   if(CUDA_TEST_WAS_RUN)
diff --git a/Modules/CMakeTestCXXCompiler.cmake b/Modules/CMakeTestCXXCompiler.cmake
index a31067b..7b80dc0 100644
--- a/Modules/CMakeTestCXXCompiler.cmake
+++ b/Modules/CMakeTestCXXCompiler.cmake
@@ -41,9 +41,10 @@ if(NOT CMAKE_CXX_COMPILER_WORKS)
   file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
     "Determining if the CXX compiler works failed with "
     "the following output:\n${__CMAKE_CXX_COMPILER_OUTPUT}\n\n")
-  message(FATAL_ERROR "The C++ compiler \"${CMAKE_CXX_COMPILER}\" "
+  string(REPLACE "\n" "\n  " _output "${__CMAKE_CXX_COMPILER_OUTPUT}")
+  message(FATAL_ERROR "The C++ compiler\n  \"${CMAKE_CXX_COMPILER}\"\n"
     "is not able to compile a simple test program.\nIt fails "
-    "with the following output:\n ${__CMAKE_CXX_COMPILER_OUTPUT}\n\n"
+    "with the following output:\n  ${_output}\n\n"
     "CMake will not be able to correctly generate this project.")
 else()
   if(CXX_TEST_WAS_RUN)
diff --git a/Modules/CMakeTestFortranCompiler.cmake b/Modules/CMakeTestFortranCompiler.cmake
index c81694e..3c150a8 100644
--- a/Modules/CMakeTestFortranCompiler.cmake
+++ b/Modules/CMakeTestFortranCompiler.cmake
@@ -41,9 +41,10 @@ if(NOT CMAKE_Fortran_COMPILER_WORKS)
   file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
     "Determining if the Fortran compiler works failed with "
     "the following output:\n${OUTPUT}\n\n")
-  message(FATAL_ERROR "The Fortran compiler \"${CMAKE_Fortran_COMPILER}\" "
+  string(REPLACE "\n" "\n  " _output "${OUTPUT}")
+  message(FATAL_ERROR "The Fortran compiler\n  \"${CMAKE_Fortran_COMPILER}\"\n"
     "is not able to compile a simple test program.\nIt fails "
-    "with the following output:\n ${OUTPUT}\n\n"
+    "with the following output:\n  ${_output}\n\n"
     "CMake will not be able to correctly generate this project.")
 else()
   if(FORTRAN_TEST_WAS_RUN)
diff --git a/Modules/CMakeTestSwiftCompiler.cmake b/Modules/CMakeTestSwiftCompiler.cmake
index 6393f44..bcd5c33 100644
--- a/Modules/CMakeTestSwiftCompiler.cmake
+++ b/Modules/CMakeTestSwiftCompiler.cmake
@@ -39,9 +39,10 @@ if(NOT CMAKE_Swift_COMPILER_WORKS)
   file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
     "Determining if the Swift compiler works failed with "
     "the following output:\n${__CMAKE_Swift_COMPILER_OUTPUT}\n\n")
-  message(FATAL_ERROR "The Swift compiler \"${CMAKE_Swift_COMPILER}\" "
+  string(REPLACE "\n" "\n  " _output "${__CMAKE_Swift_COMPILER_OUTPUT}")
+  message(FATAL_ERROR "The Swift compiler\n  \"${CMAKE_Swift_COMPILER}\"\n"
     "is not able to compile a simple test program.\nIt fails "
-    "with the following output:\n ${__CMAKE_Swift_COMPILER_OUTPUT}\n\n"
+    "with the following output:\n  ${_output}\n\n"
     "CMake will not be able to correctly generate this project.")
 else()
   if(Swift_TEST_WAS_RUN)

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=485a6f0ef2fa0b08fd72f1c3a8b96e83481510c6
commit 485a6f0ef2fa0b08fd72f1c3a8b96e83481510c6
Author:     Tin Huynh <ahuynh at nvidia.com>
AuthorDate: Tue Aug 29 14:23:35 2017 -0700
Commit:     Tin Huynh <ahuynh at nvidia.com>
CommitDate: Fri Sep 15 15:27:21 2017 -0700

    PGI-Fortran: Add -Mipa=fast,inline as IPO option.
    
    Remove -Mipa=fast as a default flag and add it as an option instead.
    -Mipa=fast is a flag that speeds up runtime but at the cost of significant
    compile time increase and therefore, shouldn't be a default flag.
    In addition, -Mipa isn't supported on PGI OpenPOWER or x86/llvm compilers.

diff --git a/Modules/Compiler/PGI.cmake b/Modules/Compiler/PGI.cmake
index 0cbfd8a..d5a57ee 100644
--- a/Modules/Compiler/PGI.cmake
+++ b/Modules/Compiler/PGI.cmake
@@ -19,16 +19,20 @@ macro(__compiler_pgi lang)
   string(APPEND CMAKE_${lang}_FLAGS_DEBUG_INIT " -g -O0")
   string(APPEND CMAKE_${lang}_FLAGS_MINSIZEREL_INIT " -O2 -s")
   string(APPEND CMAKE_${lang}_FLAGS_RELEASE_INIT " -fast -O3")
-  # -Mipa was dropped with PGI 16.3 from Windows versions
-  if(NOT CMAKE_HOST_WIN32 OR CMAKE_${lang}_COMPILER_VERSION VERSION_LESS 16.3)
-    string(APPEND CMAKE_${lang}_FLAGS_RELEASE_INIT " -Mipa=fast")
-  endif()
   string(APPEND CMAKE_${lang}_FLAGS_RELWITHDEBINFO_INIT " -O2 -gopt")
 
   if(CMAKE_HOST_WIN32)
     string(APPEND CMAKE_${lang}_FLAGS_INIT " -Bdynamic")
   endif()
 
+  set(_CMAKE_${lang}_IPO_SUPPORTED_BY_CMAKE YES)
+  if(NOT CMAKE_SYSTEM_PROCESSOR STREQUAL ppc64le AND (NOT CMAKE_HOST_WIN32 OR CMAKE_${lang}_COMPILER_VERSION VERSION_LESS 16.3))
+    set(_CMAKE_${lang}_IPO_MAY_BE_SUPPORTED_BY_COMPILER YES)
+    set(CMAKE_${lang}_COMPILE_OPTIONS_IPO "-Mipa=fast,inline")
+  else()
+    set(_CMAKE_${lang}_IPO_MAY_BE_SUPPORTED_BY_COMPILER NO)
+  endif()
+
   # Preprocessing and assembly rules.
   set(CMAKE_${lang}_CREATE_PREPROCESSED_SOURCE "<CMAKE_${lang}_COMPILER> <DEFINES> <INCLUDES> <FLAGS> -E <SOURCE> > <PREPROCESSED_SOURCE>")
   set(CMAKE_${lang}_CREATE_ASSEMBLY_SOURCE "<CMAKE_${lang}_COMPILER> <DEFINES> <INCLUDES> <FLAGS> -S <SOURCE> -o <ASSEMBLY_SOURCE>")

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=97f0b177df992814e24a544a00a31ebf77d2db83
commit 97f0b177df992814e24a544a00a31ebf77d2db83
Author:     Tin Huynh <ahuynh at nvidia.com>
AuthorDate: Tue Aug 29 13:22:33 2017 -0700
Commit:     Tin Huynh <ahuynh at nvidia.com>
CommitDate: Tue Sep 5 17:35:07 2017 -0700

    PGI-Fortran: Remove -Kieee and -Mpreprocess
    
    Fixes #17209

diff --git a/Modules/Compiler/PGI-Fortran.cmake b/Modules/Compiler/PGI-Fortran.cmake
index 4783424..a183c33 100644
--- a/Modules/Compiler/PGI-Fortran.cmake
+++ b/Modules/Compiler/PGI-Fortran.cmake
@@ -7,7 +7,6 @@ set(CMAKE_Fortran_PREPROCESS_SOURCE
 set(CMAKE_Fortran_FORMAT_FIXED_FLAG "-Mnofreeform")
 set(CMAKE_Fortran_FORMAT_FREE_FLAG "-Mfreeform")
 
-string(APPEND CMAKE_Fortran_FLAGS_INIT " -Mpreprocess -Kieee")
 string(APPEND CMAKE_Fortran_FLAGS_DEBUG_INIT " -Mbounds")
 
 set(CMAKE_Fortran_MODDIR_FLAG "-module ")

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

Summary of changes:
 .clang-tidy                                        |    1 -
 Modules/CMakeTestCCompiler.cmake                   |    5 +-
 Modules/CMakeTestCSharpCompiler.cmake              |    5 +-
 Modules/CMakeTestCUDACompiler.cmake                |    5 +-
 Modules/CMakeTestCXXCompiler.cmake                 |    5 +-
 Modules/CMakeTestFortranCompiler.cmake             |    5 +-
 Modules/CMakeTestSwiftCompiler.cmake               |    5 +-
 Modules/Compiler/PGI-Fortran.cmake                 |    1 -
 Modules/Compiler/PGI.cmake                         |   12 ++--
 Source/CPack/OSXScriptLauncher.cxx                 |    8 +--
 Source/CPack/cmCPackBundleGenerator.cxx            |    2 +-
 Source/CPack/cmCPackDragNDropGenerator.cxx         |   10 +--
 Source/CPack/cmCPackOSXX11Generator.cxx            |    6 +-
 Source/CPack/cmCPackPKGGenerator.cxx               |    2 +-
 Source/CPack/cmCPackPackageMakerGenerator.cxx      |    8 +--
 Source/CPack/cmCPackProductBuildGenerator.cxx      |   10 +--
 Source/CTest/cmCTestCoverageHandler.cxx            |   17 +++--
 Source/CTest/cmCTestCoverageHandler.h              |    4 +-
 Source/Checks/cm_cxx_features.cmake                |    5 +-
 .../CursesDialog/cmCursesCacheEntryComposite.cxx   |    5 +-
 Source/CursesDialog/cmCursesOptionsWidget.cxx      |    5 +-
 Source/CursesDialog/cmCursesStringWidget.cxx       |    4 +-
 Source/cmFindProgramCommand.cxx                    |    2 +-
 Source/cmGlobalNinjaGenerator.cxx                  |   76 +++++++++++++-------
 Source/cmGlobalNinjaGenerator.h                    |   13 ++--
 Source/cmGlobalXCodeGenerator.cxx                  |   65 ++++++++---------
 Source/cmLocalXCodeGenerator.h                     |    2 +-
 Source/cmMachO.cxx                                 |    4 +-
 Source/cmNinjaTypes.h                              |    2 +
 Source/cmXCodeObject.cxx                           |    8 +--
 Source/cmXCodeObject.h                             |    4 +-
 Source/cmakexbuild.cxx                             |    4 +-
 Source/cmcmd.cxx                                   |    7 +-
 Tests/CMakeLib/run_compile_commands.cxx            |    9 +--
 34 files changed, 177 insertions(+), 149 deletions(-)


hooks/post-receive
-- 
CMake


More information about the Cmake-commits mailing list