diff options
author | Kyle Edwards <kyle.edwards@kitware.com> | 2020-02-07 19:18:54 (GMT) |
---|---|---|
committer | Kyle Edwards <kyle.edwards@kitware.com> | 2020-02-07 19:18:54 (GMT) |
commit | 67102d3252f744987762ae19c4bfffeb11cdd46e (patch) | |
tree | 90714a5acbd052779b36cf56940ebf2032068bbf /Source | |
parent | ad17c37d345cd143a131e4b5f26196e0e749ec0e (diff) | |
download | CMake-67102d3252f744987762ae19c4bfffeb11cdd46e.zip CMake-67102d3252f744987762ae19c4bfffeb11cdd46e.tar.gz CMake-67102d3252f744987762ae19c4bfffeb11cdd46e.tar.bz2 |
Ninja Multi-Config: Add support for DEPFILE option in add_custom_command()
And give other generators a path forward to add support in the future.
Diffstat (limited to 'Source')
-rw-r--r-- | Source/cmAddCustomCommandCommand.cxx | 2 | ||||
-rw-r--r-- | Source/cmGlobalGenerator.h | 2 | ||||
-rw-r--r-- | Source/cmGlobalNinjaGenerator.h | 2 |
3 files changed, 5 insertions, 1 deletions
diff --git a/Source/cmAddCustomCommandCommand.cxx b/Source/cmAddCustomCommandCommand.cxx index 5deba8b..231a2d6 100644 --- a/Source/cmAddCustomCommandCommand.cxx +++ b/Source/cmAddCustomCommandCommand.cxx @@ -174,7 +174,7 @@ bool cmAddCustomCommandCommand(std::vector<std::string> const& args, doing = doing_comment; } else if (copy == keyDEPFILE) { doing = doing_depfile; - if (mf.GetGlobalGenerator()->GetName() != "Ninja") { + if (!mf.GetGlobalGenerator()->SupportsCustomCommandDepfile()) { status.SetError("Option DEPFILE not supported by " + mf.GetGlobalGenerator()->GetName()); return false; diff --git a/Source/cmGlobalGenerator.h b/Source/cmGlobalGenerator.h index e6ab1dd..0e7e03d 100644 --- a/Source/cmGlobalGenerator.h +++ b/Source/cmGlobalGenerator.h @@ -448,6 +448,8 @@ public: MacFolder. */ virtual bool ShouldStripResourcePath(cmMakefile*) const; + virtual bool SupportsCustomCommandDepfile() const { return false; } + std::string GetSharedLibFlagsForLanguage(std::string const& lang) const; /** Generate an <output>.rule file path for a given command output. */ diff --git a/Source/cmGlobalNinjaGenerator.h b/Source/cmGlobalNinjaGenerator.h index 0e53c0e..a59859e 100644 --- a/Source/cmGlobalNinjaGenerator.h +++ b/Source/cmGlobalNinjaGenerator.h @@ -211,6 +211,8 @@ public: } const char* GetCleanTargetName() const override { return "clean"; } + bool SupportsCustomCommandDepfile() const override { return true; } + virtual cmGeneratedFileStream* GetImplFileStream( const std::string& /*config*/) const { |