59 lines
1.8 KiB
Lua
59 lines
1.8 KiB
Lua
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"
|
|
|
|
-- assuming you want your build files in seperate directory
|
|
location "build"
|
|
|
|
configuration {"Debug", "Release"}
|
|
|
|
filter"system:linux"
|
|
pic"On" -- fix warning when statically linking <relocation against ... in read-only section .text>
|
|
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
|