Fix regression to allow specifying a CMakeCache.txt file on the command line.

This commit is contained in:
Clinton Stimpson 2010-11-01 09:40:25 -06:00
parent 57c04db124
commit 0476715b87
1 changed files with 13 additions and 1 deletions

View File

@ -165,13 +165,25 @@ int main(int argc, char** argv)
if(args.count() == 2)
{
cmsys_stl::string filePath = cmSystemTools::CollapseFullPath(args[1].toAscii().data());
// check if argument is a directory containing CMakeCache.txt
cmsys_stl::string buildFilePath =
cmSystemTools::CollapseFullPath("CMakeCache.txt", filePath.c_str());
// check if argument is a CMakeCache.txt file
if(cmSystemTools::GetFilenameName(filePath) == "CMakeCache.txt" &&
cmSystemTools::FileExists(filePath.c_str()))
{
buildFilePath = filePath;
}
// check if argument is a directory containing CMakeLists.txt
cmsys_stl::string srcFilePath =
cmSystemTools::CollapseFullPath("CMakeLists.txt", filePath.c_str());
if(cmSystemTools::FileExists(buildFilePath.c_str()))
{
dialog.setBinaryDirectory(filePath.c_str());
dialog.setBinaryDirectory(cmSystemTools::GetFilenamePath(buildFilePath).c_str());
}
else if(cmSystemTools::FileExists(srcFilePath.c_str()))
{