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  a7f5cd45e135dd51d67176fc40e2d769ac5f7db8 (commit)
       via  22893baed1556420b93c4f3a62b4c450ac354040 (commit)
       via  e898f48bbc944c5525f7f292b55cca8ae2fa4cae (commit)
       via  c1247d861a42fa79e7ca4cc9a793b1fa1f012dce (commit)
       via  877eed30c7f3fa873b36ec3654c00c50a3977425 (commit)
       via  d8788faa6634e4a837e9d62423bcf4969d90e560 (commit)
       via  845a46fb743cc036edd45e941be41ca55a3910b2 (commit)
       via  20861d758b5c8ee1791ac1f76088ba29431a4e16 (commit)
       via  68b51fb19af65610f6f36f3a3da2aa34ab0a9c59 (commit)
       via  6b85eea3656e30aca7249ca4b903884d3bc73020 (commit)
       via  5a0784ddea62ee653a3a1199d4ff2140868d2c1d (commit)
       via  405d9cb4b5cf9d849facda5dfa6ec02e57f33be7 (commit)
       via  3068a0d0dc87a57408c53b23e125b6c6de0c181a (commit)
       via  f2fca92686fb360c433d06452700d90dcf62c9fa (commit)
       via  e463133cd2a189d5d2ad3bf95caa4058a2c0d764 (commit)
       via  2395b1b244743aaf28426a72f37d1aac96e3db9e (commit)
       via  2993fc347af5db802721f1bbe0a0e05d19a28e89 (commit)
      from  fd54b85937b9cbfbc04b05b9a0b9d143ea2be6e5 (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=a7f5cd45e135dd51d67176fc40e2d769ac5f7db8
commit a7f5cd45e135dd51d67176fc40e2d769ac5f7db8
Merge: 22893ba 5a0784d
Author:     Brad King <brad.k...@kitware.com>
AuthorDate: Wed Jan 23 13:16:55 2019 +0000
Commit:     Kitware Robot <kwro...@kitware.com>
CommitDate: Wed Jan 23 08:17:49 2019 -0500

    Merge topic 'tidy-pass-by-value'
    
    5a0784ddea clang-tidy: Pass by value
    
    Acked-by: Kitware Robot <kwro...@kitware.com>
    Merge-request: !2836


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=22893baed1556420b93c4f3a62b4c450ac354040
commit 22893baed1556420b93c4f3a62b4c450ac354040
Merge: e898f48 405d9cb
Author:     Brad King <brad.k...@kitware.com>
AuthorDate: Wed Jan 23 13:16:11 2019 +0000
Commit:     Kitware Robot <kwro...@kitware.com>
CommitDate: Wed Jan 23 08:17:04 2019 -0500

    Merge topic 'update-kwsys'
    
    405d9cb4b5 Merge branch 'upstream-KWSys' into update-kwsys
    3068a0d0dc KWSys 2019-01-22 (4fecfe6f)
    
    Acked-by: Kitware Robot <kwro...@kitware.com>
    Merge-request: !2833


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=e898f48bbc944c5525f7f292b55cca8ae2fa4cae
commit e898f48bbc944c5525f7f292b55cca8ae2fa4cae
Merge: c1247d8 2993fc3
Author:     Brad King <brad.k...@kitware.com>
AuthorDate: Wed Jan 23 13:15:53 2019 +0000
Commit:     Kitware Robot <kwro...@kitware.com>
CommitDate: Wed Jan 23 08:16:15 2019 -0500

    Merge topic 'getmodulesfile-string'
    
    2993fc347a cmMakefile: GetModulesFile() accepts std::string param
    
    Acked-by: Kitware Robot <kwro...@kitware.com>
    Merge-request: !2838


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=c1247d861a42fa79e7ca4cc9a793b1fa1f012dce
commit c1247d861a42fa79e7ca4cc9a793b1fa1f012dce
Merge: 877eed3 f2fca92
Author:     Brad King <brad.k...@kitware.com>
AuthorDate: Wed Jan 23 13:15:29 2019 +0000
Commit:     Kitware Robot <kwro...@kitware.com>
CommitDate: Wed Jan 23 08:15:36 2019 -0500

    Merge topic 'cmake_build_jobs_supports_no_space'
    
    f2fca92686 cmake: --build supports '-jN'
    e463133cd2 Tests: Remove unused files from RunCMake.CommandLine test
    
    Acked-by: Kitware Robot <kwro...@kitware.com>
    Merge-request: !2819


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=877eed30c7f3fa873b36ec3654c00c50a3977425
commit 877eed30c7f3fa873b36ec3654c00c50a3977425
Merge: d8788fa 845a46f
Author:     Brad King <brad.k...@kitware.com>
AuthorDate: Wed Jan 23 08:13:29 2019 -0500
Commit:     Brad King <brad.k...@kitware.com>
CommitDate: Wed Jan 23 08:13:29 2019 -0500

    Merge branch 'release-3.13'


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=d8788faa6634e4a837e9d62423bcf4969d90e560
commit d8788faa6634e4a837e9d62423bcf4969d90e560
Merge: fd54b85 20861d7
Author:     Brad King <brad.k...@kitware.com>
AuthorDate: Wed Jan 23 13:12:55 2019 +0000
Commit:     Kitware Robot <kwro...@kitware.com>
CommitDate: Wed Jan 23 08:13:02 2019 -0500

    Merge topic 'cmake-warn-no-src-build-dir'
    
    20861d758b Merge branch 'backport-cmake-warn-no-src-build-dir'
    68b51fb19a cmake: Convert no source/build dir error to warning
    6b85eea365 Help: Add 3.13.4 release note for no source/build dir 
error/warning
    2395b1b244 cmake: Convert no source/build dir error to warning
    
    Acked-by: Kitware Robot <kwro...@kitware.com>
    Merge-request: !2839


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=20861d758b5c8ee1791ac1f76088ba29431a4e16
commit 20861d758b5c8ee1791ac1f76088ba29431a4e16
Merge: 68b51fb 6b85eea
Author:     Brad King <brad.k...@kitware.com>
AuthorDate: Tue Jan 22 14:46:56 2019 -0500
Commit:     Brad King <brad.k...@kitware.com>
CommitDate: Tue Jan 22 14:46:56 2019 -0500

    Merge branch 'backport-cmake-warn-no-src-build-dir'


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=68b51fb19af65610f6f36f3a3da2aa34ab0a9c59
commit 68b51fb19af65610f6f36f3a3da2aa34ab0a9c59
Author:     Craig Scott <craig.sc...@crascit.com>
AuthorDate: Tue Jan 22 21:33:54 2019 +1100
Commit:     Brad King <brad.k...@kitware.com>
CommitDate: Tue Jan 22 14:46:03 2019 -0500

    cmake: Convert no source/build dir error to warning
    
    Temporarily restore previous behavior that allowed specifying
    no source or build directory to work, even though it was
    neither documented nor supported. This commit is expected
    to eventually be reverted to restore the fatal error for such
    cases.
    
    Relates: #18817

diff --git a/Source/cmake.cxx b/Source/cmake.cxx
index 065f6df..914c3b0 100644
--- a/Source/cmake.cxx
+++ b/Source/cmake.cxx
@@ -810,8 +810,11 @@ void cmake::SetArgs(const std::vector<std::string>& args)
 
   if (this->CurrentWorkingMode == cmake::NORMAL_MODE && !haveSourceDir &&
       !haveBinaryDir) {
-    cmSystemTools::Error("No source or binary directory provided");
-    return;
+    this->IssueMessage(
+      MessageType::WARNING,
+      "No source or binary directory provided. Both will be assumed to be "
+      "the same as the current working directory, but note that this "
+      "warning will become a fatal error in future CMake releases.");
   }
 
   if (!haveSourceDir) {
diff --git a/Tests/RunCMake/CommandLine/RunCMakeTest.cmake 
b/Tests/RunCMake/CommandLine/RunCMakeTest.cmake
index 0e04ad1..70fcdba 100644
--- a/Tests/RunCMake/CommandLine/RunCMakeTest.cmake
+++ b/Tests/RunCMake/CommandLine/RunCMakeTest.cmake
@@ -56,12 +56,22 @@ run_cmake_command(cache-empty-entry
   ${CMAKE_COMMAND} --build ${RunCMake_SOURCE_DIR}/cache-empty-entry/)
 
 function(run_ExplicitDirs)
+  set(source_dir ${RunCMake_BINARY_DIR}/ExplicitDirsMissing)
+
+  file(REMOVE_RECURSE "${source_dir}")
+  file(MAKE_DIRECTORY "${source_dir}")
+  file(WRITE ${source_dir}/CMakeLists.txt [=[
+cmake_minimum_required(VERSION 3.13)
+project(ExplicitDirsMissing LANGUAGES NONE)
+]=])
+  run_cmake_command(no-S-B ${CMAKE_COMMAND} -E chdir ${source_dir}
+    ${CMAKE_COMMAND} -DFOO=BAR)
+
   set(source_dir ${RunCMake_SOURCE_DIR}/ExplicitDirs)
   set(binary_dir ${RunCMake_BINARY_DIR}/ExplicitDirs-build)
 
   file(REMOVE_RECURSE "${binary_dir}")
   file(MAKE_DIRECTORY "${binary_dir}")
-  run_cmake_command(no-S-B ${CMAKE_COMMAND} -DFOO=BAR)
   run_cmake_command(S-arg ${CMAKE_COMMAND} -S ${source_dir} ${binary_dir})
   run_cmake_command(S-arg-reverse-order ${CMAKE_COMMAND} ${binary_dir} 
-S${source_dir} )
   run_cmake_command(S-no-arg ${CMAKE_COMMAND} -S )
diff --git a/Tests/RunCMake/CommandLine/no-S-B-result.txt 
b/Tests/RunCMake/CommandLine/no-S-B-result.txt
deleted file mode 100644
index d00491f..0000000
--- a/Tests/RunCMake/CommandLine/no-S-B-result.txt
+++ /dev/null
@@ -1 +0,0 @@
-1
diff --git a/Tests/RunCMake/CommandLine/no-S-B-stderr.txt 
b/Tests/RunCMake/CommandLine/no-S-B-stderr.txt
index 7a94307..c166dcf 100644
--- a/Tests/RunCMake/CommandLine/no-S-B-stderr.txt
+++ b/Tests/RunCMake/CommandLine/no-S-B-stderr.txt
@@ -1 +1,4 @@
-CMake Error: No source or binary directory provided
+CMake Warning:
+  No source or binary directory provided.  Both will be assumed to be the
+  same as the current working directory, but note that this warning will
+  become a fatal error in future CMake releases.

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=5a0784ddea62ee653a3a1199d4ff2140868d2c1d
commit 5a0784ddea62ee653a3a1199d4ff2140868d2c1d
Author:     Regina Pfeifer <reg...@mailbox.org>
AuthorDate: Mon Jan 21 17:15:21 2019 +0100
Commit:     Brad King <brad.k...@kitware.com>
CommitDate: Tue Jan 22 13:03:04 2019 -0500

    clang-tidy: Pass by value

diff --git a/.clang-tidy b/.clang-tidy
index aef99dc..626c754 100644
--- a/.clang-tidy
+++ b/.clang-tidy
@@ -11,7 +11,6 @@ misc-*,\
 -misc-static-assert,\
 modernize-*,\
 -modernize-deprecated-headers,\
--modernize-pass-by-value,\
 -modernize-raw-string-literal,\
 -modernize-return-braced-init-list,\
 -modernize-use-auto,\
diff --git a/Source/CPack/cmCPackDebGenerator.cxx 
b/Source/CPack/cmCPackDebGenerator.cxx
index 29968af..46a428f 100644
--- a/Source/CPack/cmCPackDebGenerator.cxx
+++ b/Source/CPack/cmCPackDebGenerator.cxx
@@ -23,17 +23,15 @@ namespace {
 class DebGenerator
 {
 public:
-  DebGenerator(cmCPackLog* logger, std::string const& outputName,
-               std::string const& workDir, std::string const& topLevelDir,
-               std::string const& temporaryDir,
+  DebGenerator(cmCPackLog* logger, std::string outputName, std::string workDir,
+               std::string topLevelDir, std::string temporaryDir,
                const char* debianCompressionType,
                const char* debianArchiveType,
-               std::map<std::string, std::string> const& controlValues,
-               bool genShLibs, std::string const& shLibsFilename,
-               bool genPostInst, std::string const& postInst, bool genPostRm,
-               std::string const& postRm, const char* controlExtra,
-               bool permissionStrctPolicy,
-               std::vector<std::string> const& packageFiles);
+               std::map<std::string, std::string> controlValues,
+               bool genShLibs, std::string shLibsFilename, bool genPostInst,
+               std::string postInst, bool genPostRm, std::string postRm,
+               const char* controlExtra, bool permissionStrctPolicy,
+               std::vector<std::string> packageFiles);
 
   bool generate() const;
 
@@ -66,31 +64,29 @@ private:
 };
 
 DebGenerator::DebGenerator(
-  cmCPackLog* logger, std::string const& outputName,
-  std::string const& workDir, std::string const& topLevelDir,
-  std::string const& temporaryDir, const char* debianCompressionType,
-  const char* debianArchiveType,
-  std::map<std::string, std::string> const& controlValues, bool genShLibs,
-  std::string const& shLibsFilename, bool genPostInst,
-  std::string const& postInst, bool genPostRm, std::string const& postRm,
-  const char* controlExtra, bool permissionStrictPolicy,
-  std::vector<std::string> const& packageFiles)
+  cmCPackLog* logger, std::string outputName, std::string workDir,
+  std::string topLevelDir, std::string temporaryDir,
+  const char* debianCompressionType, const char* debianArchiveType,
+  std::map<std::string, std::string> controlValues, bool genShLibs,
+  std::string shLibsFilename, bool genPostInst, std::string postInst,
+  bool genPostRm, std::string postRm, const char* controlExtra,
+  bool permissionStrictPolicy, std::vector<std::string> packageFiles)
   : Logger(logger)
-  , OutputName(outputName)
-  , WorkDir(workDir)
-  , TopLevelDir(topLevelDir)
-  , TemporaryDir(temporaryDir)
+  , OutputName(std::move(outputName))
+  , WorkDir(std::move(workDir))
+  , TopLevelDir(std::move(topLevelDir))
+  , TemporaryDir(std::move(temporaryDir))
   , DebianArchiveType(debianArchiveType ? debianArchiveType : "gnutar")
-  , ControlValues(controlValues)
+  , ControlValues(std::move(controlValues))
   , GenShLibs(genShLibs)
-  , ShLibsFilename(shLibsFilename)
+  , ShLibsFilename(std::move(shLibsFilename))
   , GenPostInst(genPostInst)
-  , PostInst(postInst)
+  , PostInst(std::move(postInst))
   , GenPostRm(genPostRm)
-  , PostRm(postRm)
+  , PostRm(std::move(postRm))
   , ControlExtra(controlExtra)
   , PermissionStrictPolicy(permissionStrictPolicy)
-  , PackageFiles(packageFiles)
+  , PackageFiles(std::move(packageFiles))
 {
   if (!debianCompressionType) {
     debianCompressionType = "gzip";
diff --git a/Source/CPack/cmCPackFreeBSDGenerator.cxx 
b/Source/CPack/cmCPackFreeBSDGenerator.cxx
index 1e6b118..0ff0054 100644
--- a/Source/CPack/cmCPackFreeBSDGenerator.cxx
+++ b/Source/CPack/cmCPackFreeBSDGenerator.cxx
@@ -17,6 +17,7 @@
 #include <pkg.h>
 
 #include <algorithm>
+#include <utility>
 
 cmCPackFreeBSDGenerator::cmCPackFreeBSDGenerator()
   : cmCPackArchiveGenerator(cmArchiveWrite::CompressXZ, "paxr")
@@ -97,8 +98,8 @@ class ManifestKey
 public:
   std::string key;
 
-  ManifestKey(const std::string& k)
-    : key(k)
+  ManifestKey(std::string k)
+    : key(std::move(k))
   {
   }
 
@@ -115,9 +116,9 @@ class ManifestKeyValue : public ManifestKey
 public:
   std::string value;
 
-  ManifestKeyValue(const std::string& k, const std::string& v)
+  ManifestKeyValue(const std::string& k, std::string v)
     : ManifestKey(k)
-    , value(v)
+    , value(std::move(v))
   {
   }
 
diff --git a/Source/CursesDialog/cmCursesMainForm.cxx 
b/Source/CursesDialog/cmCursesMainForm.cxx
index 55ef375..188ad69 100644
--- a/Source/CursesDialog/cmCursesMainForm.cxx
+++ b/Source/CursesDialog/cmCursesMainForm.cxx
@@ -20,15 +20,16 @@
 #include <algorithm>
 #include <stdio.h>
 #include <string.h>
+#include <utility>
 
 inline int ctrl(int z)
 {
   return (z & 037);
 }
 
-cmCursesMainForm::cmCursesMainForm(std::vector<std::string> const& args,
+cmCursesMainForm::cmCursesMainForm(std::vector<std::string> args,
                                    int initWidth)
-  : Args(args)
+  : Args(std::move(args))
   , InitialWidth(initWidth)
 {
   this->NumberOfPages = 0;
diff --git a/Source/CursesDialog/cmCursesMainForm.h 
b/Source/CursesDialog/cmCursesMainForm.h
index 2c006cf..824025b 100644
--- a/Source/CursesDialog/cmCursesMainForm.h
+++ b/Source/CursesDialog/cmCursesMainForm.h
@@ -26,7 +26,7 @@ class cmCursesMainForm : public cmCursesForm
   CM_DISABLE_COPY(cmCursesMainForm)
 
 public:
-  cmCursesMainForm(std::vector<std::string> const& args, int initwidth);
+  cmCursesMainForm(std::vector<std::string> args, int initwidth);
   ~cmCursesMainForm() override;
 
   /**
diff --git a/Source/QtDialog/QCMakeWidgets.cxx 
b/Source/QtDialog/QCMakeWidgets.cxx
index b544b86..eab418f 100644
--- a/Source/QtDialog/QCMakeWidgets.cxx
+++ b/Source/QtDialog/QCMakeWidgets.cxx
@@ -7,10 +7,11 @@
 #include <QFileInfo>
 #include <QResizeEvent>
 #include <QToolButton>
+#include <utility>
 
-QCMakeFileEditor::QCMakeFileEditor(QWidget* p, const QString& var)
+QCMakeFileEditor::QCMakeFileEditor(QWidget* p, QString var)
   : QLineEdit(p)
-  , Variable(var)
+  , Variable(std::move(var))
 {
   this->ToolButton = new QToolButton(this);
   this->ToolButton->setText("...");
diff --git a/Source/QtDialog/QCMakeWidgets.h b/Source/QtDialog/QCMakeWidgets.h
index e63c197..5d2368e 100644
--- a/Source/QtDialog/QCMakeWidgets.h
+++ b/Source/QtDialog/QCMakeWidgets.h
@@ -18,7 +18,7 @@ class QCMakeFileEditor : public QLineEdit
 {
   Q_OBJECT
 public:
-  QCMakeFileEditor(QWidget* p, const QString& var);
+  QCMakeFileEditor(QWidget* p, QString var);
 protected slots:
   virtual void chooseFile() = 0;
 signals:
diff --git a/Source/cmAlgorithms.h b/Source/cmAlgorithms.h
index 2f8e675..9e3efd3 100644
--- a/Source/cmAlgorithms.h
+++ b/Source/cmAlgorithms.h
@@ -61,8 +61,8 @@ struct cmStrCmp
     : m_test(test)
   {
   }
-  cmStrCmp(const std::string& test)
-    : m_test(test)
+  cmStrCmp(std::string test)
+    : m_test(std::move(test))
   {
   }
 
diff --git a/Source/cmComputeLinkInformation.h 
b/Source/cmComputeLinkInformation.h
index db7eb96..61fcf03 100644
--- a/Source/cmComputeLinkInformation.h
+++ b/Source/cmComputeLinkInformation.h
@@ -9,6 +9,7 @@
 #include <iosfwd>
 #include <set>
 #include <string>
+#include <utility>
 #include <vector>
 
 class cmGeneratorTarget;
@@ -31,9 +32,8 @@ public:
   struct Item
   {
     Item() {}
-    Item(std::string const& v, bool p,
-         cmGeneratorTarget const* target = nullptr)
-      : Value(v)
+    Item(std::string v, bool p, cmGeneratorTarget const* target = nullptr)
+      : Value(std::move(v))
       , IsPath(p)
       , Target(target)
     {
diff --git a/Source/cmConditionEvaluator.cxx b/Source/cmConditionEvaluator.cxx
index 33b9cf1..94ea529 100644
--- a/Source/cmConditionEvaluator.cxx
+++ b/Source/cmConditionEvaluator.cxx
@@ -8,6 +8,7 @@
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
+#include <utility>
 
 #include "cmAlgorithms.h"
 #include "cmMakefile.h"
@@ -53,11 +54,11 @@ static std::string const keyVERSION_LESS = "VERSION_LESS";
 static std::string const keyVERSION_LESS_EQUAL = "VERSION_LESS_EQUAL";
 
 cmConditionEvaluator::cmConditionEvaluator(cmMakefile& makefile,
-                                           const cmListFileContext& context,
-                                           const cmListFileBacktrace& bt)
+                                           cmListFileContext context,
+                                           cmListFileBacktrace bt)
   : Makefile(makefile)
-  , ExecutionContext(context)
-  , Backtrace(bt)
+  , ExecutionContext(std::move(context))
+  , Backtrace(std::move(bt))
   , Policy12Status(makefile.GetPolicyStatus(cmPolicies::CMP0012))
   , Policy54Status(makefile.GetPolicyStatus(cmPolicies::CMP0054))
   , Policy57Status(makefile.GetPolicyStatus(cmPolicies::CMP0057))
diff --git a/Source/cmConditionEvaluator.h b/Source/cmConditionEvaluator.h
index fc87a2d..59e1396 100644
--- a/Source/cmConditionEvaluator.h
+++ b/Source/cmConditionEvaluator.h
@@ -21,8 +21,8 @@ class cmConditionEvaluator
 public:
   typedef std::list<cmExpandedCommandArgument> cmArgumentList;
 
-  cmConditionEvaluator(cmMakefile& makefile, cmListFileContext const& context,
-                       cmListFileBacktrace const& bt);
+  cmConditionEvaluator(cmMakefile& makefile, cmListFileContext context,
+                       cmListFileBacktrace bt);
 
   // this is a shared function for both If and Else to determine if the
   // arguments were valid, and if so, was the response true. If there is
diff --git a/Source/cmCustomCommand.cxx b/Source/cmCustomCommand.cxx
index 9dcec2f..242ceaa 100644
--- a/Source/cmCustomCommand.cxx
+++ b/Source/cmCustomCommand.cxx
@@ -4,17 +4,19 @@
 
 #include "cmMakefile.h"
 
+#include <utility>
+
 cmCustomCommand::cmCustomCommand(cmMakefile const* mf,
-                                 const std::vector<std::string>& outputs,
-                                 const std::vector<std::string>& byproducts,
-                                 const std::vector<std::string>& depends,
-                                 const cmCustomCommandLines& commandLines,
+                                 std::vector<std::string> outputs,
+                                 std::vector<std::string> byproducts,
+                                 std::vector<std::string> depends,
+                                 cmCustomCommandLines commandLines,
                                  const char* comment,
                                  const char* workingDirectory)
-  : Outputs(outputs)
-  , Byproducts(byproducts)
-  , Depends(depends)
-  , CommandLines(commandLines)
+  : Outputs(std::move(outputs))
+  , Byproducts(std::move(byproducts))
+  , Depends(std::move(depends))
+  , CommandLines(std::move(commandLines))
   , Comment(comment ? comment : "")
   , WorkingDirectory(workingDirectory ? workingDirectory : "")
   , HaveComment(comment != nullptr)
diff --git a/Source/cmCustomCommand.h b/Source/cmCustomCommand.h
index d82160b..50f15a4 100644
--- a/Source/cmCustomCommand.h
+++ b/Source/cmCustomCommand.h
@@ -23,12 +23,11 @@ class cmCustomCommand
 {
 public:
   /** Main constructor specifies all information for the command.  */
-  cmCustomCommand(cmMakefile const* mf,
-                  const std::vector<std::string>& outputs,
-                  const std::vector<std::string>& byproducts,
-                  const std::vector<std::string>& depends,
-                  const cmCustomCommandLines& commandLines,
-                  const char* comment, const char* workingDirectory);
+  cmCustomCommand(cmMakefile const* mf, std::vector<std::string> outputs,
+                  std::vector<std::string> byproducts,
+                  std::vector<std::string> depends,
+                  cmCustomCommandLines commandLines, const char* comment,
+                  const char* workingDirectory);
 
   /** Get the output file produced by the command.  */
   const std::vector<std::string>& GetOutputs() const;
diff --git a/Source/cmCustomCommandGenerator.cxx 
b/Source/cmCustomCommandGenerator.cxx
index d1c1736..6bf9946 100644
--- a/Source/cmCustomCommandGenerator.cxx
+++ b/Source/cmCustomCommandGenerator.cxx
@@ -16,10 +16,10 @@
 #include <utility>
 
 cmCustomCommandGenerator::cmCustomCommandGenerator(cmCustomCommand const& cc,
-                                                   const std::string& config,
+                                                   std::string config,
                                                    cmLocalGenerator* lg)
   : CC(cc)
-  , Config(config)
+  , Config(std::move(config))
   , LG(lg)
   , OldStyle(cc.GetEscapeOldStyle())
   , MakeVars(cc.GetEscapeAllowMakeVars())
diff --git a/Source/cmCustomCommandGenerator.h 
b/Source/cmCustomCommandGenerator.h
index b7e2a39..9684cff 100644
--- a/Source/cmCustomCommandGenerator.h
+++ b/Source/cmCustomCommandGenerator.h
@@ -29,8 +29,8 @@ class cmCustomCommandGenerator
   const char* GetArgv0Location(unsigned int c) const;
 
 public:
-  cmCustomCommandGenerator(cmCustomCommand const& cc,
-                           const std::string& config, cmLocalGenerator* lg);
+  cmCustomCommandGenerator(cmCustomCommand const& cc, std::string config,
+                           cmLocalGenerator* lg);
   ~cmCustomCommandGenerator();
   cmCustomCommand const& GetCC() const { return this->CC; }
   unsigned int GetNumberOfCommands() const;
diff --git a/Source/cmDepends.cxx b/Source/cmDepends.cxx
index 3b3783a..976ba57 100644
--- a/Source/cmDepends.cxx
+++ b/Source/cmDepends.cxx
@@ -13,9 +13,9 @@
 #include <string.h>
 #include <utility>
 
-cmDepends::cmDepends(cmLocalGenerator* lg, const std::string& targetDir)
+cmDepends::cmDepends(cmLocalGenerator* lg, std::string targetDir)
   : LocalGenerator(lg)
-  , TargetDirectory(targetDir)
+  , TargetDirectory(std::move(targetDir))
   , Dependee(new char[MaxPath])
   , Depender(new char[MaxPath])
 {
diff --git a/Source/cmDepends.h b/Source/cmDepends.h
index b0b5bb5..c5e1d5b 100644
--- a/Source/cmDepends.h
+++ b/Source/cmDepends.h
@@ -29,7 +29,7 @@ class cmDepends
 public:
   /** Instances need to know the build directory name and the relative
       path from the build directory to the target file.  */
-  cmDepends(cmLocalGenerator* lg = nullptr, const std::string& targetDir = "");
+  cmDepends(cmLocalGenerator* lg = nullptr, std::string targetDir = "");
 
   /** Set the local generator for the directory in which we are
       scanning dependencies.  This is not a full local generator; it
diff --git a/Source/cmExpandedCommandArgument.cxx 
b/Source/cmExpandedCommandArgument.cxx
index 650a5ad..00848a6 100644
--- a/Source/cmExpandedCommandArgument.cxx
+++ b/Source/cmExpandedCommandArgument.cxx
@@ -2,13 +2,15 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmExpandedCommandArgument.h"
 
+#include <utility>
+
 cmExpandedCommandArgument::cmExpandedCommandArgument()
 {
 }
 
-cmExpandedCommandArgument::cmExpandedCommandArgument(std::string const& value,
+cmExpandedCommandArgument::cmExpandedCommandArgument(std::string value,
                                                      bool quoted)
-  : Value(value)
+  : Value(std::move(value))
   , Quoted(quoted)
 {
 }
diff --git a/Source/cmExpandedCommandArgument.h 
b/Source/cmExpandedCommandArgument.h
index d71fc92..69d35de 100644
--- a/Source/cmExpandedCommandArgument.h
+++ b/Source/cmExpandedCommandArgument.h
@@ -18,7 +18,7 @@ class cmExpandedCommandArgument
 {
 public:
   cmExpandedCommandArgument();
-  cmExpandedCommandArgument(std::string const& value, bool quoted);
+  cmExpandedCommandArgument(std::string value, bool quoted);
 
   std::string const& GetValue() const;
 
diff --git a/Source/cmExportSet.h b/Source/cmExportSet.h
index 58ad617..0ef306f 100644
--- a/Source/cmExportSet.h
+++ b/Source/cmExportSet.h
@@ -6,6 +6,7 @@
 #include "cmConfigure.h" // IWYU pragma: keep
 
 #include <string>
+#include <utility>
 #include <vector>
 
 class cmInstallExportGenerator;
@@ -17,8 +18,8 @@ class cmExportSet
 {
 public:
   /// Construct an empty export set named \a name
-  cmExportSet(const std::string& name)
-    : Name(name)
+  cmExportSet(std::string name)
+    : Name(std::move(name))
   {
   }
   /// Destructor
diff --git a/Source/cmExternalMakefileProjectGenerator.cxx 
b/Source/cmExternalMakefileProjectGenerator.cxx
index fecd821..150995f 100644
--- a/Source/cmExternalMakefileProjectGenerator.cxx
+++ b/Source/cmExternalMakefileProjectGenerator.cxx
@@ -2,6 +2,8 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmExternalMakefileProjectGenerator.h"
 
+#include <utility>
+
 class cmMakefile;
 
 void cmExternalMakefileProjectGenerator::EnableLanguage(
@@ -32,10 +34,9 @@ bool cmExternalMakefileProjectGenerator::Open(
 }
 
 cmExternalMakefileProjectGeneratorFactory::
-  cmExternalMakefileProjectGeneratorFactory(const std::string& n,
-                                            const std::string& doc)
-  : Name(n)
-  , Documentation(doc)
+  cmExternalMakefileProjectGeneratorFactory(std::string n, std::string doc)
+  : Name(std::move(n))
+  , Documentation(std::move(doc))
 {
 }
 
diff --git a/Source/cmExternalMakefileProjectGenerator.h 
b/Source/cmExternalMakefileProjectGenerator.h
index d48abca..492987d 100644
--- a/Source/cmExternalMakefileProjectGenerator.h
+++ b/Source/cmExternalMakefileProjectGenerator.h
@@ -70,8 +70,7 @@ protected:
 class cmExternalMakefileProjectGeneratorFactory
 {
 public:
-  cmExternalMakefileProjectGeneratorFactory(const std::string& n,
-                                            const std::string& doc);
+  cmExternalMakefileProjectGeneratorFactory(std::string n, std::string doc);
   virtual ~cmExternalMakefileProjectGeneratorFactory();
 
   std::string GetName() const;
diff --git a/Source/cmFileAPICodemodel.cxx b/Source/cmFileAPICodemodel.cxx
index 078d1d5..3363c9b 100644
--- a/Source/cmFileAPICodemodel.cxx
+++ b/Source/cmFileAPICodemodel.cxx
@@ -166,13 +166,13 @@ class BacktraceData
   }
 
 public:
-  BacktraceData(std::string const& topSource);
+  BacktraceData(std::string topSource);
   bool Add(cmListFileBacktrace const& bt, Json::ArrayIndex& index);
   Json::Value Dump();
 };
 
-BacktraceData::BacktraceData(std::string const& topSource)
-  : TopSource(topSource)
+BacktraceData::BacktraceData(std::string topSource)
+  : TopSource(std::move(topSource))
 {
 }
 
diff --git a/Source/cmFindPackageCommand.cxx b/Source/cmFindPackageCommand.cxx
index 9ae1cb9..2fc190c 100644
--- a/Source/cmFindPackageCommand.cxx
+++ b/Source/cmFindPackageCommand.cxx
@@ -1760,8 +1760,8 @@ bool cmFileListGeneratorBase::Consider(std::string const& 
fullPath,
 class cmFileListGeneratorFixed : public cmFileListGeneratorBase
 {
 public:
-  cmFileListGeneratorFixed(std::string const& str)
-    : String(str)
+  cmFileListGeneratorFixed(std::string str)
+    : String(std::move(str))
   {
   }
   cmFileListGeneratorFixed(cmFileListGeneratorFixed const& r)
@@ -1940,8 +1940,8 @@ private:
 class cmFileListGeneratorCaseInsensitive : public cmFileListGeneratorBase
 {
 public:
-  cmFileListGeneratorCaseInsensitive(std::string const& str)
-    : String(str)
+  cmFileListGeneratorCaseInsensitive(std::string str)
+    : String(std::move(str))
   {
   }
   cmFileListGeneratorCaseInsensitive(
@@ -1982,8 +1982,8 @@ private:
 class cmFileListGeneratorGlob : public cmFileListGeneratorBase
 {
 public:
-  cmFileListGeneratorGlob(std::string const& str)
-    : Pattern(str)
+  cmFileListGeneratorGlob(std::string str)
+    : Pattern(std::move(str))
   {
   }
   cmFileListGeneratorGlob(cmFileListGeneratorGlob const& r)
diff --git a/Source/cmFortranParser.h b/Source/cmFortranParser.h
index 132b3e6..8d4c90b 100644
--- a/Source/cmFortranParser.h
+++ b/Source/cmFortranParser.h
@@ -8,6 +8,7 @@
 
 #  include <set>
 #  include <string>
+#  include <utility>
 #  include <vector>
 #endif
 
@@ -114,10 +115,10 @@ int cmFortran_yyparse(yyscan_t);
 // Define parser object internal structure.
 struct cmFortranFile
 {
-  cmFortranFile(FILE* file, YY_BUFFER_STATE buffer, const std::string& dir)
+  cmFortranFile(FILE* file, YY_BUFFER_STATE buffer, std::string dir)
     : File(file)
     , Buffer(buffer)
-    , Directory(dir)
+    , Directory(std::move(dir))
     , LastCharWasNewline(false)
   {
   }
@@ -129,9 +130,8 @@ struct cmFortranFile
 
 struct cmFortranParser_s
 {
-  cmFortranParser_s(std::vector<std::string> const& includes,
-                    std::set<std::string> const& defines,
-                    cmFortranSourceInfo& info);
+  cmFortranParser_s(std::vector<std::string> includes,
+                    std::set<std::string> defines, cmFortranSourceInfo& info);
   ~cmFortranParser_s();
 
   bool FindIncludeFile(const char* dir, const char* includeName,
diff --git a/Source/cmFortranParserImpl.cxx b/Source/cmFortranParserImpl.cxx
index 01cbb78..45481a4 100644
--- a/Source/cmFortranParserImpl.cxx
+++ b/Source/cmFortranParserImpl.cxx
@@ -8,6 +8,7 @@
 #include <stack>
 #include <stdio.h>
 #include <string>
+#include <utility>
 #include <vector>
 
 bool cmFortranParser_s::FindIncludeFile(const char* dir,
@@ -42,11 +43,11 @@ bool cmFortranParser_s::FindIncludeFile(const char* dir,
   return false;
 }
 
-cmFortranParser_s::cmFortranParser_s(std::vector<std::string> const& includes,
-                                     std::set<std::string> const& defines,
+cmFortranParser_s::cmFortranParser_s(std::vector<std::string> includes,
+                                     std::set<std::string> defines,
                                      cmFortranSourceInfo& info)
-  : IncludePath(includes)
-  , PPDefinitions(defines)
+  : IncludePath(std::move(includes))
+  , PPDefinitions(std::move(defines))
   , Info(info)
 {
   this->InInterface = false;
diff --git a/Source/cmGeneratorExpression.cxx b/Source/cmGeneratorExpression.cxx
index 96d4ad6..f3f9771 100644
--- a/Source/cmGeneratorExpression.cxx
+++ b/Source/cmGeneratorExpression.cxx
@@ -15,9 +15,8 @@
 #include "cmGeneratorExpressionParser.h"
 #include "cmSystemTools.h"
 
-cmGeneratorExpression::cmGeneratorExpression(
-  const cmListFileBacktrace& backtrace)
-  : Backtrace(backtrace)
+cmGeneratorExpression::cmGeneratorExpression(cmListFileBacktrace backtrace)
+  : Backtrace(std::move(backtrace))
 {
 }
 
@@ -96,9 +95,9 @@ const std::string& 
cmCompiledGeneratorExpression::EvaluateWithContext(
 }
 
 cmCompiledGeneratorExpression::cmCompiledGeneratorExpression(
-  cmListFileBacktrace const& backtrace, const std::string& input)
-  : Backtrace(backtrace)
-  , Input(input)
+  cmListFileBacktrace backtrace, std::string input)
+  : Backtrace(std::move(backtrace))
+  , Input(std::move(input))
   , HadContextSensitiveCondition(false)
   , HadHeadSensitiveCondition(false)
   , EvaluateForBuildsystem(false)
diff --git a/Source/cmGeneratorExpression.h b/Source/cmGeneratorExpression.h
index 9c05f60..e5463a7 100644
--- a/Source/cmGeneratorExpression.h
+++ b/Source/cmGeneratorExpression.h
@@ -11,6 +11,7 @@
 #include <memory> // IWYU pragma: keep
 #include <set>
 #include <string>
+#include <utility>
 #include <vector>
 
 class cmCompiledGeneratorExpression;
@@ -35,8 +36,7 @@ class cmGeneratorExpression
 
 public:
   /** Construct. */
-  cmGeneratorExpression(
-    cmListFileBacktrace const& backtrace = cmListFileBacktrace());
+  cmGeneratorExpression(cmListFileBacktrace backtrace = cmListFileBacktrace());
   ~cmGeneratorExpression();
 
   std::unique_ptr<cmCompiledGeneratorExpression> Parse(
@@ -140,8 +140,8 @@ private:
     cmGeneratorExpressionContext& context,
     cmGeneratorExpressionDAGChecker* dagChecker) const;
 
-  cmCompiledGeneratorExpression(cmListFileBacktrace const& backtrace,
-                                const std::string& input);
+  cmCompiledGeneratorExpression(cmListFileBacktrace backtrace,
+                                std::string input);
 
   friend class cmGeneratorExpression;
 
@@ -169,13 +169,13 @@ class cmGeneratorExpressionInterpreter
 
 public:
   cmGeneratorExpressionInterpreter(cmLocalGenerator* localGenerator,
-                                   std::string const& config,
+                                   std::string config,
                                    cmGeneratorTarget const* headTarget,
-                                   std::string const& lang = std::string())
+                                   std::string lang = std::string())
     : LocalGenerator(localGenerator)
-    , Config(config)
+    , Config(std::move(config))
     , HeadTarget(headTarget)
-    , Language(lang)
+    , Language(std::move(lang))
   {
   }
 
diff --git a/Source/cmGeneratorExpressionContext.cxx 
b/Source/cmGeneratorExpressionContext.cxx
index a6dde5d..6d97331 100644
--- a/Source/cmGeneratorExpressionContext.cxx
+++ b/Source/cmGeneratorExpressionContext.cxx
@@ -2,15 +2,17 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmGeneratorExpressionContext.h"
 
+#include <utility>
+
 cmGeneratorExpressionContext::cmGeneratorExpressionContext(
-  cmLocalGenerator* lg, std::string const& config, bool quiet,
+  cmLocalGenerator* lg, std::string config, bool quiet,
   cmGeneratorTarget const* headTarget, const cmGeneratorTarget* currentTarget,
-  bool evaluateForBuildsystem, cmListFileBacktrace const& backtrace,
-  std::string const& language)
-  : Backtrace(backtrace)
+  bool evaluateForBuildsystem, cmListFileBacktrace backtrace,
+  std::string language)
+  : Backtrace(std::move(backtrace))
   , LG(lg)
-  , Config(config)
-  , Language(language)
+  , Config(std::move(config))
+  , Language(std::move(language))
   , HeadTarget(headTarget)
   , CurrentTarget(currentTarget)
   , Quiet(quiet)
diff --git a/Source/cmGeneratorExpressionContext.h 
b/Source/cmGeneratorExpressionContext.h
index 5b0123e..6e076bf 100644
--- a/Source/cmGeneratorExpressionContext.h
+++ b/Source/cmGeneratorExpressionContext.h
@@ -14,12 +14,12 @@ class cmLocalGenerator;
 
 struct cmGeneratorExpressionContext
 {
-  cmGeneratorExpressionContext(cmLocalGenerator* lg, std::string const& config,
+  cmGeneratorExpressionContext(cmLocalGenerator* lg, std::string config,
                                bool quiet, const cmGeneratorTarget* headTarget,
                                cmGeneratorTarget const* currentTarget,
                                bool evaluateForBuildsystem,
-                               cmListFileBacktrace const& backtrace,
-                               std::string const& language);
+                               cmListFileBacktrace backtrace,
+                               std::string language);
 
   cmListFileBacktrace Backtrace;
   std::set<cmGeneratorTarget*> DependTargets;
diff --git a/Source/cmGeneratorExpressionDAGChecker.cxx 
b/Source/cmGeneratorExpressionDAGChecker.cxx
index 61b798b..0f26e70 100644
--- a/Source/cmGeneratorExpressionDAGChecker.cxx
+++ b/Source/cmGeneratorExpressionDAGChecker.cxx
@@ -15,26 +15,26 @@
 #include <utility>
 
 cmGeneratorExpressionDAGChecker::cmGeneratorExpressionDAGChecker(
-  const cmListFileBacktrace& backtrace, cmGeneratorTarget const* target,
-  const std::string& property, const GeneratorExpressionContent* content,
+  cmListFileBacktrace backtrace, cmGeneratorTarget const* target,
+  std::string property, const GeneratorExpressionContent* content,
   cmGeneratorExpressionDAGChecker* parent)
   : Parent(parent)
   , Target(target)
-  , Property(property)
+  , Property(std::move(property))
   , Content(content)
-  , Backtrace(backtrace)
+  , Backtrace(std::move(backtrace))
   , TransitivePropertiesOnly(false)
 {
   Initialize();
 }
 
 cmGeneratorExpressionDAGChecker::cmGeneratorExpressionDAGChecker(
-  cmGeneratorTarget const* target, const std::string& property,
+  cmGeneratorTarget const* target, std::string property,
   const GeneratorExpressionContent* content,
   cmGeneratorExpressionDAGChecker* parent)
   : Parent(parent)
   , Target(target)
-  , Property(property)
+  , Property(std::move(property))
   , Content(content)
   , Backtrace()
   , TransitivePropertiesOnly(false)
diff --git a/Source/cmGeneratorExpressionDAGChecker.h 
b/Source/cmGeneratorExpressionDAGChecker.h
index 1525c39..e1fba5e 100644
--- a/Source/cmGeneratorExpressionDAGChecker.h
+++ b/Source/cmGeneratorExpressionDAGChecker.h
@@ -42,13 +42,13 @@ class cmGeneratorTarget;
 
 struct cmGeneratorExpressionDAGChecker
 {
-  cmGeneratorExpressionDAGChecker(const cmListFileBacktrace& backtrace,
+  cmGeneratorExpressionDAGChecker(cmListFileBacktrace backtrace,
                                   cmGeneratorTarget const* target,
-                                  const std::string& property,
+                                  std::string property,
                                   const GeneratorExpressionContent* content,
                                   cmGeneratorExpressionDAGChecker* parent);
   cmGeneratorExpressionDAGChecker(cmGeneratorTarget const* target,
-                                  const std::string& property,
+                                  std::string property,
                                   const GeneratorExpressionContent* content,
                                   cmGeneratorExpressionDAGChecker* parent);
 
diff --git a/Source/cmGeneratorExpressionEvaluationFile.cxx 
b/Source/cmGeneratorExpressionEvaluationFile.cxx
index 1c33a6e..326cb0e 100644
--- a/Source/cmGeneratorExpressionEvaluationFile.cxx
+++ b/Source/cmGeneratorExpressionEvaluationFile.cxx
@@ -18,11 +18,11 @@
 #include "cmSystemTools.h"
 
 cmGeneratorExpressionEvaluationFile::cmGeneratorExpressionEvaluationFile(
-  const std::string& input,
+  std::string input,
   std::unique_ptr<cmCompiledGeneratorExpression> outputFileExpr,
   std::unique_ptr<cmCompiledGeneratorExpression> condition,
   bool inputIsContent, cmPolicies::PolicyStatus policyStatusCMP0070)
-  : Input(input)
+  : Input(std::move(input))
   , OutputFileExpr(std::move(outputFileExpr))
   , Condition(std::move(condition))
   , InputIsContent(inputIsContent)
diff --git a/Source/cmGeneratorExpressionEvaluationFile.h 
b/Source/cmGeneratorExpressionEvaluationFile.h
index 2a79069..89a2390 100644
--- a/Source/cmGeneratorExpressionEvaluationFile.h
+++ b/Source/cmGeneratorExpressionEvaluationFile.h
@@ -20,7 +20,7 @@ class cmGeneratorExpressionEvaluationFile
 {
 public:
   cmGeneratorExpressionEvaluationFile(
-    const std::string& input,
+    std::string input,
     std::unique_ptr<cmCompiledGeneratorExpression> outputFileExpr,
     std::unique_ptr<cmCompiledGeneratorExpression> condition,
     bool inputIsContent, cmPolicies::PolicyStatus policyStatusCMP0070);
diff --git a/Source/cmGeneratorExpressionParser.cxx 
b/Source/cmGeneratorExpressionParser.cxx
index 489970c..949a86d 100644
--- a/Source/cmGeneratorExpressionParser.cxx
+++ b/Source/cmGeneratorExpressionParser.cxx
@@ -9,8 +9,8 @@
 #include <utility>
 
 cmGeneratorExpressionParser::cmGeneratorExpressionParser(
-  const std::vector<cmGeneratorExpressionToken>& tokens)
-  : Tokens(tokens)
+  std::vector<cmGeneratorExpressionToken> tokens)
+  : Tokens(std::move(tokens))
   , NestingLevel(0)
 {
 }
diff --git a/Source/cmGeneratorExpressionParser.h 
b/Source/cmGeneratorExpressionParser.h
index 633381c..e663496 100644
--- a/Source/cmGeneratorExpressionParser.h
+++ b/Source/cmGeneratorExpressionParser.h
@@ -13,8 +13,7 @@ struct cmGeneratorExpressionEvaluator;
 
 struct cmGeneratorExpressionParser
 {
-  cmGeneratorExpressionParser(
-    const std::vector<cmGeneratorExpressionToken>& tokens);
+  cmGeneratorExpressionParser(std::vector<cmGeneratorExpressionToken> tokens);
 
   void Parse(std::vector<cmGeneratorExpressionEvaluator*>& result);
 
diff --git a/Source/cmGeneratorTarget.cxx b/Source/cmGeneratorTarget.cxx
index eb3d4af..0e3ace3 100644
--- a/Source/cmGeneratorTarget.cxx
+++ b/Source/cmGeneratorTarget.cxx
@@ -14,6 +14,7 @@
 #include <stdlib.h>
 #include <string.h>
 #include <unordered_set>
+#include <utility>
 
 #include "cmAlgorithms.h"
 #include "cmComputeLinkInformation.h"
@@ -1805,10 +1806,10 @@ class cmTargetCollectLinkLanguages
 {
 public:
   cmTargetCollectLinkLanguages(cmGeneratorTarget const* target,
-                               const std::string& config,
+                               std::string config,
                                std::unordered_set<std::string>& languages,
                                cmGeneratorTarget const* head)
-    : Config(config)
+    : Config(std::move(config))
     , Languages(languages)
     , HeadTarget(head)
     , Target(target)
diff --git a/Source/cmGlobVerificationManager.h 
b/Source/cmGlobVerificationManager.h
index cdbd275..c293a76 100644
--- a/Source/cmGlobVerificationManager.h
+++ b/Source/cmGlobVerificationManager.h
@@ -55,13 +55,13 @@ private:
     const bool FollowSymlinks;
     const std::string Relative;
     const std::string Expression;
-    CacheEntryKey(const bool rec, const bool l, const bool s,
-                  const std::string& rel, const std::string& e)
+    CacheEntryKey(const bool rec, const bool l, const bool s, std::string rel,
+                  std::string e)
       : Recurse(rec)
       , ListDirectories(l)
       , FollowSymlinks(s)
-      , Relative(rel)
-      , Expression(e)
+      , Relative(std::move(rel))
+      , Expression(std::move(e))
     {
     }
     bool operator<(const CacheEntryKey& r) const;
diff --git a/Source/cmGraphAdjacencyList.h b/Source/cmGraphAdjacencyList.h
index fb2eee2..5ca9269 100644
--- a/Source/cmGraphAdjacencyList.h
+++ b/Source/cmGraphAdjacencyList.h
@@ -7,6 +7,7 @@
 
 #include "cmListFileCache.h"
 
+#include <utility>
 #include <vector>
 
 /**
@@ -17,10 +18,10 @@
 class cmGraphEdge
 {
 public:
-  cmGraphEdge(int n, bool s, cmListFileBacktrace const& bt)
+  cmGraphEdge(int n, bool s, cmListFileBacktrace bt)
     : Dest(n)
     , Strong(s)
-    , Backtrace(bt)
+    , Backtrace(std::move(bt))
   {
   }
   operator int() const { return this->Dest; }
diff --git a/Source/cmInstallCommandArguments.cxx 
b/Source/cmInstallCommandArguments.cxx
index 538aa9f..4f872f4 100644
--- a/Source/cmInstallCommandArguments.cxx
+++ b/Source/cmInstallCommandArguments.cxx
@@ -16,7 +16,7 @@ const char* cmInstallCommandArguments::PermissionsTable[] = {
 const std::string cmInstallCommandArguments::EmptyString;
 
 cmInstallCommandArguments::cmInstallCommandArguments(
-  const std::string& defaultComponent)
+  std::string defaultComponent)
   : Destination(&Parser, "DESTINATION", &ArgumentGroup)
   , Component(&Parser, "COMPONENT", &ArgumentGroup)
   , NamelinkComponent(&Parser, "NAMELINK_COMPONENT", &ArgumentGroup)
@@ -29,7 +29,7 @@ cmInstallCommandArguments::cmInstallCommandArguments(
   , NamelinkSkip(&Parser, "NAMELINK_SKIP", &ArgumentGroup)
   , Type(&Parser, "TYPE", &ArgumentGroup)
   , GenericArguments(nullptr)
-  , DefaultComponentName(defaultComponent)
+  , DefaultComponentName(std::move(defaultComponent))
 {
 }
 
diff --git a/Source/cmInstallCommandArguments.h 
b/Source/cmInstallCommandArguments.h
index 425e58a..8e974af 100644
--- a/Source/cmInstallCommandArguments.h
+++ b/Source/cmInstallCommandArguments.h
@@ -13,7 +13,7 @@
 class cmInstallCommandArguments
 {
 public:
-  cmInstallCommandArguments(const std::string& defaultComponent);
+  cmInstallCommandArguments(std::string defaultComponent);
   void SetGenericArguments(cmInstallCommandArguments* args)
   {
     this->GenericArguments = args;
diff --git a/Source/cmInstallTargetGenerator.cxx 
b/Source/cmInstallTargetGenerator.cxx
index 86c6a58..08f46aa 100644
--- a/Source/cmInstallTargetGenerator.cxx
+++ b/Source/cmInstallTargetGenerator.cxx
@@ -22,18 +22,18 @@
 #include "cmake.h"
 
 cmInstallTargetGenerator::cmInstallTargetGenerator(
-  const std::string& targetName, const char* dest, bool implib,
+  std::string targetName, const char* dest, bool implib,
   const char* file_permissions, std::vector<std::string> const& configurations,
   const char* component, MessageLevel message, bool exclude_from_all,
-  bool optional, cmListFileBacktrace const& backtrace)
+  bool optional, cmListFileBacktrace backtrace)
   : cmInstallGenerator(dest, configurations, component, message,
                        exclude_from_all)
-  , TargetName(targetName)
+  , TargetName(std::move(targetName))
   , Target(nullptr)
   , FilePermissions(file_permissions)
   , ImportLibrary(implib)
   , Optional(optional)
-  , Backtrace(backtrace)
+  , Backtrace(std::move(backtrace))
 {
   this->ActionsPerConfig = true;
   this->NamelinkMode = NamelinkModeNone;
diff --git a/Source/cmInstallTargetGenerator.h 
b/Source/cmInstallTargetGenerator.h
index bf625d1..715b4ae 100644
--- a/Source/cmInstallTargetGenerator.h
+++ b/Source/cmInstallTargetGenerator.h
@@ -23,11 +23,11 @@ class cmInstallTargetGenerator : public cmInstallGenerator
 {
 public:
   cmInstallTargetGenerator(
-    std::string const& targetName, const char* dest, bool implib,
+    std::string targetName, const char* dest, bool implib,
     const char* file_permissions,
     std::vector<std::string> const& configurations, const char* component,
     MessageLevel message, bool exclude_from_all, bool optional,
-    cmListFileBacktrace const& backtrace = cmListFileBacktrace());
+    cmListFileBacktrace backtrace = cmListFileBacktrace());
   ~cmInstallTargetGenerator() override;
 
   /** Select the policy for installing shared library linkable name
diff --git a/Source/cmLinkItem.cxx b/Source/cmLinkItem.cxx
index 12a07f6..b035c8c 100644
--- a/Source/cmLinkItem.cxx
+++ b/Source/cmLinkItem.cxx
@@ -10,16 +10,15 @@ cmLinkItem::cmLinkItem()
 {
 }
 
-cmLinkItem::cmLinkItem(std::string const& n, cmListFileBacktrace const& bt)
-  : String(n)
-  , Backtrace(bt)
+cmLinkItem::cmLinkItem(std::string n, cmListFileBacktrace bt)
+  : String(std::move(n))
+  , Backtrace(std::move(bt))
 {
 }
 
-cmLinkItem::cmLinkItem(cmGeneratorTarget const* t,
-                       cmListFileBacktrace const& bt)
+cmLinkItem::cmLinkItem(cmGeneratorTarget const* t, cmListFileBacktrace bt)
   : Target(t)
-  , Backtrace(bt)
+  , Backtrace(std::move(bt))
 {
 }
 
diff --git a/Source/cmLinkItem.h b/Source/cmLinkItem.h
index b841509..d2459db 100644
--- a/Source/cmLinkItem.h
+++ b/Source/cmLinkItem.h
@@ -24,8 +24,8 @@ class cmLinkItem
 
 public:
   cmLinkItem();
-  cmLinkItem(std::string const& s, cmListFileBacktrace const& bt);
-  cmLinkItem(cmGeneratorTarget const* t, cmListFileBacktrace const& bt);
+  cmLinkItem(std::string s, cmListFileBacktrace bt);
+  cmLinkItem(cmGeneratorTarget const* t, cmListFileBacktrace bt);
   std::string const& AsStr() const;
   cmGeneratorTarget const* Target = nullptr;
   cmListFileBacktrace Backtrace;
diff --git a/Source/cmListCommand.cxx b/Source/cmListCommand.cxx
index b826795..05b22cf 100644
--- a/Source/cmListCommand.cxx
+++ b/Source/cmListCommand.cxx
@@ -659,15 +659,14 @@ bool cmListCommand::HandleTransformCommand(
   // Transform: lambda function implementing the action
   struct ActionDescriptor
   {
-    ActionDescriptor(const std::string& name)
-      : Name(name)
+    ActionDescriptor(std::string name)
+      : Name(std::move(name))
     {
     }
-    ActionDescriptor(const std::string& name, int arity,
-                     const transform_type& transform)
-      : Name(name)
+    ActionDescriptor(std::string name, int arity, transform_type transform)
+      : Name(std::move(name))
       , Arity(arity)
-      , Transform(transform)
+      , Transform(std::move(transform))
     {
     }
 
diff --git a/Source/cmListFileCache.cxx b/Source/cmListFileCache.cxx
index 9aa1f32..ff793f6 100644
--- a/Source/cmListFileCache.cxx
+++ b/Source/cmListFileCache.cxx
@@ -24,7 +24,7 @@ cmCommandContext::cmCommandName& 
cmCommandContext::cmCommandName::operator=(
 
 struct cmListFileParser
 {
-  cmListFileParser(cmListFile* lf, cmListFileBacktrace const& lfbt,
+  cmListFileParser(cmListFile* lf, cmListFileBacktrace lfbt,
                    cmMessenger* messenger, const char* filename);
   ~cmListFileParser();
   void IssueFileOpenError(std::string const& text) const;
@@ -47,12 +47,11 @@ struct cmListFileParser
   } Separation;
 };
 
-cmListFileParser::cmListFileParser(cmListFile* lf,
-                                   cmListFileBacktrace const& lfbt,
+cmListFileParser::cmListFileParser(cmListFile* lf, cmListFileBacktrace lfbt,
                                    cmMessenger* messenger,
                                    const char* filename)
   : ListFile(lf)
-  , Backtrace(lfbt)
+  , Backtrace(std::move(lfbt))
   , Messenger(messenger)
   , FileName(filename)
   , Lexer(cmListFileLexer_New())
diff --git a/Source/cmListFileCache.h b/Source/cmListFileCache.h
index 4a247ba..529c389 100644
--- a/Source/cmListFileCache.h
+++ b/Source/cmListFileCache.h
@@ -51,8 +51,8 @@ struct cmListFileArgument
     Bracket
   };
   cmListFileArgument() {}
-  cmListFileArgument(const std::string& v, Delimiter d, long line)
-    : Value(v)
+  cmListFileArgument(std::string v, Delimiter d, long line)
+    : Value(std::move(v))
     , Delim(d)
     , Line(line)
   {
diff --git a/Source/cmLocalCommonGenerator.cxx 
b/Source/cmLocalCommonGenerator.cxx
index 7ce2c82..c6d2c58 100644
--- a/Source/cmLocalCommonGenerator.cxx
+++ b/Source/cmLocalCommonGenerator.cxx
@@ -12,10 +12,9 @@
 class cmGlobalGenerator;
 
 cmLocalCommonGenerator::cmLocalCommonGenerator(cmGlobalGenerator* gg,
-                                               cmMakefile* mf,
-                                               std::string const& wd)
+                                               cmMakefile* mf, std::string wd)
   : cmLocalGenerator(gg, mf)
-  , WorkingDirectory(wd)
+  , WorkingDirectory(std::move(wd))
 {
   // Store the configuration name that will be generated.
   if (const char* config = this->Makefile->GetDefinition("CMAKE_BUILD_TYPE")) {
diff --git a/Source/cmLocalCommonGenerator.h b/Source/cmLocalCommonGenerator.h
index 7b8e6fe..abebbc2 100644
--- a/Source/cmLocalCommonGenerator.h
+++ b/Source/cmLocalCommonGenerator.h
@@ -22,7 +22,7 @@ class cmLocalCommonGenerator : public cmLocalGenerator
 {
 public:
   cmLocalCommonGenerator(cmGlobalGenerator* gg, cmMakefile* mf,
-                         std::string const& wd);
+                         std::string wd);
   ~cmLocalCommonGenerator() override;
 
   std::string const& GetConfigName() { return this->ConfigName; }
diff --git a/Source/cmLocalUnixMakefileGenerator3.cxx 
b/Source/cmLocalUnixMakefileGenerator3.cxx
index 5b9d108..c50dcb7 100644
--- a/Source/cmLocalUnixMakefileGenerator3.cxx
+++ b/Source/cmLocalUnixMakefileGenerator3.cxx
@@ -1733,9 +1733,9 @@ class NotInProjectDir
 {
 public:
   // Constructor with the source and binary directory's path
-  NotInProjectDir(const std::string& sourceDir, const std::string& binaryDir)
-    : SourceDir(sourceDir)
-    , BinaryDir(binaryDir)
+  NotInProjectDir(std::string sourceDir, std::string binaryDir)
+    : SourceDir(std::move(sourceDir))
+    , BinaryDir(std::move(binaryDir))
   {
   }
 
diff --git a/Source/cmLocalUnixMakefileGenerator3.h 
b/Source/cmLocalUnixMakefileGenerator3.h
index c0d0e13..5268e6b 100644
--- a/Source/cmLocalUnixMakefileGenerator3.h
+++ b/Source/cmLocalUnixMakefileGenerator3.h
@@ -12,6 +12,7 @@
 #include <map>
 #include <set>
 #include <string>
+#include <utility>
 #include <vector>
 
 class cmCustomCommand;
@@ -267,9 +268,9 @@ private:
     cmGeneratorTarget* Target = nullptr;
     std::string Language;
     LocalObjectEntry() {}
-    LocalObjectEntry(cmGeneratorTarget* t, const std::string& lang)
+    LocalObjectEntry(cmGeneratorTarget* t, std::string lang)
       : Target(t)
-      , Language(lang)
+      , Language(std::move(lang))
     {
     }
   };
diff --git a/Source/cmOSXBundleGenerator.cxx b/Source/cmOSXBundleGenerator.cxx
index 2b96785..6857d5a 100644
--- a/Source/cmOSXBundleGenerator.cxx
+++ b/Source/cmOSXBundleGenerator.cxx
@@ -10,15 +10,16 @@
 #include "cmTarget.h"
 
 #include <cassert>
+#include <utility>
 
 class cmSourceFile;
 
 cmOSXBundleGenerator::cmOSXBundleGenerator(cmGeneratorTarget* target,
-                                           const std::string& configName)
+                                           std::string configName)
   : GT(target)
   , Makefile(target->Target->GetMakefile())
   , LocalGenerator(target->GetLocalGenerator())
-  , ConfigName(configName)
+  , ConfigName(std::move(configName))
   , MacContentFolders(nullptr)
 {
   if (this->MustSkip()) {
diff --git a/Source/cmOSXBundleGenerator.h b/Source/cmOSXBundleGenerator.h
index be7e932..ba5bee0 100644
--- a/Source/cmOSXBundleGenerator.h
+++ b/Source/cmOSXBundleGenerator.h
@@ -17,8 +17,7 @@ class cmSourceFile;
 class cmOSXBundleGenerator
 {
 public:
-  cmOSXBundleGenerator(cmGeneratorTarget* target,
-                       const std::string& configName);
+  cmOSXBundleGenerator(cmGeneratorTarget* target, std::string configName);
 
   // create an app bundle at a given root, and return
   // the directory within the bundle that contains the executable
diff --git a/Source/cmPathLabel.cxx b/Source/cmPathLabel.cxx
index 4793206..fb81351 100644
--- a/Source/cmPathLabel.cxx
+++ b/Source/cmPathLabel.cxx
@@ -2,8 +2,10 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmPathLabel.h"
 
-cmPathLabel::cmPathLabel(const std::string& label)
-  : Label(label)
+#include <utility>
+
+cmPathLabel::cmPathLabel(std::string label)
+  : Label(std::move(label))
   , Hash(0)
 {
   // Use a Jenkins one-at-a-time hash with under/over-flow protection
diff --git a/Source/cmPathLabel.h b/Source/cmPathLabel.h
index 97551fb..55dffab 100644
--- a/Source/cmPathLabel.h
+++ b/Source/cmPathLabel.h
@@ -17,7 +17,7 @@
 class cmPathLabel
 {
 public:
-  cmPathLabel(const std::string& label);
+  cmPathLabel(std::string label);
 
   // The comparison operators are only for quick sorting and searching and
   // in no way imply any lexicographical order of the label
diff --git a/Source/cmPipeConnection.cxx b/Source/cmPipeConnection.cxx
index 999d6f3..1eede13 100644
--- a/Source/cmPipeConnection.cxx
+++ b/Source/cmPipeConnection.cxx
@@ -6,10 +6,10 @@
 
 #include "cmServer.h"
 
-cmPipeConnection::cmPipeConnection(const std::string& name,
+cmPipeConnection::cmPipeConnection(std::string name,
                                    cmConnectionBufferStrategy* bufferStrategy)
   : cmEventBasedConnection(bufferStrategy)
-  , PipeName(name)
+  , PipeName(std::move(name))
 {
 }
 
diff --git a/Source/cmPipeConnection.h b/Source/cmPipeConnection.h
index 49f9fdf..e67f15c 100644
--- a/Source/cmPipeConnection.h
+++ b/Source/cmPipeConnection.h
@@ -13,7 +13,7 @@
 class cmPipeConnection : public cmEventBasedConnection
 {
 public:
-  cmPipeConnection(const std::string& name,
+  cmPipeConnection(std::string name,
                    cmConnectionBufferStrategy* bufferStrategy = nullptr);
 
   bool OnServeStart(std::string* pString) override;
diff --git a/Source/cmQtAutoGeneratorMocUic.h b/Source/cmQtAutoGeneratorMocUic.h
index 9ec1def..0df2cff 100644
--- a/Source/cmQtAutoGeneratorMocUic.h
+++ b/Source/cmQtAutoGeneratorMocUic.h
@@ -49,8 +49,8 @@ public:
     {
     }
 
-    KeyExpT(std::string const& key, std::string const& exp)
-      : Key(key)
+    KeyExpT(std::string key, std::string const& exp)
+      : Key(std::move(key))
       , Exp(exp)
     {
     }
@@ -240,10 +240,10 @@ public:
   class JobMocT : public JobT
   {
   public:
-    JobMocT(std::string&& sourceFile, std::string const& includerFile,
+    JobMocT(std::string&& sourceFile, std::string includerFile,
             std::string&& includeString)
       : SourceFile(std::move(sourceFile))
-      , IncluderFile(includerFile)
+      , IncluderFile(std::move(includerFile))
       , IncludeString(std::move(includeString))
     {
     }
@@ -269,10 +269,10 @@ public:
   class JobUicT : public JobT
   {
   public:
-    JobUicT(std::string&& sourceFile, std::string const& includerFile,
+    JobUicT(std::string&& sourceFile, std::string includerFile,
             std::string&& includeString)
       : SourceFile(std::move(sourceFile))
-      , IncluderFile(includerFile)
+      , IncluderFile(std::move(includerFile))
       , IncludeString(std::move(includeString))
     {
     }
diff --git a/Source/cmRST.cxx b/Source/cmRST.cxx
index 2866a39..55204d7 100644
--- a/Source/cmRST.cxx
+++ b/Source/cmRST.cxx
@@ -13,9 +13,9 @@
 #include <stddef.h>
 #include <utility>
 
-cmRST::cmRST(std::ostream& os, std::string const& docroot)
+cmRST::cmRST(std::ostream& os, std::string docroot)
   : OS(os)
-  , DocRoot(docroot)
+  , DocRoot(std::move(docroot))
   , IncludeDepth(0)
   , OutputLinePending(false)
   , LastLineEndedInColonColon(false)
diff --git a/Source/cmRST.h b/Source/cmRST.h
index ee47867..d8d2a0b 100644
--- a/Source/cmRST.h
+++ b/Source/cmRST.h
@@ -25,7 +25,7 @@
 class cmRST
 {
 public:
-  cmRST(std::ostream& os, std::string const& docroot);
+  cmRST(std::ostream& os, std::string docroot);
   bool ProcessFile(std::string const& fname, bool isModule = false);
 
 private:
diff --git a/Source/cmRulePlaceholderExpander.cxx 
b/Source/cmRulePlaceholderExpander.cxx
index c3e8ff5..e347a2c 100644
--- a/Source/cmRulePlaceholderExpander.cxx
+++ b/Source/cmRulePlaceholderExpander.cxx
@@ -10,13 +10,13 @@
 #include "cmSystemTools.h"
 
 cmRulePlaceholderExpander::cmRulePlaceholderExpander(
-  std::map<std::string, std::string> const& compilers,
-  std::map<std::string, std::string> const& variableMappings,
-  std::string const& compilerSysroot, std::string const& linkerSysroot)
-  : Compilers(compilers)
-  , VariableMappings(variableMappings)
-  , CompilerSysroot(compilerSysroot)
-  , LinkerSysroot(linkerSysroot)
+  std::map<std::string, std::string> compilers,
+  std::map<std::string, std::string> variableMappings,
+  std::string compilerSysroot, std::string linkerSysroot)
+  : Compilers(std::move(compilers))
+  , VariableMappings(std::move(variableMappings))
+  , CompilerSysroot(std::move(compilerSysroot))
+  , LinkerSysroot(std::move(linkerSysroot))
 {
 }
 
diff --git a/Source/cmRulePlaceholderExpander.h 
b/Source/cmRulePlaceholderExpander.h
index 7aa63db..5c03637 100644
--- a/Source/cmRulePlaceholderExpander.h
+++ b/Source/cmRulePlaceholderExpander.h
@@ -15,9 +15,9 @@ class cmRulePlaceholderExpander
 {
 public:
   cmRulePlaceholderExpander(
-    std::map<std::string, std::string> const& compilers,
-    std::map<std::string, std::string> const& variableMappings,
-    std::string const& compilerSysroot, std::string const& linkerSysroot);
+    std::map<std::string, std::string> compilers,
+    std::map<std::string, std::string> variableMappings,
+    std::string compilerSysroot, std::string linkerSysroot);
 
   void SetTargetImpLib(std::string const& targetImpLib)
   {
diff --git a/Source/cmScriptGenerator.cxx b/Source/cmScriptGenerator.cxx
index 2cae714..ae0a158 100644
--- a/Source/cmScriptGenerator.cxx
+++ b/Source/cmScriptGenerator.cxx
@@ -4,11 +4,12 @@
 
 #include "cmSystemTools.h"
 
-cmScriptGenerator::cmScriptGenerator(
-  const std::string& config_var,
-  std::vector<std::string> const& configurations)
-  : RuntimeConfigVariable(config_var)
-  , Configurations(configurations)
+#include <utility>
+
+cmScriptGenerator::cmScriptGenerator(std::string config_var,
+                                     std::vector<std::string> configurations)
+  : RuntimeConfigVariable(std::move(config_var))
+  , Configurations(std::move(configurations))
   , ConfigurationName("")
   , ConfigurationTypes(nullptr)
   , ActionsPerConfig(false)
diff --git a/Source/cmScriptGenerator.h b/Source/cmScriptGenerator.h
index 0bb388e..725cbc6 100644
--- a/Source/cmScriptGenerator.h
+++ b/Source/cmScriptGenerator.h
@@ -47,8 +47,8 @@ class cmScriptGenerator
   CM_DISABLE_COPY(cmScriptGenerator)
 
 public:
-  cmScriptGenerator(const std::string& config_var,
-                    std::vector<std::string> const& configurations);
+  cmScriptGenerator(std::string config_var,
+                    std::vector<std::string> configurations);
   virtual ~cmScriptGenerator();
 
   void Generate(std::ostream& os, const std::string& config,
diff --git a/Source/cmServerProtocol.cxx b/Source/cmServerProtocol.cxx
index 11a3f46..c3c8156 100644
--- a/Source/cmServerProtocol.cxx
+++ b/Source/cmServerProtocol.cxx
@@ -20,6 +20,7 @@
 #include <functional>
 #include <memory>
 #include <string>
+#include <utility>
 #include <vector>
 
 // Get rid of some windows macros:
@@ -39,11 +40,10 @@ std::vector<std::string> toStringList(const Json::Value& in)
 } // namespace
 
 cmServerRequest::cmServerRequest(cmServer* server, cmConnection* connection,
-                                 const std::string& t, const std::string& c,
-                                 const Json::Value& d)
-  : Type(t)
-  , Cookie(c)
-  , Data(d)
+                                 std::string t, std::string c, Json::Value d)
+  : Type(std::move(t))
+  , Cookie(std::move(c))
+  , Data(std::move(d))
   , Connection(connection)
   , m_Server(server)
 {
@@ -707,15 +707,15 @@ cmServerResponse cmServerProtocol1::ProcessCTests(
 }
 
 cmServerProtocol1::GeneratorInformation::GeneratorInformation(
-  const std::string& generatorName, const std::string& extraGeneratorName,
-  const std::string& toolset, const std::string& platform,
-  const std::string& sourceDirectory, const std::string& buildDirectory)
-  : GeneratorName(generatorName)
-  , ExtraGeneratorName(extraGeneratorName)
-  , Toolset(toolset)
-  , Platform(platform)
-  , SourceDirectory(sourceDirectory)
-  , BuildDirectory(buildDirectory)
+  std::string generatorName, std::string extraGeneratorName,
+  std::string toolset, std::string platform, std::string sourceDirectory,
+  std::string buildDirectory)
+  : GeneratorName(std::move(generatorName))
+  , ExtraGeneratorName(std::move(extraGeneratorName))
+  , Toolset(std::move(toolset))
+  , Platform(std::move(platform))
+  , SourceDirectory(std::move(sourceDirectory))
+  , BuildDirectory(std::move(buildDirectory))
 {
 }
 
diff --git a/Source/cmServerProtocol.h b/Source/cmServerProtocol.h
index df71cff..2d1507b 100644
--- a/Source/cmServerProtocol.h
+++ b/Source/cmServerProtocol.h
@@ -56,9 +56,8 @@ public:
   cmConnection* Connection;
 
 private:
-  cmServerRequest(cmServer* server, cmConnection* connection,
-                  const std::string& t, const std::string& c,
-                  const Json::Value& d);
+  cmServerRequest(cmServer* server, cmConnection* connection, std::string t,
+                  std::string c, Json::Value d);
 
   void ReportProgress(int min, int current, int max,
                       const std::string& message) const;
@@ -140,12 +139,10 @@ private:
   {
   public:
     GeneratorInformation() = default;
-    GeneratorInformation(const std::string& generatorName,
-                         const std::string& extraGeneratorName,
-                         const std::string& toolset,
-                         const std::string& platform,
-                         const std::string& sourceDirectory,
-                         const std::string& buildDirectory);
+    GeneratorInformation(std::string generatorName,
+                         std::string extraGeneratorName, std::string toolset,
+                         std::string platform, std::string sourceDirectory,
+                         std::string buildDirectory);
 
     void SetupGenerator(cmake* cm, std::string* errorMessage);
 
diff --git a/Source/cmSourceGroup.cxx b/Source/cmSourceGroup.cxx
index 12ef62b..7e1e836 100644
--- a/Source/cmSourceGroup.cxx
+++ b/Source/cmSourceGroup.cxx
@@ -2,15 +2,17 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmSourceGroup.h"
 
+#include <utility>
+
 class cmSourceGroupInternals
 {
 public:
   std::vector<cmSourceGroup> GroupChildren;
 };
 
-cmSourceGroup::cmSourceGroup(const std::string& name, const char* regex,
+cmSourceGroup::cmSourceGroup(std::string name, const char* regex,
                              const char* parentName)
-  : Name(name)
+  : Name(std::move(name))
 {
   this->Internal = new cmSourceGroupInternals;
   this->SetGroupRegex(regex);
diff --git a/Source/cmSourceGroup.h b/Source/cmSourceGroup.h
index b39f8dd..7c65494 100644
--- a/Source/cmSourceGroup.h
+++ b/Source/cmSourceGroup.h
@@ -26,7 +26,7 @@ class cmSourceGroupInternals;
 class cmSourceGroup
 {
 public:
-  cmSourceGroup(const std::string& name, const char* regex,
+  cmSourceGroup(std::string name, const char* regex,
                 const char* parentName = nullptr);
   cmSourceGroup(cmSourceGroup const& r);
   ~cmSourceGroup();
diff --git a/Source/cmStringReplaceHelper.cxx b/Source/cmStringReplaceHelper.cxx
index f50cf58..4a62987 100644
--- a/Source/cmStringReplaceHelper.cxx
+++ b/Source/cmStringReplaceHelper.cxx
@@ -5,13 +5,14 @@
 
 #include "cmMakefile.h"
 #include <sstream>
+#include <utility>
 
 cmStringReplaceHelper::cmStringReplaceHelper(const std::string& regex,
-                                             const std::string& replace_expr,
+                                             std::string replace_expr,
                                              cmMakefile* makefile)
   : RegExString(regex)
   , RegularExpression(regex)
-  , ReplaceExpression(replace_expr)
+  , ReplaceExpression(std::move(replace_expr))
   , Makefile(makefile)
 {
   this->ParseReplaceExpression();
diff --git a/Source/cmStringReplaceHelper.h b/Source/cmStringReplaceHelper.h
index 3e76d86..5cebde7 100644
--- a/Source/cmStringReplaceHelper.h
+++ b/Source/cmStringReplaceHelper.h
@@ -6,6 +6,7 @@
 #include "cmsys/RegularExpression.hxx"
 
 #include <string>
+#include <utility>
 #include <vector>
 
 class cmMakefile;
@@ -13,8 +14,7 @@ class cmMakefile;
 class cmStringReplaceHelper
 {
 public:
-  cmStringReplaceHelper(const std::string& regex,
-                        const std::string& replace_expr,
+  cmStringReplaceHelper(const std::string& regex, std::string replace_expr,
                         cmMakefile* makefile = nullptr);
 
   bool IsRegularExpressionValid() const
@@ -39,9 +39,9 @@ private:
       , Value(s)
     {
     }
-    RegexReplacement(const std::string& s)
+    RegexReplacement(std::string s)
       : Number(-1)
-      , Value(s)
+      , Value(std::move(s))
     {
     }
     RegexReplacement(int n)
diff --git a/Source/cmUnexpectedCommand.h b/Source/cmUnexpectedCommand.h
index 7154881..33d6bdc 100644
--- a/Source/cmUnexpectedCommand.h
+++ b/Source/cmUnexpectedCommand.h
@@ -6,6 +6,7 @@
 #include "cmConfigure.h" // IWYU pragma: keep
 
 #include <string>
+#include <utility>
 #include <vector>
 
 #include "cmCommand.h"
@@ -15,8 +16,8 @@ class cmExecutionStatus;
 class cmUnexpectedCommand : public cmCommand
 {
 public:
-  cmUnexpectedCommand(std::string const& name, const char* error)
-    : Name(name)
+  cmUnexpectedCommand(std::string name, const char* error)
+    : Name(std::move(name))
     , Error(error)
   {
   }
diff --git a/Source/cmXCodeScheme.cxx b/Source/cmXCodeScheme.cxx
index d301ad0..1b16198 100644
--- a/Source/cmXCodeScheme.cxx
+++ b/Source/cmXCodeScheme.cxx
@@ -5,16 +5,17 @@
 #include <iomanip>
 #include <iostream>
 #include <sstream>
+#include <utility>
 
 #include "cmGeneratedFileStream.h"
 #include "cmGeneratorTarget.h"
 #include "cmXMLSafe.h"
 
-cmXCodeScheme::cmXCodeScheme(cmXCodeObject* xcObj, const TestObjects& tests,
+cmXCodeScheme::cmXCodeScheme(cmXCodeObject* xcObj, TestObjects tests,
                              const std::vector<std::string>& configList,
                              unsigned int xcVersion)
   : Target(xcObj)
-  , Tests(tests)
+  , Tests(std::move(tests))
   , TargetName(xcObj->GetTarget()->GetName())
   , ConfigList(configList)
   , XcodeVersion(xcVersion)
diff --git a/Source/cmXCodeScheme.h b/Source/cmXCodeScheme.h
index 96c76e6..8c47123 100644
--- a/Source/cmXCodeScheme.h
+++ b/Source/cmXCodeScheme.h
@@ -20,7 +20,7 @@ class cmXCodeScheme
 public:
   typedef std::vector<const cmXCodeObject*> TestObjects;
 
-  cmXCodeScheme(cmXCodeObject* xcObj, const TestObjects& tests,
+  cmXCodeScheme(cmXCodeObject* xcObj, TestObjects tests,
                 const std::vector<std::string>& configList,
                 unsigned int xcVersion);
 

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=405d9cb4b5cf9d849facda5dfa6ec02e57f33be7
commit 405d9cb4b5cf9d849facda5dfa6ec02e57f33be7
Merge: bcc9ea2 3068a0d
Author:     Brad King <brad.k...@kitware.com>
AuthorDate: Tue Jan 22 11:29:56 2019 -0500
Commit:     Brad King <brad.k...@kitware.com>
CommitDate: Tue Jan 22 11:29:56 2019 -0500

    Merge branch 'upstream-KWSys' into update-kwsys
    
    * upstream-KWSys:
      KWSys 2019-01-22 (4fecfe6f)


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=3068a0d0dc87a57408c53b23e125b6c6de0c181a
commit 3068a0d0dc87a57408c53b23e125b6c6de0c181a
Author:     KWSys Upstream <kwro...@kitware.com>
AuthorDate: Tue Jan 22 11:29:02 2019 -0500
Commit:     Brad King <brad.k...@kitware.com>
CommitDate: Tue Jan 22 11:29:56 2019 -0500

    KWSys 2019-01-22 (4fecfe6f)
    
    Code extracted from:
    
        https://gitlab.kitware.com/utils/kwsys.git
    
    at commit 4fecfe6f29be07ec165bcc87a20666425d928aa6 (master).
    
    Upstream Shortlog
    -----------------
    
    Brad King (1):
          7a5e5af8 SystemTools: Revert "Fix FileIsSymlink with Windows data 
deduplication"
    
    Tobias Kloss (1):
          ef373416 SystemTools: Fix FileIsSymlink with Windows data 
deduplication
    
    Wouter Klouwen (1):
          8e9970fb SystemInformation: support BSD platforms for GetProcessId

diff --git a/SystemInformation.cxx b/SystemInformation.cxx
index d368fa2..6c12355 100644
--- a/SystemInformation.cxx
+++ b/SystemInformation.cxx
@@ -3871,7 +3871,8 @@ SystemInformation::LongLong 
SystemInformationImplementation::GetProcessId()
 {
 #if defined(_WIN32)
   return GetCurrentProcessId();
-#elif defined(__linux) || defined(__APPLE__)
+#elif defined(__linux) || defined(__APPLE__) || defined(__OpenBSD__) ||       \
+  defined(__FreeBSD__) || defined(__NetBSD__) || defined(__DragonFly__)
   return getpid();
 #else
   return -1;

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=f2fca92686fb360c433d06452700d90dcf62c9fa
commit f2fca92686fb360c433d06452700d90dcf62c9fa
Author:     Robert Maynard <robert.mayn...@kitware.com>
AuthorDate: Thu Jan 17 09:15:09 2019 -0600
Commit:     Brad King <brad.k...@kitware.com>
CommitDate: Tue Jan 22 08:27:04 2019 -0500

    cmake: --build supports '-jN'

diff --git a/Source/cmakemain.cxx b/Source/cmakemain.cxx
index 5a04eab..b5a42ff 100644
--- a/Source/cmakemain.cxx
+++ b/Source/cmakemain.cxx
@@ -360,6 +360,31 @@ int do_cmake(int ac, char const* const* av)
   return 0;
 }
 
+namespace {
+int extract_job_number(int& index, char const* current, char const* next,
+                       int len_of_flag)
+{
+  std::string command(current);
+  std::string jobString = command.substr(len_of_flag);
+  if (jobString.empty() && next && isdigit(next[0])) {
+    ++index; // skip parsing the job number
+    jobString = std::string(next);
+  }
+
+  int jobs = -1;
+  unsigned long numJobs = 0;
+  if (jobString.empty()) {
+    jobs = cmake::DEFAULT_BUILD_PARALLEL_LEVEL;
+  } else if (cmSystemTools::StringToULong(jobString.c_str(), &numJobs)) {
+    jobs = int(numJobs);
+  } else {
+    std::cerr << "'" << command.substr(0, len_of_flag) << "' invalid number '"
+              << jobString << "' given.\n\n";
+  }
+  return jobs;
+}
+}
+
 static int do_build(int ac, char const* const* av)
 {
 #ifndef CMAKE_BUILD_WITH_CMAKE
@@ -377,7 +402,6 @@ static int do_build(int ac, char const* const* av)
   enum Doing
   {
     DoingNone,
-    DoingJobs,
     DoingDir,
     DoingTarget,
     DoingConfig,
@@ -387,12 +411,17 @@ static int do_build(int ac, char const* const* av)
   for (int i = 2; i < ac; ++i) {
     if (doing == DoingNative) {
       nativeOptions.emplace_back(av[i]);
-    } else if ((strcmp(av[i], "-j") == 0) ||
-               (strcmp(av[i], "--parallel") == 0)) {
-      jobs = cmake::DEFAULT_BUILD_PARALLEL_LEVEL;
-      /* does the next argument start with a number? */
-      if ((i + 1 < ac) && (isdigit(*av[i + 1]))) {
-        doing = DoingJobs;
+    } else if (cmHasLiteralPrefix(av[i], "-j")) {
+      const char* nextArg = ((i + 1 < ac) ? av[i + 1] : nullptr);
+      jobs = extract_job_number(i, av[i], nextArg, sizeof("-j") - 1);
+      if (jobs < 0) {
+        dir.clear();
+      }
+    } else if (cmHasLiteralPrefix(av[i], "--parallel")) {
+      const char* nextArg = ((i + 1 < ac) ? av[i + 1] : nullptr);
+      jobs = extract_job_number(i, av[i], nextArg, sizeof("--parallel") - 1);
+      if (jobs < 0) {
+        dir.clear();
       }
     } else if (strcmp(av[i], "--target") == 0) {
       if (!hasTarget) {
@@ -414,18 +443,6 @@ static int do_build(int ac, char const* const* av)
       doing = DoingNative;
     } else {
       switch (doing) {
-        case DoingJobs: {
-          unsigned long numJobs = 0;
-          if (cmSystemTools::StringToULong(av[i], &numJobs)) {
-            jobs = int(numJobs);
-            doing = DoingNone;
-          } else {
-            std::cerr << "'" << av[i - 1] << "' invalid number '" << av[i]
-                      << "' given.\n\n";
-            dir.clear();
-            break;
-          }
-        } break;
         case DoingDir:
           dir = cmSystemTools::CollapseFullPath(av[i]);
           doing = DoingNone;
diff --git 
a/Tests/RunCMake/CommandLine/BuildDir--build--parallel-no-space-bad-number-result.txt
 
b/Tests/RunCMake/CommandLine/BuildDir--build--parallel-no-space-bad-number-result.txt
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ 
b/Tests/RunCMake/CommandLine/BuildDir--build--parallel-no-space-bad-number-result.txt
@@ -0,0 +1 @@
+1
diff --git 
a/Tests/RunCMake/CommandLine/BuildDir--build--parallel-no-space-bad-number-stderr.txt
 
b/Tests/RunCMake/CommandLine/BuildDir--build--parallel-no-space-bad-number-stderr.txt
new file mode 100644
index 0000000..e73d760
--- /dev/null
+++ 
b/Tests/RunCMake/CommandLine/BuildDir--build--parallel-no-space-bad-number-stderr.txt
@@ -0,0 +1,3 @@
+^'--parallel' invalid number '12ab' given\.
++
+Usage: cmake --build <dir> \[options\] \[-- \[native-options\]\]
diff --git 
a/Tests/RunCMake/CommandLine/BuildDir--build--parallel-no-space-good-number-stderr.txt
 
b/Tests/RunCMake/CommandLine/BuildDir--build--parallel-no-space-good-number-stderr.txt
new file mode 100644
index 0000000..3c2c808
--- /dev/null
+++ 
b/Tests/RunCMake/CommandLine/BuildDir--build--parallel-no-space-good-number-stderr.txt
@@ -0,0 +1 @@
+(^$|^Warning: .* does not support parallel builds\. Ignoring parallel build 
command line option\.)
diff --git 
a/Tests/RunCMake/CommandLine/BuildDir--build--parallel-no-space-good-number-trailing--target-stderr.txt
 
b/Tests/RunCMake/CommandLine/BuildDir--build--parallel-no-space-good-number-trailing--target-stderr.txt
new file mode 100644
index 0000000..3c2c808
--- /dev/null
+++ 
b/Tests/RunCMake/CommandLine/BuildDir--build--parallel-no-space-good-number-trailing--target-stderr.txt
@@ -0,0 +1 @@
+(^$|^Warning: .* does not support parallel builds\. Ignoring parallel build 
command line option\.)
diff --git 
a/Tests/RunCMake/CommandLine/BuildDir--build-jobs-no-space-bad-number-result.txt
 
b/Tests/RunCMake/CommandLine/BuildDir--build-jobs-no-space-bad-number-result.txt
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ 
b/Tests/RunCMake/CommandLine/BuildDir--build-jobs-no-space-bad-number-result.txt
@@ -0,0 +1 @@
+1
diff --git 
a/Tests/RunCMake/CommandLine/BuildDir--build-jobs-no-space-bad-number-stderr.txt
 
b/Tests/RunCMake/CommandLine/BuildDir--build-jobs-no-space-bad-number-stderr.txt
new file mode 100644
index 0000000..c810087
--- /dev/null
+++ 
b/Tests/RunCMake/CommandLine/BuildDir--build-jobs-no-space-bad-number-stderr.txt
@@ -0,0 +1,3 @@
+^'-j' invalid number '12ab' given\.
++
+Usage: cmake --build <dir> \[options\] \[-- \[native-options\]\]
diff --git 
a/Tests/RunCMake/CommandLine/BuildDir--build-jobs-no-space-good-number-stderr.txt
 
b/Tests/RunCMake/CommandLine/BuildDir--build-jobs-no-space-good-number-stderr.txt
new file mode 100644
index 0000000..3c2c808
--- /dev/null
+++ 
b/Tests/RunCMake/CommandLine/BuildDir--build-jobs-no-space-good-number-stderr.txt
@@ -0,0 +1 @@
+(^$|^Warning: .* does not support parallel builds\. Ignoring parallel build 
command line option\.)
diff --git 
a/Tests/RunCMake/CommandLine/BuildDir--build-jobs-no-space-good-number-trailing--target-stderr.txt
 
b/Tests/RunCMake/CommandLine/BuildDir--build-jobs-no-space-good-number-trailing--target-stderr.txt
new file mode 100644
index 0000000..3c2c808
--- /dev/null
+++ 
b/Tests/RunCMake/CommandLine/BuildDir--build-jobs-no-space-good-number-trailing--target-stderr.txt
@@ -0,0 +1 @@
+(^$|^Warning: .* does not support parallel builds\. Ignoring parallel build 
command line option\.)
diff --git a/Tests/RunCMake/CommandLine/RunCMakeTest.cmake 
b/Tests/RunCMake/CommandLine/RunCMakeTest.cmake
index 0e04ad1..ff9fcac 100644
--- a/Tests/RunCMake/CommandLine/RunCMakeTest.cmake
+++ b/Tests/RunCMake/CommandLine/RunCMakeTest.cmake
@@ -105,6 +105,19 @@ function(run_BuildDir)
     ${CMAKE_COMMAND} --build BuildDir-build --parallel 2)
   run_cmake_command(BuildDir--build--parallel-good-number-trailing--target 
${CMAKE_COMMAND} -E chdir ..
     ${CMAKE_COMMAND} --build BuildDir-build --parallel 2 --target CustomTarget)
+  run_cmake_command(BuildDir--build-jobs-no-space-bad-number ${CMAKE_COMMAND} 
-E chdir ..
+    ${CMAKE_COMMAND} --build BuildDir-build -j12ab)
+  run_cmake_command(BuildDir--build-jobs-no-space-good-number ${CMAKE_COMMAND} 
-E chdir ..
+    ${CMAKE_COMMAND} --build BuildDir-build -j2)
+  run_cmake_command(BuildDir--build-jobs-no-space-good-number-trailing--target 
${CMAKE_COMMAND} -E chdir ..
+    ${CMAKE_COMMAND} --build BuildDir-build -j2 --target CustomTarget)
+  run_cmake_command(BuildDir--build--parallel-no-space-bad-number 
${CMAKE_COMMAND} -E chdir ..
+    ${CMAKE_COMMAND} --build BuildDir-build --parallel12ab)
+  run_cmake_command(BuildDir--build--parallel-no-space-good-number 
${CMAKE_COMMAND} -E chdir ..
+    ${CMAKE_COMMAND} --build BuildDir-build --parallel2)
+  
run_cmake_command(BuildDir--build--parallel-no-space-good-number-trailing--target
 ${CMAKE_COMMAND} -E chdir ..
+    ${CMAKE_COMMAND} --build BuildDir-build --parallel2 --target CustomTarget)
+
   # No default jobs for Xcode and FreeBSD build command
   if(NOT RunCMake_GENERATOR MATCHES "Xcode" AND NOT CMAKE_SYSTEM_NAME MATCHES 
"FreeBSD")
     run_cmake_command(BuildDir--build-jobs-no-number ${CMAKE_COMMAND} -E chdir 
..

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=e463133cd2a189d5d2ad3bf95caa4058a2c0d764
commit e463133cd2a189d5d2ad3bf95caa4058a2c0d764
Author:     Brad King <brad.k...@kitware.com>
AuthorDate: Tue Jan 22 08:24:23 2019 -0500
Commit:     Brad King <brad.k...@kitware.com>
CommitDate: Tue Jan 22 08:24:23 2019 -0500

    Tests: Remove unused files from RunCMake.CommandLine test
    
    Drop `-stderr.txt` files for cases that do not exist.

diff --git 
a/Tests/RunCMake/CommandLine/BuildDir--build--parallel-good-number-trailing-stderr.txt
 
b/Tests/RunCMake/CommandLine/BuildDir--build--parallel-good-number-trailing-stderr.txt
deleted file mode 100644
index 3c2c808..0000000
--- 
a/Tests/RunCMake/CommandLine/BuildDir--build--parallel-good-number-trailing-stderr.txt
+++ /dev/null
@@ -1 +0,0 @@
-(^$|^Warning: .* does not support parallel builds\. Ignoring parallel build 
command line option\.)
diff --git 
a/Tests/RunCMake/CommandLine/BuildDir--build--parallel-no-number-trailing-stderr.txt
 
b/Tests/RunCMake/CommandLine/BuildDir--build--parallel-no-number-trailing-stderr.txt
deleted file mode 100644
index 3c2c808..0000000
--- 
a/Tests/RunCMake/CommandLine/BuildDir--build--parallel-no-number-trailing-stderr.txt
+++ /dev/null
@@ -1 +0,0 @@
-(^$|^Warning: .* does not support parallel builds\. Ignoring parallel build 
command line option\.)
diff --git 
a/Tests/RunCMake/CommandLine/BuildDir--build-jobs-good-number-trailing-stderr.txt
 
b/Tests/RunCMake/CommandLine/BuildDir--build-jobs-good-number-trailing-stderr.txt
deleted file mode 100644
index 3c2c808..0000000
--- 
a/Tests/RunCMake/CommandLine/BuildDir--build-jobs-good-number-trailing-stderr.txt
+++ /dev/null
@@ -1 +0,0 @@
-(^$|^Warning: .* does not support parallel builds\. Ignoring parallel build 
command line option\.)
diff --git 
a/Tests/RunCMake/CommandLine/BuildDir--build-jobs-no-number-trailing-stderr.txt 
b/Tests/RunCMake/CommandLine/BuildDir--build-jobs-no-number-trailing-stderr.txt
deleted file mode 100644
index 3c2c808..0000000
--- 
a/Tests/RunCMake/CommandLine/BuildDir--build-jobs-no-number-trailing-stderr.txt
+++ /dev/null
@@ -1 +0,0 @@
-(^$|^Warning: .* does not support parallel builds\. Ignoring parallel build 
command line option\.)

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=2993fc347af5db802721f1bbe0a0e05d19a28e89
commit 2993fc347af5db802721f1bbe0a0e05d19a28e89
Author:     Vitaly Stakhovsky <vvs31...@gitlab.org>
AuthorDate: Mon Jan 21 12:56:51 2019 -0500
Commit:     Vitaly Stakhovsky <vvs31...@gitlab.org>
CommitDate: Mon Jan 21 12:56:51 2019 -0500

    cmMakefile: GetModulesFile() accepts std::string param

diff --git a/Source/cmFindPackageCommand.cxx b/Source/cmFindPackageCommand.cxx
index 9ae1cb9..97ef481 100644
--- a/Source/cmFindPackageCommand.cxx
+++ b/Source/cmFindPackageCommand.cxx
@@ -663,7 +663,7 @@ bool cmFindPackageCommand::FindModule(bool& found)
   module += this->Name;
   module += ".cmake";
   bool system = false;
-  std::string mfile = this->Makefile->GetModulesFile(module.c_str(), system);
+  std::string mfile = this->Makefile->GetModulesFile(module, system);
   if (!mfile.empty()) {
     if (system) {
       auto it = this->DeprecatedFindModules.find(this->Name);
diff --git a/Source/cmGlobalGenerator.cxx b/Source/cmGlobalGenerator.cxx
index 2d36315..b2b0e38 100644
--- a/Source/cmGlobalGenerator.cxx
+++ b/Source/cmGlobalGenerator.cxx
@@ -353,8 +353,7 @@ bool cmGlobalGenerator::FindMakeProgram(cmMakefile* mf)
   }
   if (!mf->GetDefinition("CMAKE_MAKE_PROGRAM") ||
       cmSystemTools::IsOff(mf->GetDefinition("CMAKE_MAKE_PROGRAM"))) {
-    std::string setMakeProgram =
-      mf->GetModulesFile(this->FindMakeProgramFile.c_str());
+    std::string setMakeProgram = mf->GetModulesFile(this->FindMakeProgramFile);
     if (!setMakeProgram.empty()) {
       mf->ReadListFile(setMakeProgram);
     }
@@ -464,11 +463,10 @@ void cmGlobalGenerator::EnableLanguage(
 
   if (this->TryCompileOuterMakefile) {
     // In a try-compile we can only enable languages provided by caller.
-    for (std::string const& li : languages) {
-      if (li == "NONE") {
+    for (std::string const& lang : languages) {
+      if (lang == "NONE") {
         this->SetLanguageEnabled("NONE", mf);
       } else {
-        const char* lang = li.c_str();
         if (this->LanguagesReady.find(lang) == this->LanguagesReady.end()) {
           std::ostringstream e;
           e << "The test project needs language " << lang
@@ -616,10 +614,9 @@ void cmGlobalGenerator::EnableLanguage(
   // load the CMakeDetermine(LANG)Compiler.cmake file to find
   // the compiler
 
-  for (std::string const& l : languages) {
-    const char* lang = l.c_str();
+  for (std::string const& lang : languages) {
     needSetLanguageEnabledMaps[lang] = false;
-    if (l == "NONE") {
+    if (lang == "NONE") {
       this->SetLanguageEnabled("NONE", mf);
       continue;
     }
@@ -661,8 +658,7 @@ void cmGlobalGenerator::EnableLanguage(
       std::string determineCompiler = "CMakeDetermine";
       determineCompiler += lang;
       determineCompiler += "Compiler.cmake";
-      std::string determineFile =
-        mf->GetModulesFile(determineCompiler.c_str());
+      std::string determineFile = mf->GetModulesFile(determineCompiler);
       if (!mf->ReadListFile(determineFile)) {
         cmSystemTools::Error("Could not find cmake module file: ",
                              determineCompiler.c_str());
@@ -721,9 +717,8 @@ void cmGlobalGenerator::EnableLanguage(
   }
   // loop over languages again loading CMake(LANG)Information.cmake
   //
-  for (std::string const& l : languages) {
-    const char* lang = l.c_str();
-    if (l == "NONE") {
+  for (std::string const& lang : languages) {
+    if (lang == "NONE") {
       this->SetLanguageEnabled("NONE", mf);
       continue;
     }
@@ -744,7 +739,7 @@ void cmGlobalGenerator::EnableLanguage(
         "No " << compilerName << " could be found.\n"
         ;
       /* clang-format on */
-    } else if (strcmp(lang, "RC") != 0 && strcmp(lang, "ASM_MASM") != 0) {
+    } else if ((lang != "RC") && (lang != "ASM_MASM")) {
       if (!cmSystemTools::FileIsFullPath(compilerFile)) {
         /* clang-format off */
         noCompiler <<
@@ -790,7 +785,7 @@ void cmGlobalGenerator::EnableLanguage(
       fpath = "CMake";
       fpath += lang;
       fpath += "Information.cmake";
-      std::string informationFile = mf->GetModulesFile(fpath.c_str());
+      std::string informationFile = mf->GetModulesFile(fpath);
       if (informationFile.empty()) {
         cmSystemTools::Error("Could not find cmake module file: ",
                              fpath.c_str());
@@ -814,7 +809,7 @@ void cmGlobalGenerator::EnableLanguage(
         std::string testLang = "CMakeTest";
         testLang += lang;
         testLang += "Compiler.cmake";
-        std::string ifpath = mf->GetModulesFile(testLang.c_str());
+        std::string ifpath = mf->GetModulesFile(testLang);
         if (!mf->ReadListFile(ifpath)) {
           cmSystemTools::Error("Could not find cmake module file: ",
                                testLang.c_str());
@@ -2861,7 +2856,7 @@ void cmGlobalGenerator::CheckRuleHashes(std::string 
const& pfile,
       if (strncmp(line.c_str(), rhi->second.Data, 32) != 0) {
         // The rule has changed.  Delete the output so it will be
         // built again.
-        fname = cmSystemTools::CollapseFullPath(fname, home.c_str());
+        fname = cmSystemTools::CollapseFullPath(fname, home);
         cmSystemTools::RemoveFile(fname);
       }
     } else {
@@ -2871,7 +2866,7 @@ void cmGlobalGenerator::CheckRuleHashes(std::string 
const& pfile,
       // Instead, we keep the rule hash as long as the file exists so
       // that if the feature is turned back on and the rule has
       // changed the file is still rebuilt.
-      std::string fpath = cmSystemTools::CollapseFullPath(fname, home.c_str());
+      std::string fpath = cmSystemTools::CollapseFullPath(fname, home);
       if (cmSystemTools::FileExists(fpath)) {
         RuleHash hash;
         memcpy(hash.Data, line.c_str(), 32);
diff --git a/Source/cmIncludeCommand.cxx b/Source/cmIncludeCommand.cxx
index a67d09e..0d608bb 100644
--- a/Source/cmIncludeCommand.cxx
+++ b/Source/cmIncludeCommand.cxx
@@ -67,7 +67,7 @@ bool cmIncludeCommand::InitialPass(std::vector<std::string> 
const& args,
     // Not a path. Maybe module.
     std::string module = fname;
     module += ".cmake";
-    std::string mfile = this->Makefile->GetModulesFile(module.c_str());
+    std::string mfile = this->Makefile->GetModulesFile(module);
     if (!mfile.empty()) {
       fname = mfile;
     }
diff --git a/Source/cmLocalGenerator.cxx b/Source/cmLocalGenerator.cxx
index 97e684b..09537bb 100644
--- a/Source/cmLocalGenerator.cxx
+++ b/Source/cmLocalGenerator.cxx
@@ -2783,7 +2783,7 @@ void 
cmLocalGenerator::GenerateAppleInfoPList(cmGeneratorTarget* target,
   const char* in = target->GetProperty("MACOSX_BUNDLE_INFO_PLIST");
   std::string inFile = (in && *in) ? in : "MacOSXBundleInfo.plist.in";
   if (!cmSystemTools::FileIsFullPath(inFile)) {
-    std::string inMod = this->Makefile->GetModulesFile(inFile.c_str());
+    std::string inMod = this->Makefile->GetModulesFile(inFile);
     if (!inMod.empty()) {
       inFile = inMod;
     }
@@ -2821,7 +2821,7 @@ void cmLocalGenerator::GenerateFrameworkInfoPList(
   const char* in = target->GetProperty("MACOSX_FRAMEWORK_INFO_PLIST");
   std::string inFile = (in && *in) ? in : "MacOSXFrameworkInfo.plist.in";
   if (!cmSystemTools::FileIsFullPath(inFile)) {
-    std::string inMod = this->Makefile->GetModulesFile(inFile.c_str());
+    std::string inMod = this->Makefile->GetModulesFile(inFile);
     if (!inMod.empty()) {
       inFile = inMod;
     }
diff --git a/Source/cmMakefile.cxx b/Source/cmMakefile.cxx
index 9589b7f..500776e 100644
--- a/Source/cmMakefile.cxx
+++ b/Source/cmMakefile.cxx
@@ -3516,7 +3516,7 @@ void cmMakefile::DisplayStatus(const char* message, float 
s) const
   cm->UpdateProgress(message, s);
 }
 
-std::string cmMakefile::GetModulesFile(const char* filename,
+std::string cmMakefile::GetModulesFile(const std::string& filename,
                                        bool& system) const
 {
   std::string result;
diff --git a/Source/cmMakefile.h b/Source/cmMakefile.h
index abe2cd1..e88bb0b 100644
--- a/Source/cmMakefile.h
+++ b/Source/cmMakefile.h
@@ -689,13 +689,13 @@ public:
   /**
    * Return a location of a file in cmake or custom modules directory
    */
-  std::string GetModulesFile(const char* name) const
+  std::string GetModulesFile(const std::string& name) const
   {
     bool system;
     return this->GetModulesFile(name, system);
   }
 
-  std::string GetModulesFile(const char* name, bool& system) const;
+  std::string GetModulesFile(const std::string& name, bool& system) const;
 
   ///! Set/Get a property of this directory
   void SetProperty(const std::string& prop, const char* value);

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

Summary of changes:
 .clang-tidy                                        |  1 -
 Help/release/3.13.rst                              | 26 ++++++++++
 Source/CPack/cmCPackDebGenerator.cxx               | 50 +++++++++-----------
 Source/CPack/cmCPackFreeBSDGenerator.cxx           |  9 ++--
 Source/CursesDialog/cmCursesMainForm.cxx           |  5 +-
 Source/CursesDialog/cmCursesMainForm.h             |  2 +-
 Source/QtDialog/QCMakeWidgets.cxx                  |  5 +-
 Source/QtDialog/QCMakeWidgets.h                    |  2 +-
 Source/cmAlgorithms.h                              |  4 +-
 Source/cmComputeLinkInformation.h                  |  6 +--
 Source/cmConditionEvaluator.cxx                    |  9 ++--
 Source/cmConditionEvaluator.h                      |  4 +-
 Source/cmCustomCommand.cxx                         | 18 +++----
 Source/cmCustomCommand.h                           | 11 ++---
 Source/cmCustomCommandGenerator.cxx                |  4 +-
 Source/cmCustomCommandGenerator.h                  |  4 +-
 Source/cmDepends.cxx                               |  4 +-
 Source/cmDepends.h                                 |  2 +-
 Source/cmExpandedCommandArgument.cxx               |  6 ++-
 Source/cmExpandedCommandArgument.h                 |  2 +-
 Source/cmExportSet.h                               |  5 +-
 Source/cmExternalMakefileProjectGenerator.cxx      |  9 ++--
 Source/cmExternalMakefileProjectGenerator.h        |  3 +-
 Source/cmFileAPICodemodel.cxx                      |  6 +--
 Source/cmFindPackageCommand.cxx                    | 14 +++---
 Source/cmFortranParser.h                           | 10 ++--
 Source/cmFortranParserImpl.cxx                     |  9 ++--
 Source/cmGeneratorExpression.cxx                   | 11 ++---
 Source/cmGeneratorExpression.h                     | 16 +++----
 Source/cmGeneratorExpressionContext.cxx            | 14 +++---
 Source/cmGeneratorExpressionContext.h              |  6 +--
 Source/cmGeneratorExpressionDAGChecker.cxx         | 12 ++---
 Source/cmGeneratorExpressionDAGChecker.h           |  6 +--
 Source/cmGeneratorExpressionEvaluationFile.cxx     |  4 +-
 Source/cmGeneratorExpressionEvaluationFile.h       |  2 +-
 Source/cmGeneratorExpressionParser.cxx             |  4 +-
 Source/cmGeneratorExpressionParser.h               |  3 +-
 Source/cmGeneratorTarget.cxx                       |  5 +-
 Source/cmGlobVerificationManager.h                 |  8 ++--
 Source/cmGlobalGenerator.cxx                       | 31 +++++-------
 Source/cmGraphAdjacencyList.h                      |  5 +-
 Source/cmIncludeCommand.cxx                        |  2 +-
 Source/cmInstallCommandArguments.cxx               |  4 +-
 Source/cmInstallCommandArguments.h                 |  2 +-
 Source/cmInstallTargetGenerator.cxx                |  8 ++--
 Source/cmInstallTargetGenerator.h                  |  4 +-
 Source/cmLinkItem.cxx                              | 11 ++---
 Source/cmLinkItem.h                                |  4 +-
 Source/cmListCommand.cxx                           | 11 ++---
 Source/cmListFileCache.cxx                         |  7 ++-
 Source/cmListFileCache.h                           |  4 +-
 Source/cmLocalCommonGenerator.cxx                  |  5 +-
 Source/cmLocalCommonGenerator.h                    |  2 +-
 Source/cmLocalGenerator.cxx                        |  4 +-
 Source/cmLocalUnixMakefileGenerator3.cxx           |  6 +--
 Source/cmLocalUnixMakefileGenerator3.h             |  5 +-
 Source/cmMakefile.cxx                              |  2 +-
 Source/cmMakefile.h                                |  4 +-
 Source/cmOSXBundleGenerator.cxx                    |  5 +-
 Source/cmOSXBundleGenerator.h                      |  3 +-
 Source/cmPathLabel.cxx                             |  6 ++-
 Source/cmPathLabel.h                               |  2 +-
 Source/cmPipeConnection.cxx                        |  4 +-
 Source/cmPipeConnection.h                          |  2 +-
 Source/cmQtAutoGeneratorMocUic.h                   | 12 ++---
 Source/cmRST.cxx                                   |  4 +-
 Source/cmRST.h                                     |  2 +-
 Source/cmRulePlaceholderExpander.cxx               | 14 +++---
 Source/cmRulePlaceholderExpander.h                 |  6 +--
 Source/cmScriptGenerator.cxx                       | 11 +++--
 Source/cmScriptGenerator.h                         |  4 +-
 Source/cmServerProtocol.cxx                        | 28 +++++------
 Source/cmServerProtocol.h                          | 15 +++---
 Source/cmSourceGroup.cxx                           |  6 ++-
 Source/cmSourceGroup.h                             |  2 +-
 Source/cmStringReplaceHelper.cxx                   |  5 +-
 Source/cmStringReplaceHelper.h                     |  8 ++--
 Source/cmUnexpectedCommand.h                       |  5 +-
 Source/cmXCodeScheme.cxx                           |  5 +-
 Source/cmXCodeScheme.h                             |  2 +-
 Source/cmake.cxx                                   |  7 ++-
 Source/cmakemain.cxx                               | 55 ++++++++++++++--------
 Source/kwsys/SystemInformation.cxx                 |  3 +-
 ...build--parallel-no-space-bad-number-result.txt} |  0
 ...build--parallel-no-space-bad-number-stderr.txt} |  0
 ...uild--parallel-no-space-good-number-stderr.txt} |  0
 ...-space-good-number-trailing--target-stderr.txt} |  0
 ...Dir--build-jobs-no-space-bad-number-result.txt} |  0
 ...Dir--build-jobs-no-space-bad-number-stderr.txt} |  0
 ...ir--build-jobs-no-space-good-number-stderr.txt} |  0
 ...-space-good-number-trailing--target-stderr.txt} |  0
 Tests/RunCMake/CommandLine/RunCMakeTest.cmake      | 25 +++++++++-
 Tests/RunCMake/CommandLine/no-S-B-result.txt       |  1 -
 Tests/RunCMake/CommandLine/no-S-B-stderr.txt       |  5 +-
 94 files changed, 382 insertions(+), 307 deletions(-)
 copy Tests/RunCMake/{while/MissingArgument-result.txt => 
CommandLine/BuildDir--build--parallel-no-space-bad-number-result.txt} (100%)
 copy 
Tests/RunCMake/CommandLine/{BuildDir--build--parallel-bad-number-stderr.txt => 
BuildDir--build--parallel-no-space-bad-number-stderr.txt} (100%)
 rename 
Tests/RunCMake/CommandLine/{BuildDir--build-jobs-no-number-trailing-stderr.txt 
=> BuildDir--build--parallel-no-space-good-number-stderr.txt} (100%)
 rename 
Tests/RunCMake/CommandLine/{BuildDir--build-jobs-good-number-trailing-stderr.txt
 => BuildDir--build--parallel-no-space-good-number-trailing--target-stderr.txt} 
(100%)
 copy Tests/RunCMake/{while/MissingArgument-result.txt => 
CommandLine/BuildDir--build-jobs-no-space-bad-number-result.txt} (100%)
 copy Tests/RunCMake/CommandLine/{BuildDir--build-jobs-bad-number-stderr.txt => 
BuildDir--build-jobs-no-space-bad-number-stderr.txt} (100%)
 rename 
Tests/RunCMake/CommandLine/{BuildDir--build--parallel-no-number-trailing-stderr.txt
 => BuildDir--build-jobs-no-space-good-number-stderr.txt} (100%)
 rename 
Tests/RunCMake/CommandLine/{BuildDir--build--parallel-good-number-trailing-stderr.txt
 => BuildDir--build-jobs-no-space-good-number-trailing--target-stderr.txt} 
(100%)
 delete mode 100644 Tests/RunCMake/CommandLine/no-S-B-result.txt


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

Reply via email to