From e3e9fb633a3c8df6a34d2e0f6ee9262e3594a690 Mon Sep 17 00:00:00 2001 From: Andy Cedilnik <andy.cedilnik@kitware.com> Date: Thu, 24 Oct 2002 10:58:25 -0400 Subject: [PATCH] Subdirs reports an error if the subdirectory does not exists --- Source/cmSubdirCommand.cxx | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/Source/cmSubdirCommand.cxx b/Source/cmSubdirCommand.cxx index 7651c2a91a..10bb916085 100644 --- a/Source/cmSubdirCommand.cxx +++ b/Source/cmSubdirCommand.cxx @@ -26,12 +26,25 @@ bool cmSubdirCommand::InitialPass(std::vector<std::string> const& argsIn) } std::vector<std::string> args; cmSystemTools::ExpandListArguments(argsIn, args); + bool res = true; for(std::vector<std::string>::const_iterator i = args.begin(); i != args.end(); ++i) { - m_Makefile->AddSubDirectory(i->c_str()); + std::string directory = std::string(m_Makefile->GetCurrentDirectory()) + + "/" + i->c_str(); + if ( cmSystemTools::FileIsDirectory(directory.c_str()) ) + { + m_Makefile->AddSubDirectory(i->c_str()); + } + else + { + std::string error = "Incorrect SUBDIRS command. Directory: "; + error += directory + " does not exists."; + this->SetError(error.c_str()); + res = false; + } } - return true; + return res; } -- GitLab