Skip to content

Premake

Alex Dixon edited this page Jan 16, 2021 · 1 revision

pmtech uses premake to generate ide specific projects, solutions or make files. premake configs are written in lua.

I chose premake over cmake because premake does not have to be installed by the user, the exe is bundled with this repository, is small enough to distribute easily and it is also simple to add extension modules such as this one I have written for android studio, cmake and gradle.

The pmtech build pipeline will call premake when using the following command:

pmbuild <profile> -premake

pmtech also provides extensions and utilities provided to make project generation as simple as possible, here is a simple example of how to create a new project:

dofile "pmtech/tools/premake/options.lua"
dofile "pmtech/tools/premake/globals.lua"
dofile "pmtech/tools/premake/app_template.lua"

-- Solution
solution "my solution"
	location ("build/" .. platform_dir ) 
	configurations { "Debug", "Release" }
	buildoptions { build_cmd }
	linkoptions { link_cmd }
	
-- Engine Project	
dofile "../source/pen/project.lua"

-- Toolkit Project	
dofile "../source/put/project.lua"

-- Example projects	
-- ( project name, current script dir, )
create_app_example( "my_game", script_path() )
Clone this wiki locally