predefined project types
build has 8 predefined project types with corresponding convenience functions to create those projects.
Each convenience function has a number of arguments allowing to specify additional parameters for a project like additional include paths, defines, and even a Lua function that can process additional configuration needs. Here is the list of projects along with details for each of them:
3rd party library (project_3rd.lua)
Used to build 3rd party libraries and external code.
Function to add projects of this type:
addProject_3rdParty_lib(_name, _libFiles, _exceptions)
Command line tool (project_cmdtool.lua)
Used to create command line/console tools.
Function to add projects of this type:
addProject_cmd(_name)
Game (project_game.lua)
A game project, which assumes a need for bgfx for rendering and rapp for input, threading, console, etc.
Function to add projects of this type:
addProject_game(_name)
Library (project_lib.lua)
A library project which can be one of: run-time library, game library or a tool library.
Function to add projects of this type:
addProject_lib(_name, _libType, _shared, _nameAppend, _disablePCH)(_name, _libFiles, _exceptions)
Library sample project (project_lib_sample.lua)
Libraries can be distributed independently and can provide their own samples. This is a template for library samples.
Function to add projects of this type:
addProject_lib_sample(_name, _sampleName)
Library unit test project (project_lib_test.lua)
Unit testing for libraries.
Function to add projects of this type:
addProject_lib_test(_name)
Library tool/utility (project_lib_tool.lua)
If a library needs to provide a helper tool - this is a template to use.
Function to add projects of this type:
addProject_lib_tool(_name, _toolNname)
Qt 5 based project (library or executable) (project_qt.lua)
Qt 5 based projects, either widget/utility libraries or GUI tools
Function to add projects of this type:
addProject_qt(_name, _libProjNotExe, _includes, _prebuildcmds, _extraQtModules)