mirror of
https://github.com/Kitware/CMake.git
synced 2025-10-20 12:53:55 +08:00
Ninja Multi-Config: Fix cross-config custom command dependency tracing
Process `CMAKE_CROSS_CONFIGS` and friends to properly configure the generator for cross-config behavior before custom command dependency tracing.
This commit is contained in:
@@ -1402,6 +1402,9 @@ bool cmGlobalGenerator::Compute()
|
|||||||
this->SupportsDefaultConfigs())) {
|
this->SupportsDefaultConfigs())) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
if (!this->InspectConfigTypeVariables()) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
// Some generators track files replaced during the Generate.
|
// Some generators track files replaced during the Generate.
|
||||||
// Start with an empty vector:
|
// Start with an empty vector:
|
||||||
|
@@ -153,6 +153,8 @@ public:
|
|||||||
*/
|
*/
|
||||||
virtual void Configure();
|
virtual void Configure();
|
||||||
|
|
||||||
|
virtual bool InspectConfigTypeVariables() { return true; }
|
||||||
|
|
||||||
bool Compute();
|
bool Compute();
|
||||||
virtual void AddExtraIDETargets() {}
|
virtual void AddExtraIDETargets() {}
|
||||||
|
|
||||||
|
@@ -568,9 +568,6 @@ void cmGlobalNinjaGenerator::Generate()
|
|||||||
msg.str());
|
msg.str());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (!this->InspectConfigTypeVariables()) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
if (!this->OpenBuildFileStreams()) {
|
if (!this->OpenBuildFileStreams()) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@@ -481,8 +481,6 @@ protected:
|
|||||||
const std::set<std::string>& all, const std::set<std::string>& defaults,
|
const std::set<std::string>& all, const std::set<std::string>& defaults,
|
||||||
const std::vector<std::string>& items);
|
const std::vector<std::string>& items);
|
||||||
|
|
||||||
virtual bool InspectConfigTypeVariables() { return true; }
|
|
||||||
|
|
||||||
std::set<std::string> CrossConfigs;
|
std::set<std::string> CrossConfigs;
|
||||||
std::set<std::string> DefaultConfigs;
|
std::set<std::string> DefaultConfigs;
|
||||||
std::string DefaultFileConfig;
|
std::string DefaultFileConfig;
|
||||||
|
Reference in New Issue
Block a user