cleaned up API
This commit is contained in:
parent
d59d94ff6a
commit
bafeb69742
|
@ -172,7 +172,6 @@ define the different types of compiles a library may be
|
|||
Finally we define the key data structures and function prototypes
|
||||
=========================================================================*/
|
||||
typedef const char* (*CM_DOC_FUNCTION)();
|
||||
typedef const char* (*CM_NAME_FUNCTION)();
|
||||
typedef int (*CM_INITIAL_PASS_FUNCTION)(void *info, void *mf,
|
||||
int argc, char *[]);
|
||||
typedef void (*CM_FINAL_PASS_FUNCTION)(void *info, void *mf);
|
||||
|
@ -188,6 +187,7 @@ Finally we define the key data structures and function prototypes
|
|||
CM_DESTRUCTOR_FUNCTION Destructor;
|
||||
CM_DOC_FUNCTION GetTerseDocumentation;
|
||||
CM_DOC_FUNCTION GetFullDocumentation;
|
||||
const char *Name;
|
||||
void *ClientData;
|
||||
} cmLoadedCommandInfo;
|
||||
|
||||
|
|
|
@ -38,7 +38,6 @@ public:
|
|||
{
|
||||
cmLoadedCommand *newC = new cmLoadedCommand;
|
||||
// we must copy when we clone
|
||||
newC->m_commandName = this->m_commandName;
|
||||
memcpy(&newC->info,&this->info,sizeof(info));
|
||||
return newC;
|
||||
}
|
||||
|
@ -68,9 +67,7 @@ public:
|
|||
/**
|
||||
* The name of the command as specified in CMakeList.txt.
|
||||
*/
|
||||
virtual const char* GetName() {
|
||||
return m_commandName.c_str();
|
||||
}
|
||||
virtual const char* GetName() { return info.Name; }
|
||||
|
||||
/**
|
||||
* Succinct documentation.
|
||||
|
@ -105,7 +102,6 @@ public:
|
|||
cmTypeMacro(cmLoadedCommand, cmCommand);
|
||||
|
||||
cmLoadedCommandInfo info;
|
||||
std::string m_commandName;
|
||||
};
|
||||
|
||||
bool cmLoadedCommand::InitialPass(std::vector<std::string> const& args)
|
||||
|
@ -193,15 +189,6 @@ bool cmLoadCommandCommand::InitialPass(std::vector<std::string> const& argsIn)
|
|||
{
|
||||
// Look for the symbol cmLoad, cmGetFactoryCompilerUsed,
|
||||
// and cmGetFactoryVersion in the library
|
||||
CM_NAME_FUNCTION nameFunction
|
||||
= (CM_NAME_FUNCTION)
|
||||
cmDynamicLoader::GetSymbolAddress(lib, "cmGetName");
|
||||
if ( !nameFunction )
|
||||
{
|
||||
nameFunction =
|
||||
(CM_NAME_FUNCTION)(
|
||||
cmDynamicLoader::GetSymbolAddress(lib, "_cmGetName"));
|
||||
}
|
||||
CM_INIT_FUNCTION initFunction
|
||||
= (CM_INIT_FUNCTION)
|
||||
cmDynamicLoader::GetSymbolAddress(lib, "cmInitializeCommand");
|
||||
|
@ -213,11 +200,10 @@ bool cmLoadCommandCommand::InitialPass(std::vector<std::string> const& argsIn)
|
|||
}
|
||||
// if the symbol is found call it to set the name on the
|
||||
// function blocker
|
||||
if(nameFunction)
|
||||
if(initFunction)
|
||||
{
|
||||
// create a function blocker and set it up
|
||||
cmLoadedCommand *f = new cmLoadedCommand();
|
||||
f->m_commandName = (*nameFunction)();
|
||||
if (!initFunction)
|
||||
{
|
||||
this->SetError("Attempt to load command failed. "
|
||||
|
|
Loading…
Reference in New Issue