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:
parent
7df291fb6e
commit
a943b5c4f3
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
|
@ -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."
|
||||||
|
|
|
@ -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;
|
||||||
|
|
Loading…
Reference in New Issue