Ninja Multi-Config: Add support for cross-config custom commands

Co-Author: Brad King <brad.king@kitware.com>
This commit is contained in:
Kyle Edwards
2020-12-09 16:39:15 -05:00
committed by Brad King
parent 15467f12f7
commit dcf9f4d2f7
17 changed files with 548 additions and 106 deletions
+8 -3
View File
@@ -10,6 +10,7 @@
#include <string>
#include <vector>
#include "cmListFileCache.h"
#include "cmLocalCommonGenerator.h"
#include "cmNinjaTypes.h"
#include "cmOutputConverter.h"
@@ -70,6 +71,10 @@ public:
const std::string& fileConfig,
cmNinjaTargetDepends depends);
std::string CreateUtilityOutput(std::string const& targetName,
std::vector<std::string> const& byproducts,
cmListFileBacktrace const& bt) override;
std::vector<cmCustomCommandGenerator> MakeCustomCommandGenerators(
cmCustomCommand const& cc, std::string const& config) override;
@@ -102,9 +107,9 @@ private:
void WriteProcessedMakefile(std::ostream& os);
void WritePools(std::ostream& os);
void WriteCustomCommandBuildStatement(cmCustomCommand const* cc,
const cmNinjaDeps& orderOnlyDeps,
const std::string& config);
void WriteCustomCommandBuildStatement(
cmCustomCommand const* cc, const std::set<cmGeneratorTarget*>& targets,
const std::string& config);
void WriteCustomCommandBuildStatements(const std::string& config);