Skip to content


Repository files navigation


Latest release Release date Commits BSD 3-Clause
Linux Windows Contributors Contributors

Welcome to Premake

Premake is a command line utility which reads a scripted definition of a software project, then uses it to perform build configuration tasks or generate project files for toolsets like Visual Studio, Xcode, and GNU Make. Premake's scripts are little Lua programs, so the sky's the limit!

workspace "MyWorkspace"
    configurations { "Debug", "Release" }

project "MyProject"
    kind "ConsoleApp"
    language "C++"
    files { "**.h", "**.cpp" }

    filter { "configurations:Debug" }
        defines { "DEBUG" }
        symbols "On"

    filter { "configurations:Release" }
        defines { "NDEBUG" }
        optimize "On"

Getting Started


Premake is a BSD-licensed open source project. Our many thanks to these fine people who help us spend more time adding features and supporting the community. 🎉

Want to join them? Learn more here. Use Premake at work? Ask your manager or marketing team about contributing too; your company logo will appear on our website and README, as well as all of our release pages.




We love getting pull requests and rely heavily on the contributions of our community to keep Premake healthy and growing. If you're new to the project, our Contributing Guide is here.

A great big thank you to all of you who have already contributed your time and know-how!

Stay in touch


BSD 3-Clause

The Lua language and runtime library is © TeCGraf, PUC-Rio. See their website at