ENH: Added generation of a rule to re-run CMake if the cable_config.xml file is missing.
This commit is contained in:
parent
9312a7706b
commit
a8f9aa814e
|
@ -78,4 +78,30 @@ void cmCableCommand::SetupCableData()
|
|||
// command as its owner.
|
||||
pathName += "/cable_config.xml";
|
||||
m_CableData = new cmCableData(this, pathName);
|
||||
|
||||
// We must add a custom rule to cause the cable_config.xml to be re-built
|
||||
// when it is removed. Rebuilding it means re-running CMake.
|
||||
std::string cMakeLists = m_Makefile->GetStartDirectory();
|
||||
cMakeLists += "/";
|
||||
cMakeLists += "CMakeLists.txt";
|
||||
std::string command = m_Makefile->GetHomeOutputDirectory();
|
||||
command += "/CMake/Source/";
|
||||
command += cmSystemTools::GetCMakeExecutableName();
|
||||
command += " " + cMakeLists;
|
||||
command += " ";
|
||||
command += cmSystemTools::GetCMakeExecutableOptions();
|
||||
command += " -H";
|
||||
command += m_Makefile->GetHomeDirectory();
|
||||
command += " -S";
|
||||
command += m_Makefile->GetStartDirectory();
|
||||
command += " -O";
|
||||
command += m_Makefile->GetStartOutputDirectory();
|
||||
command += " -B";
|
||||
command += m_Makefile->GetHomeOutputDirectory();
|
||||
|
||||
std::vector<std::string> depends;
|
||||
m_Makefile->AddCustomCommand(cMakeLists.c_str(),
|
||||
"cable_config.xml",
|
||||
command.c_str(),
|
||||
depends);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue