Fail early if no current working directory exists

Remove the old "nocwd" behavior that attempts to provide the "--help"
output when no working directory is available.  The long help output
scrolls the real error message out of typical terminal sizes.  Also
execute as little code as possible when no working directory exists.
This commit is contained in:
Brad King 2013-02-07 08:53:50 -05:00
parent 7df291fb6e
commit a943b5c4f3
3 changed files with 7 additions and 11 deletions

View File

@ -180,7 +180,6 @@ int main (int argc, char *argv[])
{ {
cmSystemTools::FindExecutableDirectory(argv[0]); cmSystemTools::FindExecutableDirectory(argv[0]);
cmCPackLog log; cmCPackLog log;
int nocwd = 0;
log.SetErrorPrefix("CPack Error: "); log.SetErrorPrefix("CPack Error: ");
log.SetWarningPrefix("CPack Warning: "); log.SetWarningPrefix("CPack Warning: ");
@ -193,7 +192,7 @@ int main (int argc, char *argv[])
{ {
cmCPack_Log(&log, cmCPackLog::LOG_ERROR, cmCPack_Log(&log, cmCPackLog::LOG_ERROR,
"Current working directory cannot be established." << std::endl); "Current working directory cannot be established." << std::endl);
nocwd = 1; return 1;
} }
std::string generator; std::string generator;
@ -297,7 +296,7 @@ int main (int argc, char *argv[])
* should launch cpack using "cpackConfigFile" if it exists * should launch cpack using "cpackConfigFile" if it exists
* in the current directory. * in the current directory.
*/ */
if((doc.CheckOptions(argc, argv,"-G") || nocwd) && !(argc==1)) if((doc.CheckOptions(argc, argv,"-G")) && !(argc==1))
{ {
help = true; help = true;
} }

View File

@ -344,19 +344,17 @@ int main(int ac, char** av)
int do_cmake(int ac, char** av) int do_cmake(int ac, char** av)
{ {
int nocwd = 0;
if ( cmSystemTools::GetCurrentWorkingDirectory().size() == 0 ) if ( cmSystemTools::GetCurrentWorkingDirectory().size() == 0 )
{ {
std::cerr << "Current working directory cannot be established." std::cerr << "Current working directory cannot be established."
<< std::endl; << std::endl;
nocwd = 1; return 1;
} }
#ifdef CMAKE_BUILD_WITH_CMAKE #ifdef CMAKE_BUILD_WITH_CMAKE
cmDocumentation doc; cmDocumentation doc;
doc.addCMakeStandardDocSections(); doc.addCMakeStandardDocSections();
if(doc.CheckOptions(ac, av, "-E") || nocwd) if(doc.CheckOptions(ac, av, "-E"))
{ {
// Construct and print requested documentation. // Construct and print requested documentation.
cmake hcm; cmake hcm;
@ -424,7 +422,7 @@ int do_cmake(int ac, char** av)
return result; return result;
} }
#else #else
if ( nocwd || ac == 1 ) if ( ac == 1 )
{ {
std::cout << std::cout <<
"Bootstrap CMake should not be used outside CMake build process." "Bootstrap CMake should not be used outside CMake build process."

View File

@ -273,14 +273,13 @@ int main (int argc, char *argv[])
return cmCTestLaunch::Main(argc, argv); return cmCTestLaunch::Main(argc, argv);
} }
int nocwd = 0;
cmCTest inst; cmCTest inst;
if ( cmSystemTools::GetCurrentWorkingDirectory().size() == 0 ) if ( cmSystemTools::GetCurrentWorkingDirectory().size() == 0 )
{ {
cmCTestLog(&inst, ERROR_MESSAGE, cmCTestLog(&inst, ERROR_MESSAGE,
"Current working directory cannot be established." << std::endl); "Current working directory cannot be established." << std::endl);
nocwd = 1; return 1;
} }
// If there is a testing input file, check for documentation options // If there is a testing input file, check for documentation options
@ -298,7 +297,7 @@ int main (int argc, char *argv[])
} }
cmDocumentation doc; cmDocumentation doc;
doc.addCTestStandardDocSections(); doc.addCTestStandardDocSections();
if(doc.CheckOptions(argc, argv) || nocwd) if(doc.CheckOptions(argc, argv))
{ {
// Construct and print requested documentation. // Construct and print requested documentation.
std::vector<cmDocumentationEntry> commands; std::vector<cmDocumentationEntry> commands;