gwenhywfar 5.12.0
project.h
Go to the documentation of this file.
1/***************************************************************************
2 begin : Mon Feb 08 2021
3 copyright : (C) 2021 by Martin Preuss
4 email : martin@libchipcard.de
5
6 ***************************************************************************
7 * Please see toplevel file COPYING for license details *
8 ***************************************************************************/
9
10#ifndef GWBUILD_PROJECT_H
11#define GWBUILD_PROJECT_H
12
13
14typedef struct GWB_PROJECT GWB_PROJECT;
15
16
24
25
26#define GWB_PROJECT_FLAGS_SHARED 0x0001
27#define GWB_PROJECT_FLAGS_CONFIG_H 0x0002
28
29
30
32void GWB_Project_free(GWB_PROJECT *project);
33
35
37
38
39const char *GWB_Project_GetProjectName(const GWB_PROJECT *project);
40void GWB_Project_SetProjectName(GWB_PROJECT *project, const char *s);
41
42void GWB_Project_SetVersion(GWB_PROJECT *project, int vMajor, int vMinor, int vPatchlevel, int vBuild, const char *vTag);
47const char *GWB_Project_GetVersionTag(const GWB_PROJECT *project);
48
49void GWB_Project_SetSoVersion(GWB_PROJECT *project, int vCurrent, int vAge, int vRevision);
53
54GWB_KEYVALUEPAIR_LIST *GWB_Project_GetDefineList(const GWB_PROJECT *project);
55void GWB_Project_SetDefine(GWB_PROJECT *project, const char *name, const char *value);
56void GWB_Project_SetDefineQuoted(GWB_PROJECT *project, const char *name, const char *value);
58
59
60GWB_KEYVALUEPAIR_LIST *GWB_Project_GetGivenOptionList(const GWB_PROJECT *project);
61void GWB_Project_SetGivenOptionList(GWB_PROJECT *project, GWB_KEYVALUEPAIR_LIST *kvpList);
62void GWB_Project_SetGivenOption(GWB_PROJECT *project, const char *name, const char *value);
63const char *GWB_Project_GetGivenOption(const GWB_PROJECT *project, const char *name);
64
65
66GWB_FILE_LIST2 *GWB_Project_GetFileList(const GWB_PROJECT *project);
67GWB_FILE *GWB_Project_GetFileByPathAndName(const GWB_PROJECT *project, const char *folder, const char *fname);
68void GWB_Project_AddFile(GWB_PROJECT *project, GWB_FILE *file);
69
70GWB_TARGET_LIST2 *GWB_Project_GetTargetList(const GWB_PROJECT *project);
71void GWB_Project_AddTarget(GWB_PROJECT *project, GWB_TARGET *target);
72GWB_TARGET *GWB_Project_GetTargetById(const GWB_PROJECT *project, const char *name);
73
74GWB_BUILDER_LIST2 *GWB_Project_GetBuilderList(const GWB_PROJECT *project);
75void GWB_Project_AddBuilder(GWB_PROJECT *project, GWB_BUILDER *builder);
76
77
78GWB_OPTION_LIST *GWB_Project_GetOptionList(const GWB_PROJECT *project);
79void GWB_Project_AddOption(GWB_PROJECT *project, GWB_OPTION *option);
80GWB_OPTION *GWB_Project_GetOptionById(const GWB_PROJECT *project, const char *optionId);
81
82uint32_t GWB_Project_GetFlags(const GWB_PROJECT *project);
83void GWB_Project_SetFlags(GWB_PROJECT *project, uint32_t fl);
84void GWB_Project_AddFlags(GWB_PROJECT *project, uint32_t fl);
85void GWB_Project_DelFlags(GWB_PROJECT *project, uint32_t fl);
86
87GWB_BUILD_CMD_LIST *GWB_Project_GetExplicitBuildList(const GWB_PROJECT *project);
89
90
91void GWB_Project_toXml(const GWB_PROJECT *project, GWEN_XMLNODE *xmlNode);
92
93
94void GWB_Project_Dump(const GWB_PROJECT *project, int indent, int fullDump);
95
96
97#endif
struct GWB_BUILD_CMD GWB_BUILD_CMD
Definition buildcmd.h:20
struct GWB_BUILDER GWB_BUILDER
Definition builder.h:17
struct GWB_CONTEXT GWB_CONTEXT
Definition context.h:17
struct GWB_FILE GWB_FILE
Definition file.h:18
struct GWENBUILD GWENBUILD
Definition gwenbuild.h:15
struct GWB_OPTION GWB_OPTION
Definition option.h:17
void GWB_Project_toXml(const GWB_PROJECT *project, GWEN_XMLNODE *xmlNode)
Definition project.c:420
void GWB_Project_free(GWB_PROJECT *project)
Definition project.c:51
void GWB_Project_SetGivenOptionList(GWB_PROJECT *project, GWB_KEYVALUEPAIR_LIST *kvpList)
Definition project.c:381
void GWB_Project_SetSoVersion(GWB_PROJECT *project, int vCurrent, int vAge, int vRevision)
Definition project.c:143
GWB_KEYVALUEPAIR_LIST * GWB_Project_GetDefineList(const GWB_PROJECT *project)
Definition project.c:291
void GWB_Project_SetFlags(GWB_PROJECT *project, uint32_t fl)
Definition project.c:180
GWB_FILE * GWB_Project_GetFileByPathAndName(const GWB_PROJECT *project, const char *folder, const char *fname)
Definition project.c:212
GWB_BUILDER_LIST2 * GWB_Project_GetBuilderList(const GWB_PROJECT *project)
Definition project.c:277
const char * GWB_Project_GetGivenOption(const GWB_PROJECT *project, const char *name)
Definition project.c:399
void GWB_Project_AddOption(GWB_PROJECT *project, GWB_OPTION *option)
Definition project.c:348
void GWB_Project_AddTarget(GWB_PROJECT *project, GWB_TARGET *target)
Definition project.c:241
GWB_PROJECT * GWB_Project_new(GWENBUILD *gwbuild, GWB_CONTEXT *ctx)
Definition project.c:30
GWB_TARGET * GWB_Project_GetTargetById(const GWB_PROJECT *project, const char *name)
Definition project.c:248
uint32_t GWB_Project_GetFlags(const GWB_PROJECT *project)
Definition project.c:173
void GWB_Project_AddFile(GWB_PROJECT *project, GWB_FILE *file)
Definition project.c:219
void GWB_Project_SetVersion(GWB_PROJECT *project, int vMajor, int vMinor, int vPatchlevel, int vBuild, const char *vTag)
Definition project.c:96
GWENBUILD * GWB_Project_GetGwbuild(const GWB_PROJECT *project)
Definition project.c:70
int GWB_Project_GetVersionPatchlevel(const GWB_PROJECT *project)
Definition project.c:122
GWB_BUILD_CMD_LIST * GWB_Project_GetExplicitBuildList(const GWB_PROJECT *project)
Definition project.c:406
int GWB_Project_GetSoVersionRevision(const GWB_PROJECT *project)
Definition project.c:166
GWB_OPTION * GWB_Project_GetOptionById(const GWB_PROJECT *project, const char *optionId)
Definition project.c:355
GWB_CONTEXT * GWB_Project_GetRootContext(const GWB_PROJECT *project)
Definition project.c:226
int GWB_Project_GetSoVersionAge(const GWB_PROJECT *project)
Definition project.c:159
int GWB_Project_GetVersionMinor(const GWB_PROJECT *project)
Definition project.c:115
struct GWB_PROJECT GWB_PROJECT
Definition project.h:14
GWB_KEYVALUEPAIR_LIST * GWB_Project_GetGivenOptionList(const GWB_PROJECT *project)
Definition project.c:374
void GWB_Project_AddBuilder(GWB_PROJECT *project, GWB_BUILDER *builder)
Definition project.c:284
void GWB_Project_SetGivenOption(GWB_PROJECT *project, const char *name, const char *value)
Definition project.c:389
void GWB_Project_SetDefineQuoted(GWB_PROJECT *project, const char *name, const char *value)
Definition project.c:316
GWB_FILE_LIST2 * GWB_Project_GetFileList(const GWB_PROJECT *project)
Definition project.c:205
int GWB_Project_GetSoVersionCurrent(const GWB_PROJECT *project)
Definition project.c:152
const char * GWB_Project_GetVersionTag(const GWB_PROJECT *project)
Definition project.c:136
GWB_TARGET_LIST2 * GWB_Project_GetTargetList(const GWB_PROJECT *project)
Definition project.c:234
void GWB_Project_AddExplicitBuild(GWB_PROJECT *project, GWB_BUILD_CMD *bcmd)
Definition project.c:413
GWB_OPTION_LIST * GWB_Project_GetOptionList(const GWB_PROJECT *project)
Definition project.c:341
void GWB_Project_AddFlags(GWB_PROJECT *project, uint32_t fl)
Definition project.c:187
void GWB_Project_SetDefine(GWB_PROJECT *project, const char *name, const char *value)
Definition project.c:298
void GWB_Project_DelFlags(GWB_PROJECT *project, uint32_t fl)
Definition project.c:194
void GWB_Project_Dump(const GWB_PROJECT *project, int indent, int fullDump)
Definition project.c:538
int GWB_Project_GetVersionMajor(const GWB_PROJECT *project)
Definition project.c:108
const char * GWB_Project_GetProjectName(const GWB_PROJECT *project)
Definition project.c:77
void GWB_Project_SetProjectName(GWB_PROJECT *project, const char *s)
Definition project.c:84
int GWB_Project_GetVersionBuild(const GWB_PROJECT *project)
Definition project.c:129
void GWB_Project_ClearDefineList(GWB_PROJECT *project)
Definition project.c:331
struct GWB_TARGET GWB_TARGET
Definition target.h:17
struct GWEN__XMLNODE GWEN_XMLNODE
Definition xml.h:156