ENH: Added proper dependency generation for a package on cable executable.

This commit is contained in:
Brad King 2001-03-09 10:52:03 -05:00
parent 4f59f98b70
commit 93a17629b6
1 changed files with 7 additions and 12 deletions

View File

@ -35,28 +35,23 @@ bool cmCablePackageCommand::Invoke(std::vector<std::string>& args)
// cmCablePackageCommand's WritePackageFooter(). This will call // cmCablePackageCommand's WritePackageFooter(). This will call
// this cmCablePackageCommand's WritePackageHeader(). // this cmCablePackageCommand's WritePackageHeader().
m_CableData->BeginPackage(this); m_CableData->BeginPackage(this);
// Tell the makefile that it needs the "cable" utility.
m_Makefile->AddUtility("cable");
// Add custom rules to the makefile to generate this package's source // Add custom rules to the makefile to generate this package's source
// files. // files.
std::string command = "${CABLE}"; std::string command = "${CABLE}";
m_Makefile->ExpandVariablesInString(command); m_Makefile->ExpandVariablesInString(command);
std::vector<std::string> depends; std::vector<std::string> depends;
depends.push_back(command); depends.push_back(command);
command += " cable_config.xml"; command += " cable_config.xml";
std::string packageFile = "Cxx/"+m_PackageName+"_cxx"; std::string packageFile = "Cxx/"+m_PackageName+"_cxx.cxx";
std::string packageHeader = packageFile+".h";
std::string packageSource = packageFile+".cxx";
// A rule for the package's header file.
m_Makefile->AddCustomCommand("cable_config.xml",
packageHeader.c_str(),
command.c_str(),
depends);
// A rule for the package's source file. // A rule for the package's source file.
m_Makefile->AddCustomCommand("cable_config.xml", m_Makefile->AddCustomCommand("cable_config.xml",
packageSource.c_str(), packageFile.c_str(),
command.c_str(), command.c_str(),
depends); depends);