diff options
author | Brad King <brad.king@kitware.com> | 2007-12-19 21:36:30 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2007-12-19 21:36:30 (GMT) |
commit | de96fd1df995f5b7d3f79514a5a3bf90c6b4b205 (patch) | |
tree | 381cb2630c9854fb72f0580b910789dc62882a7b /Source/cmake.cxx | |
parent | c7bf320539c12de919b34868a6af558459f2ddc0 (diff) | |
download | CMake-de96fd1df995f5b7d3f79514a5a3bf90c6b4b205.zip CMake-de96fd1df995f5b7d3f79514a5a3bf90c6b4b205.tar.gz CMake-de96fd1df995f5b7d3f79514a5a3bf90c6b4b205.tar.bz2 |
ENH: Moved dependency integrity check from CheckBuildSystem over to a per-target UpdateDependencies step. This greatly reduces the startup time for make processes and allows individual targets to be built without a global dependency check.
Diffstat (limited to 'Source/cmake.cxx')
-rw-r--r-- | Source/cmake.cxx | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/Source/cmake.cxx b/Source/cmake.cxx index 4143435..baa9f59 100644 --- a/Source/cmake.cxx +++ b/Source/cmake.cxx @@ -1353,6 +1353,10 @@ int cmake::ExecuteCMakeCommand(std::vector<std::string>& args) // Internal CMake dependency scanning support. else if (args[1] == "cmake_depends" && args.size() >= 6) { + // Use the make system's VERBOSE environment variable to enable + // verbose output. + bool verbose = cmSystemTools::GetEnv("VERBOSE") != 0; + // Create a cmake object instance to process dependencies. cmake cm; std::string gen; @@ -1416,7 +1420,7 @@ int cmake::ExecuteCMakeCommand(std::vector<std::string>& args) lgd->GetMakefile()->MakeStartDirectoriesCurrent(); // Actually scan dependencies. - return lgd->ScanDependencies(depInfo.c_str())? 0 : 2; + return lgd->UpdateDependencies(depInfo.c_str(), verbose)? 0 : 2; } return 1; } @@ -2549,7 +2553,11 @@ int cmake::CheckBuildSystem() // Check the dependencies in case source files were removed. std::auto_ptr<cmLocalGenerator> lgd(ggd->CreateLocalGenerator()); lgd->SetGlobalGenerator(ggd.get()); - lgd->CheckDependencies(mf, verbose, this->ClearBuildSystem); + + if(this->ClearBuildSystem) + { + lgd->ClearDependencies(mf, verbose); + } // Check for multiple output pairs. ggd->CheckMultipleOutputs(mf, verbose); |