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
|
||||
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 imguisfml = require("vendor/imgui-sfml/build-imgui-sfml")
|
||||
|
||||
local snake = require("project")
|
||||
|
||||
workspace "snake"
|
||||
architecture "x64"
|
||||
startproject"snake"
|
||||
|
|
@ -22,9 +24,9 @@ workspace "snake"
|
|||
|
||||
|
||||
output_dir = "%{cfg.buildcfg}-%{cfg.system}-%{cfg.architecture}"
|
||||
intdir = "../intermediate-files/"
|
||||
bindir = "../bin/" .. output_dir
|
||||
liboutdir = "../lib/" .. output_dir
|
||||
intdir = "intermediate-files/"
|
||||
bindir = "bin/" .. output_dir
|
||||
liboutdir = "lib/" .. output_dir
|
||||
|
||||
externalwarnings "Off"
|
||||
|
||||
|
|
@ -51,43 +53,4 @@ workspace "snake"
|
|||
imguisfml.generateproject(liboutdir, intdir)
|
||||
group""
|
||||
|
||||
project "snake"
|
||||
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"}
|
||||
snake.generateproject(bindir, intdir)
|
||||
|
|
|
|||
|
|
@ -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