local ogg = require("path/to/ogg/build-ogg") local sfml = require("path/to/sfml/build-sfml") local flac = require("path/to/flac/build-flac") local vorbis = require("path/to/vorbis/build-vorbis") local freetype = require("path/to/freetype/build-freetype") local imguisfml = require("path/to/imgui-sfml/build-imgui-sfml") local exampleproject = require("path/to/project") -- assuming you are using the modules i provided with premake require ("ecc/ecc") require ("ninja/ninja") workspace "Example" architecture "x64" startproject "Example" staticruntime "Off" location "build" configuration {"Debug", "Release"} filter"system:linux" pic"On" -- fix warning when statically linking filter"" externalwarnings "Off" --turn off build warnings created from sfml and it's depedencies filter "configurations:debug" symbols "on" runtime "Debug" warnings "Extra" filter "configurations:release" optimize "Speed" inlining "Auto" symbols "off" runtime "Release" filter"" output_dir = "%{cfg.buildcfg}-%{cfg.system}-%{cfg.architecture}" intdir = "intermediate-files/" bindir = "bin/" .. output_dir liboutdir = "lib/" .. output_dir group"Dependencies" ogg.generateproject(liboutdir, intdir) sfml.generateproject(liboutdir, intdir) flac.generateproject(liboutdir, intdir) vorbis.generateproject(liboutdir, intdir) freetype.generateproject(liboutdir, intdir) imguisfml.generateproject(liboutdir, intdir) group"" exampleproject.generateproject(bindir, intdir) -- add your other projects