Skip to content
Snippets Groups Projects
Commit 852be8a5 authored by Brad King's avatar Brad King
Browse files

ENH: Each cmCableWrapTclCommand instance now uses a single cmMakeDepend object...

ENH: Each cmCableWrapTclCommand instance now uses a single cmMakeDepend object for dependencies for all the gccxml input files it generates.  This should significantly improve generation time.
parent eff67f30
No related branches found
No related tags found
No related merge requests found
......@@ -45,7 +45,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#include "cmMakeDepend.h"
cmCableWrapTclCommand::cmCableWrapTclCommand():
m_CableClassSet(NULL)
m_CableClassSet(NULL), m_MakeDepend(new cmMakeDepend)
{
}
......@@ -55,6 +55,7 @@ cmCableWrapTclCommand::~cmCableWrapTclCommand()
{
delete m_CableClassSet;
}
delete m_MakeDepend;
}
......@@ -113,6 +114,9 @@ bool cmCableWrapTclCommand::InitialPass(std::vector<std::string>& args)
*/
void cmCableWrapTclCommand::GenerateCableFiles() const
{
// Make sure the dependency generator is ready to go.
m_MakeDepend->SetMakefile(m_Makefile);
// Each wrapped class may have an associated "tag" that represents
// an alternative name without funky C++ syntax in it. This makes
// it easier to refer to the class in a Tcl script. We will also
......@@ -320,10 +324,8 @@ void cmCableWrapTclCommand::GenerateCableClassFiles(const char* name,
depends.push_back(command);
// Get the dependencies of the file.
cmMakeDepend md;
md.SetMakefile(m_Makefile);
const cmDependInformation* dependInfo =
md.FindDependencies(classCxxName.c_str());
m_MakeDepend->FindDependencies(classCxxName.c_str());
if(dependInfo)
{
for(cmDependInformation::DependencySet::const_iterator d =
......
......@@ -45,6 +45,8 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#include "cmCommand.h"
#include "cmCableClassSet.h"
class cmMakeDepend;
/** \class cmCableWrapTclCommand
* \brief Define a command that wraps a set of classes in Tcl.
*/
......@@ -119,6 +121,9 @@ private:
* added to the makefile as another set.
*/
cmCableClassSet* m_CableClassSet;
///! The dependency generator.
cmMakeDepend* m_MakeDepend;
};
#endif
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment