diff --git a/Source/cmakemain.cxx b/Source/cmakemain.cxx index 3b29bf541..2e7ff842b 100644 --- a/Source/cmakemain.cxx +++ b/Source/cmakemain.cxx @@ -110,7 +110,15 @@ int main(int ac, char** av) int do_cmake(int ac, char** av) { cmDocumentation doc; - if(doc.CheckOptions(ac, av)) + int nocwd = 0; + + if ( cmSystemTools::GetCurrentWorkingDirectory().size() == 0 ) + { + std::cerr << "Current working directory cannot be established." << std::endl; + nocwd = 1; + } + + if(doc.CheckOptions(ac, av) || nocwd) { // Construct and print requested documentation. cmake hcm; diff --git a/Source/ctest.cxx b/Source/ctest.cxx index 0b3b7be39..9a0ebdcaf 100644 --- a/Source/ctest.cxx +++ b/Source/ctest.cxx @@ -101,6 +101,15 @@ static const cmDocumentationEntry cmDocumentationSeeAlso[] = int main (int argc, char *argv[]) { cmSystemTools::EnableMSVCDebugHook(); + int nocwd = 0; + + if ( cmSystemTools::GetCurrentWorkingDirectory().size() == 0 ) + { + std::cerr << "Current working directory cannot be established." << std::endl; + nocwd = 1; + } + + // If there is a testing input file, check for documentation options // only if there are actually arguments. We want running without @@ -114,7 +123,7 @@ int main (int argc, char *argv[]) std::cout << "*********************************" << std::endl; } cmDocumentation doc; - if(doc.CheckOptions(argc, argv)) + if(doc.CheckOptions(argc, argv) || nocwd) { // Construct and print requested documentation. doc.SetName("ctest");