2021-05-20 12:56:44 +00:00
{
"$schema" : "https://json-schema.org/draft/2019-09/schema" ,
"type" : "object" ,
"properties" :
{
"name" : { "type" : "string" } ,
"type" :
{
"type" : "string" ,
2021-06-03 13:00:02 +00:00
"enum" : [ "aurora" , "generic" , "root" , "lazy_free" , "utility" , "blank" ] ,
2021-05-20 12:56:44 +00:00
"description" : "https://pastebin.com/ThE2t9EJ"
} ,
2021-06-03 13:00:02 +00:00
"sources" :
2021-05-20 12:56:44 +00:00
{
2021-06-03 13:00:02 +00:00
"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. "
2021-05-20 12:56:44 +00:00
} ,
2021-06-03 13:00:02 +00:00
"sourcePaths" :
2021-05-20 12:56:44 +00:00
{
2021-06-03 13:00:02 +00:00
"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}') "
2021-05-20 12:56:44 +00:00
} ,
"include" :
{
"type" : [ "array" , "string" ] ,
2021-06-03 13:00:02 +00:00
"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"
2021-05-20 12:56:44 +00:00
} ,
2021-06-03 13:00:02 +00:00
2021-05-20 12:56:44 +00:00
"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"
} ,
2021-06-06 12:15:07 +00:00
"staticImpDefines" :
{
"type" : [ "array" , "string" ] ,
"items" :
{
"type" : "string"
} ,
"description" : "adds a preprocessor definition to translation units linking against or compiling a static project"
} ,
2021-06-03 13:00:02 +00:00
"impDefines" :
2021-05-20 12:56:44 +00:00
{
"type" : [ "array" , "string" ] ,
"items" :
{
"type" : "string"
} ,
"description" : "adds a preprocessor definition to translation units compiling the project"
} ,
2021-06-03 13:00:02 +00:00
"impInclude" :
{
"type" : [ "array" , "string" ] ,
"description" : "appends a relative path to the include paths"
} ,
2021-05-20 12:56:44 +00:00
"defines" :
{
"type" : [ "array" , "string" ] ,
"items" :
{
"type" : "string"
} ,
2021-06-03 13:00:02 +00:00
"description" : "adds preprocessor definition. supports '=value'. availablity extends to dependents"
2021-05-20 12:56:44 +00:00
} ,
2021-06-03 13:00:02 +00:00
2021-05-20 12:56:44 +00:00
"require" :
{
"type" : [ "array" , "string" ] ,
"items" :
{
"type" : "string"
} ,
2021-06-03 13:00:02 +00:00
"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"
2021-05-20 12:56:44 +00:00
} ,
2021-06-03 13:00:02 +00:00
2021-05-20 12:56:44 +00:00
"soft-depends" :
{
"type" : [ "array" , "string" ] ,
"items" :
{
"type" : "string"
}
} ,
"depends" :
{
"type" : [ "array" , "string" ] ,
"items" :
{
"type" : "string"
} ,
2021-06-03 13:00:02 +00:00
"description" : "link against another library"
2021-05-20 12:56:44 +00:00
} ,
2021-06-03 13:00:02 +00:00
2021-05-20 12:56:44 +00:00
"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)"
} ,
2021-06-03 13:00:02 +00:00
2021-05-20 12:56:44 +00:00
"actions" :
{
"type" : "array" ,
"items" :
{
"type" : "object" ,
"properties" :
{
"if" : { "type" : "string" } ,
2021-06-03 13:00:02 +00:00
"then" : { "type" : [ "string" , "object" , "array" ] } ,
2021-05-20 12:56:44 +00:00
2021-06-03 13:00:02 +00:00
"eval" : { "type" : [ "string" , "object" , "array" ] }
2021-05-20 12:56:44 +00:00
}
}
} ,
2021-06-03 13:00:02 +00:00
2021-05-28 03:36:12 +00:00
"isCwdProjRoot" :
2021-05-20 12:56:44 +00:00
{
2021-05-28 03:36:12 +00:00
"type" : "boolean"
2021-05-20 12:56:44 +00:00
} ,
2021-05-28 03:36:12 +00:00
"events" :
2021-05-20 12:56:44 +00:00
{
"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" ]
}