diff --git a/.gitignore b/.gitignore index 336790b..75792d7 100644 --- a/.gitignore +++ b/.gitignore @@ -1,8 +1,6 @@ .cache/clangd/index -bin -maps/fencer.tiled-session -fencer -build/obj/Debug -build/Makefile -Makefile +bin/ +build/ +intermediate/ compile_commands.json +Makefile diff --git a/Build.lua b/Build.lua index 530987b..3402f02 100644 --- a/Build.lua +++ b/Build.lua @@ -1,4 +1,4 @@ --- workspace "Fencer-Template" -- replace this +workspace "Fencer-Template" architecture "x64" configurations { "Debug", "Release", "Dist" } startproject "Game" @@ -8,8 +8,17 @@ OutputDir = "%{cfg.system}-%{cfg.architecture}/${cfg.buildcfg}" + group "Core" include "core/Build-Core.lua" group "" + libdirs { + os.findlib("SDL2"), + os.findlib("SDL2_image"), + os.findlib("SDL2_ttf"), + os.findlib("m"), + os.findlib("cJSON") + } + include "game/Build-Game.lua" diff --git a/core/Build-Core.lua b/core/Build-Core.lua index 09bc80e..c4dbd8a 100644 --- a/core/Build-Core.lua +++ b/core/Build-Core.lua @@ -1,14 +1,16 @@ -project "Fencer-Core" +project "Engine-Core" kind "StaticLib" language "C" targetdir "bin/%{cfg.buildcfg}" staticruntime "off" + defines { "VMATH_SDL" } + files { "src/**.c" } includedirs { "src/" } - targetdir ( "../bin" .. OutputDir .. "/%{prj.name}" ) - objdir ( "../intermediate" .. OutputDir .. "/%{prj.name}" ) + targetdir ( "../bin/" .. OutputDir .. "/%{prj.name}" ) + objdir ( "../intermediate/" .. OutputDir .. "/%{prj.name}" ) filter "system:windows" systemversion "latest" diff --git a/game/Build-Game.lua b/game/Build-Game.lua index 7472c23..82d3bd6 100644 --- a/game/Build-Game.lua +++ b/game/Build-Game.lua @@ -4,17 +4,21 @@ project "Game" staticruntime "Off" targetdir "bin/%{cfg.buildcfg}" + defines { "VMATH_SDL" } + files { "src/*.c" } includedirs { "src/", "../core/src" } links { - "Fencer-Core" + "Engine-Core" } - targetdir ("../bin" .. OutputDir .. "/%{prj.name}" ) - objdir ("../intermediate" .. OutputDir .. "/%{prj.name}" ) + links { "SDL2", "SDL2_image", "SDL2_ttf", "m", "cjson"} + + targetdir ("../bin/" .. OutputDir .. "/%{prj.name}" ) + objdir ("../intermediate/" .. OutputDir .. "/%{prj.name}" ) filter "configurations:Debug" defines { "DEBUG" }