200 lines
5.5 KiB
JSON
200 lines
5.5 KiB
JSON
{
|
|
"$schema": "https://json-schema.org/draft/2019-09/schema",
|
|
"type": "object",
|
|
"properties":
|
|
{
|
|
"name": {"type": "string"},
|
|
"type":
|
|
{
|
|
"type": "string",
|
|
"enum": ["aurora", "generic", "root", "lazy_free", "utility", "blank"],
|
|
"description": "https://pastebin.com/ThE2t9EJ"
|
|
},
|
|
|
|
"sources":
|
|
{
|
|
"type": ["array", "string"],
|
|
"items":
|
|
{
|
|
"type": "string"
|
|
},
|
|
"description": "add most files matching regex('${path}'). .masm, .inl, and others may not match unless specifically requested because premake do be premake. "
|
|
},
|
|
"sourcePaths":
|
|
{
|
|
"type": ["array", "string"],
|
|
"items":
|
|
{
|
|
"type": "string"
|
|
},
|
|
"description": "add files projectDir/${path}/**.[common exts and some]"
|
|
},
|
|
"excludes":
|
|
{
|
|
"type": ["array", "string"],
|
|
"items":
|
|
{
|
|
"type": "string"
|
|
},
|
|
"description": "removes files matching regex('${exclude}') "
|
|
},
|
|
"include":
|
|
{
|
|
"type": ["array", "string"],
|
|
"description": "include directory. accessible from all translation units. inc order: internal -> include_next -> public "
|
|
},
|
|
"noLink":
|
|
{
|
|
"type": "boolean",
|
|
"description": "indicates the current project is a header only library and therefore one does not link against a compiled module"
|
|
},
|
|
|
|
|
|
"dllexport":
|
|
{
|
|
"type": ["array", "string"],
|
|
"items":
|
|
{
|
|
"type": "string"
|
|
},
|
|
"description": "adds a preprocessor definition to translation units compling a shared project"
|
|
},
|
|
"dllimport":
|
|
{
|
|
"type": ["array", "string"],
|
|
"items":
|
|
{
|
|
"type": "string"
|
|
},
|
|
"description": "adds a preprocessor definition to translation units linking against a shared project"
|
|
},
|
|
"staticImpDefines":
|
|
{
|
|
"type": ["array", "string"],
|
|
"items":
|
|
{
|
|
"type": "string"
|
|
},
|
|
"description": "adds a preprocessor definition to translation units linking against or compiling a static project"
|
|
},
|
|
|
|
|
|
"impDefines":
|
|
{
|
|
"type": ["array", "string"],
|
|
"items":
|
|
{
|
|
"type": "string"
|
|
},
|
|
"description": "adds a preprocessor definition to translation units compiling the project"
|
|
},
|
|
"impInclude":
|
|
{
|
|
"type": ["array", "string"],
|
|
"description": "appends a relative path to the include paths"
|
|
},
|
|
|
|
|
|
"defines":
|
|
{
|
|
"type": ["array", "string"],
|
|
"items":
|
|
{
|
|
"type": "string"
|
|
},
|
|
"description": "adds preprocessor definition. supports '=value'. availablity extends to dependents"
|
|
},
|
|
|
|
|
|
"require":
|
|
{
|
|
"type": ["array", "string"],
|
|
"items":
|
|
{
|
|
"type": "string"
|
|
},
|
|
"description": "depend on another project. this can be used to fence build stages and integrate other native build+execute utils ahead of project compilation time"
|
|
},
|
|
|
|
|
|
"soft-depends":
|
|
{
|
|
"type": ["array", "string"],
|
|
"items":
|
|
{
|
|
"type": "string"
|
|
}
|
|
},
|
|
"depends":
|
|
{
|
|
"type": ["array", "string"],
|
|
"items":
|
|
{
|
|
"type": "string"
|
|
},
|
|
"description": "link against another library"
|
|
},
|
|
|
|
|
|
"features":
|
|
{
|
|
"type": ["array", "string"],
|
|
"items":
|
|
{
|
|
"type": "string",
|
|
"enum": ["remove-platform-code", "guess-platform-code"]
|
|
},
|
|
"description": "remove-platform-code -> excludes paths which appear to be tied to common hardware and software architectures (win32,mac,xnu,nt,intel,amiga,x86_64,mips,arm,powerpc,riscv,etc)"
|
|
},
|
|
|
|
|
|
"actions":
|
|
{
|
|
"type": "array",
|
|
"items":
|
|
{
|
|
"type": "object",
|
|
"properties":
|
|
{
|
|
"if": {"type": "string"},
|
|
"then": {"type": ["string", "object", "array"] },
|
|
|
|
"eval": {"type": ["string", "object", "array"]}
|
|
}
|
|
}
|
|
},
|
|
|
|
|
|
"isCwdProjRoot":
|
|
{
|
|
"type": "boolean"
|
|
},
|
|
"events":
|
|
{
|
|
"type": "array",
|
|
"items":
|
|
{
|
|
"type": "object",
|
|
"properties":
|
|
{
|
|
"when":
|
|
{
|
|
"type": "string",
|
|
"enum": ["pre", "post"]
|
|
},
|
|
"lua":
|
|
{
|
|
"type": "string",
|
|
"description": "executes lua script under Build_UserScripts/%s.lua"
|
|
},
|
|
"bin":
|
|
{
|
|
"type": "string",
|
|
"description": "shell script"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"required": ["name", "type"]
|
|
} |