build system update
This commit is contained in:
parent
969f820419
commit
78e0fe182f
|
|
@ -1,2 +1,4 @@
|
||||||
|
ECHO OFF
|
||||||
|
ECHO Project files will be written to ./build
|
||||||
.\vendor\premake5\premake5.exe vs2022
|
.\vendor\premake5\premake5.exe vs2022
|
||||||
PAUSE
|
PAUSE
|
||||||
49
premake5.lua
49
premake5.lua
|
|
@ -7,6 +7,8 @@ local vorbis = require("vendor/vorbis/build-vorbis")
|
||||||
local freetype = require("vendor/freetype/build-freetype")
|
local freetype = require("vendor/freetype/build-freetype")
|
||||||
local imguisfml = require("vendor/imgui-sfml/build-imgui-sfml")
|
local imguisfml = require("vendor/imgui-sfml/build-imgui-sfml")
|
||||||
|
|
||||||
|
local snake = require("project")
|
||||||
|
|
||||||
workspace "snake"
|
workspace "snake"
|
||||||
architecture "x64"
|
architecture "x64"
|
||||||
startproject"snake"
|
startproject"snake"
|
||||||
|
|
@ -22,9 +24,9 @@ workspace "snake"
|
||||||
|
|
||||||
|
|
||||||
output_dir = "%{cfg.buildcfg}-%{cfg.system}-%{cfg.architecture}"
|
output_dir = "%{cfg.buildcfg}-%{cfg.system}-%{cfg.architecture}"
|
||||||
intdir = "../intermediate-files/"
|
intdir = "intermediate-files/"
|
||||||
bindir = "../bin/" .. output_dir
|
bindir = "bin/" .. output_dir
|
||||||
liboutdir = "../lib/" .. output_dir
|
liboutdir = "lib/" .. output_dir
|
||||||
|
|
||||||
externalwarnings "Off"
|
externalwarnings "Off"
|
||||||
|
|
||||||
|
|
@ -51,43 +53,4 @@ workspace "snake"
|
||||||
imguisfml.generateproject(liboutdir, intdir)
|
imguisfml.generateproject(liboutdir, intdir)
|
||||||
group""
|
group""
|
||||||
|
|
||||||
project "snake"
|
snake.generateproject(bindir, intdir)
|
||||||
language "C++"
|
|
||||||
cppdialect "C++20"
|
|
||||||
systemversion "latest"
|
|
||||||
kind "WindowedApp"
|
|
||||||
targetname "snake"
|
|
||||||
targetdir (bindir)
|
|
||||||
objdir (intdir)
|
|
||||||
debugdir (path.getabsolute(path.getdirectory(_SCRIPT)))
|
|
||||||
|
|
||||||
|
|
||||||
imguisfml.link()
|
|
||||||
sfml.link()
|
|
||||||
|
|
||||||
includedirs
|
|
||||||
{
|
|
||||||
"src",
|
|
||||||
"include",
|
|
||||||
}
|
|
||||||
|
|
||||||
files
|
|
||||||
{
|
|
||||||
"src/**.cpp",
|
|
||||||
"include/**.h",
|
|
||||||
"include/**.hpp",
|
|
||||||
}
|
|
||||||
|
|
||||||
--windows specific settings--
|
|
||||||
filter{"system:windows"}
|
|
||||||
defines {"PLATFORM_WINDOWS"}
|
|
||||||
|
|
||||||
filter {"system:windows", "configurations:debug"}
|
|
||||||
defines{"_DEBUG", "_CONSOLE"}
|
|
||||||
|
|
||||||
filter {"system:windows", "configurations:release"}
|
|
||||||
defines{"NDEBUG"}
|
|
||||||
|
|
||||||
--linux specific settings--
|
|
||||||
filter {"system:linux"}
|
|
||||||
defines {"PLATFORM_LINUX"}
|
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,51 @@
|
||||||
|
local m = {}
|
||||||
|
|
||||||
|
local scriptdir = path.getabsolute(path.getdirectory(_SCRIPT))
|
||||||
|
local sfml = require("../vendor/sfml/build-sfml")
|
||||||
|
local imguisfml = require("../vendor/imgui-sfml/build-imgui-sfml")
|
||||||
|
|
||||||
|
function m.generateproject(bindir, intdir)
|
||||||
|
project "snake"
|
||||||
|
language "C++"
|
||||||
|
cppdialect "C++20"
|
||||||
|
systemversion "latest"
|
||||||
|
kind "WindowedApp"
|
||||||
|
targetname "snake"
|
||||||
|
targetdir (bindir)
|
||||||
|
debugdir (scriptdir)
|
||||||
|
objdir (intdir)
|
||||||
|
|
||||||
|
-- link order matters on GCC/Clang
|
||||||
|
imguisfml.link()
|
||||||
|
sfml.link()
|
||||||
|
|
||||||
|
includedirs
|
||||||
|
{
|
||||||
|
path.join(scriptdir, "src"),
|
||||||
|
path.join(scriptdir, "include"),
|
||||||
|
}
|
||||||
|
|
||||||
|
files
|
||||||
|
{
|
||||||
|
path.join(scriptdir, "src/**.cpp"),
|
||||||
|
path.join(scriptdir, "include/**.h"),
|
||||||
|
path.join(scriptdir, "include/**.hpp"),
|
||||||
|
}
|
||||||
|
|
||||||
|
--windows specific settings--
|
||||||
|
filter{"system:windows"}
|
||||||
|
defines {"PLATFORM_WINDOWS"}
|
||||||
|
|
||||||
|
filter {"system:windows", "configurations:debug"}
|
||||||
|
defines{"_DEBUG", "_CONSOLE"}
|
||||||
|
|
||||||
|
filter {"system:windows", "configurations:release"}
|
||||||
|
defines{"NDEBUG"}
|
||||||
|
|
||||||
|
--linux specific settings--
|
||||||
|
filter {"system:linux"}
|
||||||
|
defines {"PLATFORM_LINUX"}
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
return m
|
||||||
Loading…
Reference in New Issue