diff options
author | Ken Martin <ken.martin@kitware.com> | 2002-09-16 20:27:00 (GMT) |
---|---|---|
committer | Ken Martin <ken.martin@kitware.com> | 2002-09-16 20:27:00 (GMT) |
commit | 885f55b3d0cfe0d1274999b44fc441967410520f (patch) | |
tree | 7ea3c5e28bf203fbd1bfadc050503c965b43b738 /Tests/LoadCommandOneConfig/CMakeCommands/cmTestCommand.c | |
parent | 4dec2a174a83415e9b6d26f4d0e0750111a051ef (diff) | |
download | CMake-885f55b3d0cfe0d1274999b44fc441967410520f.zip CMake-885f55b3d0cfe0d1274999b44fc441967410520f.tar.gz CMake-885f55b3d0cfe0d1274999b44fc441967410520f.tar.bz2 |
load command test
Diffstat (limited to 'Tests/LoadCommandOneConfig/CMakeCommands/cmTestCommand.c')
-rw-r--r-- | Tests/LoadCommandOneConfig/CMakeCommands/cmTestCommand.c | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/Tests/LoadCommandOneConfig/CMakeCommands/cmTestCommand.c b/Tests/LoadCommandOneConfig/CMakeCommands/cmTestCommand.c new file mode 100644 index 0000000..a4005dc --- /dev/null +++ b/Tests/LoadCommandOneConfig/CMakeCommands/cmTestCommand.c @@ -0,0 +1,62 @@ +#include "cmCPluginAPI.h" +#include <string.h> +#include <stdlib.h> +#include <stdio.h> + +typedef struct +{ + char *LibraryName; +} cmVTKWrapTclData; + + +/* do almost everything in the initial pass */ +int InitialPass(void *inf, void *mf, int argc, char *argv[]) +{ + cmLoadedCommandInfo *info = (cmLoadedCommandInfo *)inf; + + cmVTKWrapTclData *cdata = + (cmVTKWrapTclData *)malloc(sizeof(cmVTKWrapTclData)); + cdata->LibraryName = "BOO"; + info->CAPI->SetClientData(info,cdata); + + // Now check and see if the value has been stored in the cache + // already, if so use that value and don't look for the program + if(!info->CAPI->IsOn(mf,"TEST_COMMAND_TEST1")) + { + info->CAPI->AddDefinition(mf, "TEST_DEF", "HOO"); + return 1; + } + + info->CAPI->AddDefinition(mf, "TEST_DEF", "HOO"); + cdata->LibraryName = "HOO"; + return 1; +} + +void FinalPass(void *inf, void *mf) +{ + cmLoadedCommandInfo *info = (cmLoadedCommandInfo *)inf; + // get our client data from initial pass + cmVTKWrapTclData *cdata = + (cmVTKWrapTclData *)info->CAPI->GetClientData(info); + if (strcmp(info->CAPI->GetDefinition(mf, "TEST_DEF"),"HOO") || + strcmp(cdata->LibraryName,"HOO")) + { + fprintf(stderr,"*** Failed LOADED COMMAND Final Pass\n"); + } +} + +CM_PLUGIN_EXPORT const char *cmGetName() +{ + return "CMAKE_TEST_COMMAND"; +} + +void CM_PLUGIN_EXPORT cmInitializeCommand(cmLoadedCommandInfo *info) +{ + info->InitialPass = InitialPass; + info->FinalPass = FinalPass; + info->m_Inherited = 0; +} + + + + |