summaryrefslogtreecommitdiffstats
path: root/Source/cmCustomCommandGenerator.h
diff options
context:
space:
mode:
authorMarc Chevrier <marc.chevrier@gmail.com>2021-04-15 12:13:57 (GMT)
committerBrad King <brad.king@kitware.com>2021-04-15 16:17:31 (GMT)
commitd67cc4882d54a18abbd5d01365ce1fc72d702a0e (patch)
treed609494ba1f13292a45d92630b47c4094ad2cc82 /Source/cmCustomCommandGenerator.h
parent498b916cdd96330baa33bc10667b43cbb78674d4 (diff)
downloadCMake-d67cc4882d54a18abbd5d01365ce1fc72d702a0e.zip
CMake-d67cc4882d54a18abbd5d01365ce1fc72d702a0e.tar.gz
CMake-d67cc4882d54a18abbd5d01365ce1fc72d702a0e.tar.bz2
Xcode: Add support of DEPFILE for add_custom_command
Issue: #20286
Diffstat (limited to 'Source/cmCustomCommandGenerator.h')
-rw-r--r--Source/cmCustomCommandGenerator.h13
1 files changed, 10 insertions, 3 deletions
diff --git a/Source/cmCustomCommandGenerator.h b/Source/cmCustomCommandGenerator.h
index 53e5573..e70909a 100644
--- a/Source/cmCustomCommandGenerator.h
+++ b/Source/cmCustomCommandGenerator.h
@@ -4,6 +4,7 @@
#include "cmConfigure.h" // IWYU pragma: keep
+#include <functional>
#include <set>
#include <string>
#include <utility>
@@ -19,6 +20,8 @@ class cmLocalGenerator;
class cmCustomCommandGenerator
{
+ std::string GetInternalDepfileName(const std::string&, const std::string&);
+
cmCustomCommand const* CC;
std::string OutputConfig;
std::string CommandConfig;
@@ -32,15 +35,19 @@ class cmCustomCommandGenerator
std::vector<std::string> Depends;
std::string WorkingDirectory;
std::set<BT<std::pair<std::string, bool>>> Utilities;
+ std::function<std::string(const std::string&, const std::string&)>
+ ComputeInternalDepfile;
void FillEmulatorsWithArguments();
std::vector<std::string> GetCrossCompilingEmulator(unsigned int c) const;
const char* GetArgv0Location(unsigned int c) const;
public:
- cmCustomCommandGenerator(cmCustomCommand const& cc, std::string config,
- cmLocalGenerator* lg, bool transformDepfile = true,
- cm::optional<std::string> crossConfig = {});
+ cmCustomCommandGenerator(
+ cmCustomCommand const& cc, std::string config, cmLocalGenerator* lg,
+ bool transformDepfile = true, cm::optional<std::string> crossConfig = {},
+ std::function<std::string(const std::string&, const std::string&)>
+ computeInternalDepfile = {});
cmCustomCommandGenerator(const cmCustomCommandGenerator&) = delete;
cmCustomCommandGenerator(cmCustomCommandGenerator&&) = default;
cmCustomCommandGenerator& operator=(const cmCustomCommandGenerator&) =