summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Source/cmInstallCommand.cxx22
-rw-r--r--Source/cmInstallDirectoryGenerator.cxx4
-rw-r--r--Source/cmInstallDirectoryGenerator.h15
-rw-r--r--Source/cmInstallExportGenerator.cxx5
-rw-r--r--Source/cmInstallExportGenerator.h3
-rw-r--r--Source/cmInstallFilesCommand.cxx2
-rw-r--r--Source/cmInstallFilesGenerator.cxx4
-rw-r--r--Source/cmInstallFilesGenerator.h3
-rw-r--r--Source/cmInstallGenerator.cxx4
-rw-r--r--Source/cmInstallGenerator.h6
-rw-r--r--Source/cmInstallProgramsCommand.cxx2
-rw-r--r--Source/cmInstallScriptGenerator.cxx4
-rw-r--r--Source/cmInstallScriptGenerator.h8
-rw-r--r--Source/cmInstallSubdirectoryGenerator.cxx5
-rw-r--r--Source/cmInstallSubdirectoryGenerator.h4
-rw-r--r--Source/cmInstallTargetGenerator.cxx3
-rw-r--r--Source/cmInstallTargetGenerator.h3
-rw-r--r--Source/cmMakefile.cxx2
18 files changed, 57 insertions, 42 deletions
diff --git a/Source/cmInstallCommand.cxx b/Source/cmInstallCommand.cxx
index b04ad0cefb..7788db3bb8 100644
--- a/Source/cmInstallCommand.cxx
+++ b/Source/cmInstallCommand.cxx
@@ -133,7 +133,8 @@ std::unique_ptr<cmInstallFilesGenerator> CreateInstallFilesGenerator(
return cm::make_unique<cmInstallFilesGenerator>(
absFiles, destination, programs, args.GetPermissions(),
args.GetConfigurations(), args.GetComponent(), message,
- args.GetExcludeFromAll(), args.GetRename(), args.GetOptional());
+ args.GetExcludeFromAll(), args.GetRename(), args.GetOptional(),
+ mf->GetBacktrace());
}
std::unique_ptr<cmInstallFilesGenerator> CreateInstallFilesGenerator(
@@ -206,14 +207,16 @@ bool HandleScriptMode(std::vector<std::string> const& args,
return false;
}
helper.Makefile->AddInstallGenerator(
- cm::make_unique<cmInstallScriptGenerator>(script, false, component,
- exclude_from_all));
+ cm::make_unique<cmInstallScriptGenerator>(
+ script, false, component, exclude_from_all,
+ helper.Makefile->GetBacktrace()));
} else if (doing_code) {
doing_code = false;
std::string const& code = arg;
helper.Makefile->AddInstallGenerator(
- cm::make_unique<cmInstallScriptGenerator>(code, true, component,
- exclude_from_all));
+ cm::make_unique<cmInstallScriptGenerator>(
+ code, true, component, exclude_from_all,
+ helper.Makefile->GetBacktrace()));
}
}
@@ -1253,7 +1256,8 @@ bool HandleDirectoryMode(std::vector<std::string> const& args,
helper.Makefile->AddInstallGenerator(
cm::make_unique<cmInstallDirectoryGenerator>(
dirs, *destination, permissions_file, permissions_dir, configurations,
- component, message, exclude_from_all, literal_args, optional));
+ component, message, exclude_from_all, literal_args, optional,
+ helper.Makefile->GetBacktrace()));
// Tell the global generator about any installation component names
// specified.
@@ -1345,7 +1349,8 @@ bool HandleExportAndroidMKMode(std::vector<std::string> const& args,
cm::make_unique<cmInstallExportGenerator>(
&exportSet, ica.GetDestination(), ica.GetPermissions(),
ica.GetConfigurations(), ica.GetComponent(), message,
- ica.GetExcludeFromAll(), fname, name_space, exportOld, true));
+ ica.GetExcludeFromAll(), fname, name_space, exportOld, true,
+ helper.Makefile->GetBacktrace()));
return true;
#else
@@ -1458,7 +1463,8 @@ bool HandleExportMode(std::vector<std::string> const& args,
cm::make_unique<cmInstallExportGenerator>(
&exportSet, ica.GetDestination(), ica.GetPermissions(),
ica.GetConfigurations(), ica.GetComponent(), message,
- ica.GetExcludeFromAll(), fname, name_space, exportOld, false));
+ ica.GetExcludeFromAll(), fname, name_space, exportOld, false,
+ helper.Makefile->GetBacktrace()));
return true;
}
diff --git a/Source/cmInstallDirectoryGenerator.cxx b/Source/cmInstallDirectoryGenerator.cxx
index 2c5b9c62e6..4eb5f69e48 100644
--- a/Source/cmInstallDirectoryGenerator.cxx
+++ b/Source/cmInstallDirectoryGenerator.cxx
@@ -16,9 +16,9 @@ cmInstallDirectoryGenerator::cmInstallDirectoryGenerator(
std::string file_permissions, std::string dir_permissions,
std::vector<std::string> const& configurations, std::string const& component,
MessageLevel message, bool exclude_from_all, std::string literal_args,
- bool optional)
+ bool optional, cmListFileBacktrace backtrace)
: cmInstallGenerator(dest, configurations, component, message,
- exclude_from_all)
+ exclude_from_all, std::move(backtrace))
, LocalGenerator(nullptr)
, Directories(dirs)
, FilePermissions(std::move(file_permissions))
diff --git a/Source/cmInstallDirectoryGenerator.h b/Source/cmInstallDirectoryGenerator.h
index 7c707bd0e5..0f91a59969 100644
--- a/Source/cmInstallDirectoryGenerator.h
+++ b/Source/cmInstallDirectoryGenerator.h
@@ -9,6 +9,7 @@
#include <vector>
#include "cmInstallGenerator.h"
+#include "cmListFileCache.h"
#include "cmScriptGenerator.h"
class cmLocalGenerator;
@@ -19,14 +20,12 @@ class cmLocalGenerator;
class cmInstallDirectoryGenerator : public cmInstallGenerator
{
public:
- cmInstallDirectoryGenerator(std::vector<std::string> const& dirs,
- std::string const& dest,
- std::string file_permissions,
- std::string dir_permissions,
- std::vector<std::string> const& configurations,
- std::string const& component,
- MessageLevel message, bool exclude_from_all,
- std::string literal_args, bool optional = false);
+ cmInstallDirectoryGenerator(
+ std::vector<std::string> const& dirs, std::string const& dest,
+ std::string file_permissions, std::string dir_permissions,
+ std::vector<std::string> const& configurations,
+ std::string const& component, MessageLevel message, bool exclude_from_all,
+ std::string literal_args, bool optional, cmListFileBacktrace backtrace);
~cmInstallDirectoryGenerator() override;
bool Compute(cmLocalGenerator* lg) override;
diff --git a/Source/cmInstallExportGenerator.cxx b/Source/cmInstallExportGenerator.cxx
index 3683adae8b..fdc3f8c1a3 100644
--- a/Source/cmInstallExportGenerator.cxx
+++ b/Source/cmInstallExportGenerator.cxx
@@ -23,9 +23,10 @@ cmInstallExportGenerator::cmInstallExportGenerator(
cmExportSet* exportSet, std::string const& destination,
std::string file_permissions, std::vector<std::string> const& configurations,
std::string const& component, MessageLevel message, bool exclude_from_all,
- std::string filename, std::string name_space, bool exportOld, bool android)
+ std::string filename, std::string name_space, bool exportOld, bool android,
+ cmListFileBacktrace backtrace)
: cmInstallGenerator(destination, configurations, component, message,
- exclude_from_all)
+ exclude_from_all, std::move(backtrace))
, ExportSet(exportSet)
, FilePermissions(std::move(file_permissions))
, FileName(std::move(filename))
diff --git a/Source/cmInstallExportGenerator.h b/Source/cmInstallExportGenerator.h
index 1f038cf9b5..efeae86ee0 100644
--- a/Source/cmInstallExportGenerator.h
+++ b/Source/cmInstallExportGenerator.h
@@ -11,6 +11,7 @@
#include <vector>
#include "cmInstallGenerator.h"
+#include "cmListFileCache.h"
#include "cmScriptGenerator.h"
class cmExportInstallFileGenerator;
@@ -29,7 +30,7 @@ public:
std::string const& component, MessageLevel message,
bool exclude_from_all, std::string filename,
std::string name_space, bool exportOld,
- bool android);
+ bool android, cmListFileBacktrace backtrace);
cmInstallExportGenerator(const cmInstallExportGenerator&) = delete;
~cmInstallExportGenerator() override;
diff --git a/Source/cmInstallFilesCommand.cxx b/Source/cmInstallFilesCommand.cxx
index 3c59f0180a..e65cb24a8e 100644
--- a/Source/cmInstallFilesCommand.cxx
+++ b/Source/cmInstallFilesCommand.cxx
@@ -125,7 +125,7 @@ static void CreateInstallGenerator(cmMakefile& makefile,
cmInstallGenerator::SelectMessageLevel(&makefile);
makefile.AddInstallGenerator(cm::make_unique<cmInstallFilesGenerator>(
files, destination, false, no_permissions, no_configurations, no_component,
- message, no_exclude_from_all, no_rename));
+ message, no_exclude_from_all, no_rename, false, makefile.GetBacktrace()));
}
/**
diff --git a/Source/cmInstallFilesGenerator.cxx b/Source/cmInstallFilesGenerator.cxx
index 1d816b75f1..556c938274 100644
--- a/Source/cmInstallFilesGenerator.cxx
+++ b/Source/cmInstallFilesGenerator.cxx
@@ -15,9 +15,9 @@ cmInstallFilesGenerator::cmInstallFilesGenerator(
bool programs, std::string file_permissions,
std::vector<std::string> const& configurations, std::string const& component,
MessageLevel message, bool exclude_from_all, std::string rename,
- bool optional)
+ bool optional, cmListFileBacktrace backtrace)
: cmInstallGenerator(dest, configurations, component, message,
- exclude_from_all)
+ exclude_from_all, std::move(backtrace))
, LocalGenerator(nullptr)
, Files(files)
, FilePermissions(std::move(file_permissions))
diff --git a/Source/cmInstallFilesGenerator.h b/Source/cmInstallFilesGenerator.h
index 74384408b0..af7f11356e 100644
--- a/Source/cmInstallFilesGenerator.h
+++ b/Source/cmInstallFilesGenerator.h
@@ -9,6 +9,7 @@
#include <vector>
#include "cmInstallGenerator.h"
+#include "cmListFileCache.h"
#include "cmScriptGenerator.h"
class cmLocalGenerator;
@@ -25,7 +26,7 @@ public:
std::vector<std::string> const& configurations,
std::string const& component, MessageLevel message,
bool exclude_from_all, std::string rename,
- bool optional = false);
+ bool optional, cmListFileBacktrace backtrace);
~cmInstallFilesGenerator() override;
bool Compute(cmLocalGenerator* lg) override;
diff --git a/Source/cmInstallGenerator.cxx b/Source/cmInstallGenerator.cxx
index 0665895b77..98e37666d2 100644
--- a/Source/cmInstallGenerator.cxx
+++ b/Source/cmInstallGenerator.cxx
@@ -10,12 +10,14 @@
cmInstallGenerator::cmInstallGenerator(
std::string destination, std::vector<std::string> const& configurations,
- std::string component, MessageLevel message, bool exclude_from_all)
+ std::string component, MessageLevel message, bool exclude_from_all,
+ cmListFileBacktrace backtrace)
: cmScriptGenerator("CMAKE_INSTALL_CONFIG_NAME", configurations)
, Destination(std::move(destination))
, Component(std::move(component))
, Message(message)
, ExcludeFromAll(exclude_from_all)
+ , Backtrace(std::move(backtrace))
{
}
diff --git a/Source/cmInstallGenerator.h b/Source/cmInstallGenerator.h
index ee55ee935f..64ee9edf77 100644
--- a/Source/cmInstallGenerator.h
+++ b/Source/cmInstallGenerator.h
@@ -9,6 +9,7 @@
#include <vector>
#include "cmInstallType.h"
+#include "cmListFileCache.h"
#include "cmScriptGenerator.h"
class cmLocalGenerator;
@@ -32,7 +33,7 @@ public:
cmInstallGenerator(std::string destination,
std::vector<std::string> const& configurations,
std::string component, MessageLevel message,
- bool exclude_from_all);
+ bool exclude_from_all, cmListFileBacktrace backtrace);
~cmInstallGenerator() override;
cmInstallGenerator(cmInstallGenerator const&) = delete;
@@ -61,6 +62,8 @@ public:
virtual bool Compute(cmLocalGenerator*) { return true; }
+ cmListFileBacktrace const& GetBacktrace() const { return this->Backtrace; }
+
protected:
void GenerateScript(std::ostream& os) override;
@@ -72,4 +75,5 @@ protected:
std::string const Component;
MessageLevel const Message;
bool const ExcludeFromAll;
+ cmListFileBacktrace const Backtrace;
};
diff --git a/Source/cmInstallProgramsCommand.cxx b/Source/cmInstallProgramsCommand.cxx
index be07fd4d4a..65b8d8994e 100644
--- a/Source/cmInstallProgramsCommand.cxx
+++ b/Source/cmInstallProgramsCommand.cxx
@@ -99,7 +99,7 @@ static void FinalAction(cmMakefile& makefile, std::string const& dest,
cmInstallGenerator::SelectMessageLevel(&makefile);
makefile.AddInstallGenerator(cm::make_unique<cmInstallFilesGenerator>(
files, destination, true, no_permissions, no_configurations, no_component,
- message, no_exclude_from_all, no_rename));
+ message, no_exclude_from_all, no_rename, false, makefile.GetBacktrace()));
}
/**
diff --git a/Source/cmInstallScriptGenerator.cxx b/Source/cmInstallScriptGenerator.cxx
index 80b78607c0..bb389906ad 100644
--- a/Source/cmInstallScriptGenerator.cxx
+++ b/Source/cmInstallScriptGenerator.cxx
@@ -14,9 +14,9 @@
cmInstallScriptGenerator::cmInstallScriptGenerator(
std::string script, bool code, std::string const& component,
- bool exclude_from_all)
+ bool exclude_from_all, cmListFileBacktrace backtrace)
: cmInstallGenerator("", std::vector<std::string>(), component,
- MessageDefault, exclude_from_all)
+ MessageDefault, exclude_from_all, std::move(backtrace))
, Script(std::move(script))
, Code(code)
, AllowGenex(false)
diff --git a/Source/cmInstallScriptGenerator.h b/Source/cmInstallScriptGenerator.h
index 6f0c837585..6274f1cd2e 100644
--- a/Source/cmInstallScriptGenerator.h
+++ b/Source/cmInstallScriptGenerator.h
@@ -8,6 +8,7 @@
#include <string>
#include "cmInstallGenerator.h"
+#include "cmListFileCache.h"
#include "cmScriptGenerator.h"
class cmLocalGenerator;
@@ -18,9 +19,10 @@ class cmLocalGenerator;
class cmInstallScriptGenerator : public cmInstallGenerator
{
public:
- cmInstallScriptGenerator(std::string script, bool code,
- std::string const& component,
- bool exclude_from_all);
+ cmInstallScriptGenerator(
+ std::string script, bool code, std::string const& component,
+ bool exclude_from_all,
+ cmListFileBacktrace backtrace = cmListFileBacktrace());
~cmInstallScriptGenerator() override;
bool Compute(cmLocalGenerator* lg) override;
diff --git a/Source/cmInstallSubdirectoryGenerator.cxx b/Source/cmInstallSubdirectoryGenerator.cxx
index 12bc92bbf4..76806e535a 100644
--- a/Source/cmInstallSubdirectoryGenerator.cxx
+++ b/Source/cmInstallSubdirectoryGenerator.cxx
@@ -14,9 +14,10 @@
#include "cmSystemTools.h"
cmInstallSubdirectoryGenerator::cmInstallSubdirectoryGenerator(
- cmMakefile* makefile, std::string binaryDirectory, bool excludeFromAll)
+ cmMakefile* makefile, std::string binaryDirectory, bool excludeFromAll,
+ cmListFileBacktrace backtrace)
: cmInstallGenerator("", std::vector<std::string>(), "", MessageDefault,
- excludeFromAll)
+ excludeFromAll, std::move(backtrace))
, Makefile(makefile)
, BinaryDirectory(std::move(binaryDirectory))
{
diff --git a/Source/cmInstallSubdirectoryGenerator.h b/Source/cmInstallSubdirectoryGenerator.h
index 3e46d6bbbd..614cef9214 100644
--- a/Source/cmInstallSubdirectoryGenerator.h
+++ b/Source/cmInstallSubdirectoryGenerator.h
@@ -8,6 +8,7 @@
#include <string>
#include "cmInstallGenerator.h"
+#include "cmListFileCache.h"
class cmLocalGenerator;
class cmMakefile;
@@ -20,7 +21,8 @@ class cmInstallSubdirectoryGenerator : public cmInstallGenerator
public:
cmInstallSubdirectoryGenerator(cmMakefile* makefile,
std::string binaryDirectory,
- bool excludeFromAll);
+ bool excludeFromAll,
+ cmListFileBacktrace backtrace);
~cmInstallSubdirectoryGenerator() override;
bool HaveInstall() override;
diff --git a/Source/cmInstallTargetGenerator.cxx b/Source/cmInstallTargetGenerator.cxx
index 6b7d8bf948..bef785d0b3 100644
--- a/Source/cmInstallTargetGenerator.cxx
+++ b/Source/cmInstallTargetGenerator.cxx
@@ -46,13 +46,12 @@ cmInstallTargetGenerator::cmInstallTargetGenerator(
std::string const& component, MessageLevel message, bool exclude_from_all,
bool optional, cmListFileBacktrace backtrace)
: cmInstallGenerator(dest, configurations, component, message,
- exclude_from_all)
+ exclude_from_all, std::move(backtrace))
, TargetName(std::move(targetName))
, Target(nullptr)
, FilePermissions(std::move(file_permissions))
, ImportLibrary(implib)
, Optional(optional)
- , Backtrace(std::move(backtrace))
{
this->ActionsPerConfig = true;
this->NamelinkMode = NamelinkModeNone;
diff --git a/Source/cmInstallTargetGenerator.h b/Source/cmInstallTargetGenerator.h
index 512394acf6..8c5d444101 100644
--- a/Source/cmInstallTargetGenerator.h
+++ b/Source/cmInstallTargetGenerator.h
@@ -66,8 +66,6 @@ public:
std::string GetDestination(std::string const& config) const;
- cmListFileBacktrace const& GetBacktrace() const { return this->Backtrace; }
-
struct Files
{
// Names or paths of files to be read from the source or build tree.
@@ -134,5 +132,4 @@ protected:
NamelinkModeType NamelinkMode;
bool const ImportLibrary;
bool const Optional;
- cmListFileBacktrace const Backtrace;
};
diff --git a/Source/cmMakefile.cxx b/Source/cmMakefile.cxx
index 0fc8fa3081..f479af1054 100644
--- a/Source/cmMakefile.cxx
+++ b/Source/cmMakefile.cxx
@@ -1838,7 +1838,7 @@ void cmMakefile::AddSubDirectory(const std::string& srcPath,
}
this->AddInstallGenerator(cm::make_unique<cmInstallSubdirectoryGenerator>(
- subMf, binPath, excludeFromAll));
+ subMf, binPath, excludeFromAll, this->GetBacktrace()));
}
const std::string& cmMakefile::GetCurrentSourceDirectory() const