summaryrefslogtreecommitdiffstats
path: root/Source/cmCPluginAPI.cxx
diff options
context:
space:
mode:
authorKen Martin <ken.martin@kitware.com>2006-12-07 14:45:32 (GMT)
committerKen Martin <ken.martin@kitware.com>2006-12-07 14:45:32 (GMT)
commit27379d7b081be852c2b290a98db548cffffbff04 (patch)
treefcc9e19282bdfb71bf4bf9b1f8fcea1401c2fbd5 /Source/cmCPluginAPI.cxx
parent833548f53a2ed799bb0df23fd7d973c30b423d1b (diff)
downloadCMake-27379d7b081be852c2b290a98db548cffffbff04.zip
CMake-27379d7b081be852c2b290a98db548cffffbff04.tar.gz
CMake-27379d7b081be852c2b290a98db548cffffbff04.tar.bz2
ENH: make properties a bit more formal with documentation and chaining
Diffstat (limited to 'Source/cmCPluginAPI.cxx')
-rw-r--r--Source/cmCPluginAPI.cxx20
1 files changed, 20 insertions, 0 deletions
diff --git a/Source/cmCPluginAPI.cxx b/Source/cmCPluginAPI.cxx
index f2a1cca..7b1f603 100644
--- a/Source/cmCPluginAPI.cxx
+++ b/Source/cmCPluginAPI.cxx
@@ -507,6 +507,14 @@ void * CCONV cmCreateSourceFile()
return (void *)(new cmSourceFile);
}
+void * CCONV cmCreateNewSourceFile(void *arg)
+{
+ cmMakefile *mf = static_cast<cmMakefile *>(arg);
+ cmSourceFile *sf = new cmSourceFile;
+ sf->GetProperties().SetCMakeInstance(mf->GetCMakeInstance());
+ return (void *)sf;
+}
+
void CCONV cmDestroySourceFile(void *arg)
{
cmSourceFile *sf = static_cast<cmSourceFile *>(arg);
@@ -624,6 +632,16 @@ void CCONV cmFree(void *data)
free(data);
}
+void CCONV DefineSourceFileProperty (void *arg, const char *name,
+ const char *briefDocs,
+ const char *longDocs,
+ int chained)
+{
+ cmMakefile *mf = static_cast<cmMakefile *>(arg);
+ mf->GetCMakeInstance()->DefineProperty(name,cmProperty::SOURCE_FILE,
+ briefDocs, longDocs,chained);
+}
+
} // close the extern "C" scope
cmCAPI cmStaticCAPI =
@@ -683,5 +701,7 @@ cmCAPI cmStaticCAPI =
cmAddCustomCommandToOutput,
cmAddCustomCommandToTarget,
cmDisplayStatus,
+ cmCreateNewSourceFile,
+ DefineSourceFileProperty,
};