ENH: move EXECUTABLE_OUTPUT_PATH and LIBRARY_OUTPUT_PATH initial creation to after the CMakeLists.txt files have been parsed
This commit is contained in:
parent
37c072b324
commit
145fac96fc
|
@ -134,20 +134,7 @@ void cmake::AddCMakePaths(const std::vector<std::string>& args)
|
||||||
cmSystemTools::ConvertToUnixSlashes(cMakeSelf);
|
cmSystemTools::ConvertToUnixSlashes(cMakeSelf);
|
||||||
cMakeSelf = cmSystemTools::FindProgram(cMakeSelf.c_str());
|
cMakeSelf = cmSystemTools::FindProgram(cMakeSelf.c_str());
|
||||||
|
|
||||||
if(!cmCacheManager::GetInstance()->GetCacheValue("LIBRARY_OUTPUT_PATH"))
|
// Save the value in the cache
|
||||||
{
|
|
||||||
cmCacheManager::GetInstance()->AddCacheEntry("LIBRARY_OUTPUT_PATH", "",
|
|
||||||
"Single output directory for building all libraries.",
|
|
||||||
cmCacheManager::PATH);
|
|
||||||
}
|
|
||||||
if(!cmCacheManager::GetInstance()->GetCacheValue("EXECUTABLE_OUTPUT_PATH"))
|
|
||||||
{
|
|
||||||
cmCacheManager::GetInstance()->AddCacheEntry("EXECUTABLE_OUTPUT_PATH", "",
|
|
||||||
"Single output directory for building all executables.",
|
|
||||||
cmCacheManager::PATH);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Save the value in the cache
|
|
||||||
cmCacheManager::GetInstance()->AddCacheEntry
|
cmCacheManager::GetInstance()->AddCacheEntry
|
||||||
("CMAKE_COMMAND",
|
("CMAKE_COMMAND",
|
||||||
cmSystemTools::EscapeSpaces(cMakeSelf.c_str()).c_str(),
|
cmSystemTools::EscapeSpaces(cMakeSelf.c_str()).c_str(),
|
||||||
|
@ -238,12 +225,31 @@ int cmake::Generate(const std::vector<std::string>& args)
|
||||||
lf += "/CMakeLists.txt";
|
lf += "/CMakeLists.txt";
|
||||||
if(!mf.ReadListFile(lf.c_str()))
|
if(!mf.ReadListFile(lf.c_str()))
|
||||||
{
|
{
|
||||||
this->Usage(args[0].c_str());
|
this->Usage(args[0].c_str());
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
mf.GenerateMakefile();
|
mf.GenerateMakefile();
|
||||||
|
|
||||||
|
// Before saving the cache
|
||||||
|
// if the project did not define LIBRARY_OUTPUT_PATH and
|
||||||
|
// EXECUTABLE_OUTPUT_PATH, add them now, so users
|
||||||
|
// can edit the values in the cache.
|
||||||
|
if(!cmCacheManager::GetInstance()->GetCacheValue("LIBRARY_OUTPUT_PATH"))
|
||||||
|
{
|
||||||
|
cmCacheManager::GetInstance()->AddCacheEntry("LIBRARY_OUTPUT_PATH", "",
|
||||||
|
"Single output directory for building all libraries.",
|
||||||
|
cmCacheManager::PATH);
|
||||||
|
}
|
||||||
|
if(!cmCacheManager::GetInstance()->GetCacheValue("EXECUTABLE_OUTPUT_PATH"))
|
||||||
|
{
|
||||||
|
cmCacheManager::GetInstance()->AddCacheEntry("EXECUTABLE_OUTPUT_PATH", "",
|
||||||
|
"Single output directory for building all executables.",
|
||||||
|
cmCacheManager::PATH);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
cmCacheManager::GetInstance()->SaveCache(&mf);
|
cmCacheManager::GetInstance()->SaveCache(&mf);
|
||||||
|
|
||||||
if(m_Verbose)
|
if(m_Verbose)
|
||||||
{
|
{
|
||||||
cmCacheManager::GetInstance()->PrintCache(std::cout);
|
cmCacheManager::GetInstance()->PrintCache(std::cout);
|
||||||
|
|
Loading…
Reference in New Issue