MCPcopy Create free account
hub / github.com/Kitware/CMake / WriteNinjaRequiredVersion

Method WriteNinjaRequiredVersion

Source/cmLocalNinjaGenerator.cxx:281–305  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

279}
280
281void cmLocalNinjaGenerator::WriteNinjaRequiredVersion(std::ostream& os)
282{
283 // Default required version
284 std::string requiredVersion = cmGlobalNinjaGenerator::RequiredNinjaVersion();
285
286 // Ninja generator uses the 'console' pool if available (>= 1.5)
287 if (this->GetGlobalNinjaGenerator()->SupportsDirectConsole()) {
288 requiredVersion =
289 cmGlobalNinjaGenerator::RequiredNinjaVersionForConsolePool();
290 }
291
292 // The Ninja generator writes rules which require support for restat
293 // when rebuilding build.ninja manifest (>= 1.8)
294 if (this->GetGlobalNinjaGenerator()->SupportsManifestRestat() &&
295 this->GetCMakeInstance()->DoWriteGlobVerifyTarget() &&
296 !this->GetGlobalNinjaGenerator()->GlobalSettingIsOn(
297 "CMAKE_SUPPRESS_REGENERATION")) {
298 requiredVersion =
299 cmGlobalNinjaGenerator::RequiredNinjaVersionForManifestRestat();
300 }
301
302 cmGlobalNinjaGenerator::WriteComment(
303 os, "Minimal version of Ninja required by this file");
304 os << "ninja_required_version = " << requiredVersion << "\n\n";
305}
306
307void cmLocalNinjaGenerator::WriteNinjaConfigurationVariable(
308 std::ostream& os, std::string const& config)

Callers 1

WriteBuildFileTopMethod · 0.95

Calls 6

GetCMakeInstanceMethod · 0.95
GlobalSettingIsOnMethod · 0.80
SupportsDirectConsoleMethod · 0.45

Tested by

no test coverage detected