From e1b154dfe66f0a68d53b0327297aaa475bf02d3d Mon Sep 17 00:00:00 2001 From: Joseph Aquino Date: Tue, 30 Dec 2025 22:29:51 -0500 Subject: [PATCH] update build scripts --- premake-scripts/build-flac.lua | 18 +++--- premake-scripts/build-imgui-sfml.lua | 13 ++-- premake-scripts/build-imgui.lua | 14 ++--- premake-scripts/build-ogg.lua | 10 +-- premake-scripts/build-sfml.lua | 77 +++++++++++------------ premake-scripts/build-vorbis.lua | 91 ++++++++++++++-------------- 6 files changed, 114 insertions(+), 109 deletions(-) diff --git a/premake-scripts/build-flac.lua b/premake-scripts/build-flac.lua index b2e08e1..dee7315 100644 --- a/premake-scripts/build-flac.lua +++ b/premake-scripts/build-flac.lua @@ -1,7 +1,8 @@ local m = {} -local scriptdir = path.getabsolute(path.getdirectory(_SCRIPT)) +local rootdir = path.join(path.getabsolute(path.getdirectory(_SCRIPT)), "../") local ogg = require("build-ogg") + function m.generateproject(liboutdir, intdir) project"flac" language"C" -- c++ will mangle names and sfml wont build @@ -26,27 +27,28 @@ function m.generateproject(liboutdir, intdir) "HAVE_LROUND",--fix error in lpc.c "HAVE_STDINT_H", --fix error in alloc.h <# error> } + filter"" includedirs { - path.join(scriptdir, "flac/include"), - path.join(scriptdir, "flac/src/libFLAC/include"), + path.join(rootdir, "flac/include"), + path.join(rootdir, "flac/src/libFLAC/include"), } files { - path.join(scriptdir, "flac/src/libFLAC/**.c"), + path.join(rootdir, "flac/src/libFLAC/**.c"), } removefiles { - path.join(scriptdir, "flac/src/libFLAC/deduplication/**"), + path.join(rootdir, "flac/src/libFLAC/deduplication/**"), } filter"system:windows" files { - path.join(scriptdir, "flac/src/share/win_utf8_io/**.c"), + path.join(rootdir, "flac/src/share/win_utf8_io/**.c"), } filter"" @@ -56,8 +58,8 @@ end function m.link() externalincludedirs { - path.join(scriptdir, "flac/include"), - path.join(scriptdir, "flac/src/libFLAC/include"), + path.join(rootdir, "flac/include"), + path.join(rootdir, "flac/src/libFLAC/include"), } links {"flac"} ogg.link() diff --git a/premake-scripts/build-imgui-sfml.lua b/premake-scripts/build-imgui-sfml.lua index 7f5e969..693fedc 100644 --- a/premake-scripts/build-imgui-sfml.lua +++ b/premake-scripts/build-imgui-sfml.lua @@ -1,7 +1,8 @@ local m = {} -local scriptdir = path.getabsolute(path.getdirectory(_SCRIPT)) -local sfml = require("build-sfml") +local rootdir = path.join(path.getabsolute(path.getdirectory(_SCRIPT)), "../") +local sfml = require("../build-sfml") + function m.generateproject(liboutdir, intdir) project"imgui-sfml" cppdialect"c++17" @@ -16,13 +17,13 @@ function m.generateproject(liboutdir, intdir) includedirs { - path.join(scriptdir, "imgui-sfml"), - path.join(scriptdir, "imgui"), + path.join(rootdir, "imgui-sfml"), + path.join(rootdir, "imgui"), } files { - path.join(scriptdir, "imgui-sfml/imgui-SFML.cpp"), + path.join(rootdir, "imgui-sfml/imgui-SFML.cpp"), } end @@ -30,7 +31,7 @@ function m.config() -- use this in build imgui instead of link() to avoid circul defines { "IMGUI_USER_CONFIG=\"imconfig-SFML.h\"" } - externalincludedirs { path.join(scriptdir, "imgui-sfml") } + externalincludedirs { path.join(rootdir, "imgui-sfml") } sfml.link() end diff --git a/premake-scripts/build-imgui.lua b/premake-scripts/build-imgui.lua index d271cf7..17d52ae 100644 --- a/premake-scripts/build-imgui.lua +++ b/premake-scripts/build-imgui.lua @@ -1,6 +1,6 @@ local m = {} -local scriptdir = path.getabsolute(path.getdirectory(_SCRIPT)) +local rootdir = path.join(path.getabsolute(path.getdirectory(_SCRIPT)), "../") local imguisfml = require("build-imgui-sfml") function m.generateproject(liboutdir, intdir) @@ -15,22 +15,22 @@ function m.generateproject(liboutdir, intdir) includedirs { - path.join(scriptdir, "imgui"), + path.join(rootdir, "imgui"), } files { - path.join(scriptdir, "imgui/imgui.cpp"), - path.join(scriptdir, "imgui/imgui_draw.cpp"), - path.join(scriptdir, "imgui/imgui_tables.cpp"), - path.join(scriptdir, "imgui/imgui_widgets.cpp"), + path.join(rootdir, "imgui/imgui.cpp"), + path.join(rootdir, "imgui/imgui_draw.cpp"), + path.join(rootdir, "imgui/imgui_tables.cpp"), + path.join(rootdir, "imgui/imgui_widgets.cpp"), } end function m.link() links {"imgui"} - externalincludedirs { path.join(scriptdir, "imgui") } + externalincludedirs { path.join(rootdir, "imgui") } end return m \ No newline at end of file diff --git a/premake-scripts/build-ogg.lua b/premake-scripts/build-ogg.lua index f4c2490..3670241 100644 --- a/premake-scripts/build-ogg.lua +++ b/premake-scripts/build-ogg.lua @@ -1,6 +1,6 @@ local m = {} -local scriptdir = path.getabsolute(path.getdirectory(_SCRIPT)) +local rootdir = path.join(path.getabsolute(path.getdirectory(_SCRIPT)), "../") function m.generateproject(liboutdir, intdir) project"ogg" @@ -10,19 +10,19 @@ function m.generateproject(liboutdir, intdir) objdir(intdir) warnings"Off" - includedirs {path.join(scriptdir, "ogg/include")} + includedirs {path.join(rootdir, "ogg/include")} files { - path.join(scriptdir, "ogg/src/**.h"), - path.join(scriptdir, "ogg/src/**.c"), + path.join(rootdir, "ogg/src/**.h"), + path.join(rootdir, "ogg/src/**.c"), } end function m.link() links{"ogg"} - externalincludedirs{path.join(scriptdir, "ogg/include")} + externalincludedirs{path.join(rootdir, "ogg/include")} end return m \ No newline at end of file diff --git a/premake-scripts/build-sfml.lua b/premake-scripts/build-sfml.lua index 5e4218d..71ca8be 100644 --- a/premake-scripts/build-sfml.lua +++ b/premake-scripts/build-sfml.lua @@ -1,6 +1,7 @@ local m = {} -local scriptdir = path.getabsolute(path.getdirectory(_SCRIPT)) +local rootdir = path.join(path.getabsolute(path.getdirectory(_SCRIPT)), "../") + local ogg = require("build-ogg") local flac = require("build-flac") local vorbis = require("build-vorbis") @@ -38,57 +39,57 @@ function m.generateproject(liboutdir, intdir) includedirs { - path.join(scriptdir, "SFML/include"), - path.join(scriptdir, "SFML/src"), - path.join(scriptdir, "SFML/extlibs/headers/glad/include"), - path.join(scriptdir, "SFML/extlibs/headers/mingw"), - path.join(scriptdir, "SFML/extlibs/headers/miniaudio"), - path.join(scriptdir, "SFML/extlibs/headers/minimp3"), - path.join(scriptdir, "SFML/extlibs/headers/stb_image"), - path.join(scriptdir, "SFML/extlibs/headers/vulkan"), + path.join(rootdir, "SFML/include"), + path.join(rootdir, "SFML/src"), + path.join(rootdir, "SFML/extlibs/headers/glad/include"), + path.join(rootdir, "SFML/extlibs/headers/mingw"), + path.join(rootdir, "SFML/extlibs/headers/miniaudio"), + path.join(rootdir, "SFML/extlibs/headers/minimp3"), + path.join(rootdir, "SFML/extlibs/headers/stb_image"), + path.join(rootdir, "SFML/extlibs/headers/vulkan"), } files { - path.join(scriptdir, "SFML/include/SFML/**.hpp"), - path.join(scriptdir, "SFML/include/SFML/**.inl"), - path.join(scriptdir, "SFML/src/SFML/**.hpp"), - path.join(scriptdir, "SFML/src/SFML/**.cpp"), + path.join(rootdir, "SFML/include/SFML/**.hpp"), + path.join(rootdir, "SFML/include/SFML/**.inl"), + path.join(rootdir, "SFML/src/SFML/**.hpp"), + path.join(rootdir, "SFML/src/SFML/**.cpp"), } filter"system:windows" removefiles { - path.join(scriptdir, "SFML/src/SFML/System/Unix/**"), - path.join(scriptdir, "SFML/src/SFML/System/Andriod/**"), - path.join(scriptdir, "SFML/src/SFML/Window/Unix/**"), - path.join(scriptdir, "SFML/src/SFML/Network/Unix/**"), - path.join(scriptdir, "SFML/src/SFML/Window/OpenBSD/**"), - path.join(scriptdir, "SFML/src/SFML/Window/NetBSD/**"), - path.join(scriptdir, "SFML/src/SFML/Window/macOS/**"), - path.join(scriptdir, "SFML/src/SFML/Window/iOS/**"), - path.join(scriptdir, "SFML/src/SFML/Window/FreeBSD/**"), - path.join(scriptdir, "SFML/src/SFML/Window/DRM/**"), - path.join(scriptdir, "SFML/src/SFML/Window/Android/**"), - path.join(scriptdir, "SFML/src/SFML/System/Android/**"), + path.join(rootdir, "SFML/src/SFML/System/Unix/**"), + path.join(rootdir, "SFML/src/SFML/System/Android/**"), + path.join(rootdir, "SFML/src/SFML/Window/Unix/**"), + path.join(rootdir, "SFML/src/SFML/Network/Unix/**"), + path.join(rootdir, "SFML/src/SFML/Window/OpenBSD/**"), + path.join(rootdir, "SFML/src/SFML/Window/NetBSD/**"), + path.join(rootdir, "SFML/src/SFML/Window/macOS/**"), + path.join(rootdir, "SFML/src/SFML/Window/iOS/**"), + path.join(rootdir, "SFML/src/SFML/Window/FreeBSD/**"), + path.join(rootdir, "SFML/src/SFML/Window/DRM/**"), + path.join(rootdir, "SFML/src/SFML/Window/Android/**"), + path.join(rootdir, "SFML/src/SFML/System/Android/**"), } filter"system:linux" removefiles { - path.join(scriptdir, "SFML/src/SFML/System/Android/**"), - path.join(scriptdir, "SFML/src/SFML/System/Win32/**"), - path.join(scriptdir, "SFML/src/SFML/Network/Win32/**"), - path.join(scriptdir, "SFML/src/SFML/Window/Win32/**"), - path.join(scriptdir, "SFML/src/SFML/Window/OpenBSD/**"), - path.join(scriptdir, "SFML/src/SFML/Window/NetBSD/**"), - path.join(scriptdir, "SFML/src/SFML/Window/macOS/**"), - path.join(scriptdir, "SFML/src/SFML/Window/iOS/**"), - path.join(scriptdir, "SFML/src/SFML/Window/FreeBSD/**"), - path.join(scriptdir, "SFML/src/SFML/Window/DRM/**"), - path.join(scriptdir, "SFML/src/SFML/Window/Android/**"), - path.join(scriptdir, "SFML/src/SFML/Main/**"), + path.join(rootdir, "SFML/src/SFML/System/Android/**"), + path.join(rootdir, "SFML/src/SFML/System/Win32/**"), + path.join(rootdir, "SFML/src/SFML/Network/Win32/**"), + path.join(rootdir, "SFML/src/SFML/Window/Win32/**"), + path.join(rootdir, "SFML/src/SFML/Window/OpenBSD/**"), + path.join(rootdir, "SFML/src/SFML/Window/NetBSD/**"), + path.join(rootdir, "SFML/src/SFML/Window/macOS/**"), + path.join(rootdir, "SFML/src/SFML/Window/iOS/**"), + path.join(rootdir, "SFML/src/SFML/Window/FreeBSD/**"), + path.join(rootdir, "SFML/src/SFML/Window/DRM/**"), + path.join(rootdir, "SFML/src/SFML/Window/Android/**"), + path.join(rootdir, "SFML/src/SFML/Main/**"), } filter"" @@ -98,7 +99,7 @@ function m.link() defines{"SFML_STATIC"} externalincludedirs { - path.join(scriptdir, "SFML/include"), + path.join(rootdir, "SFML/include"), } links{"sfml"} diff --git a/premake-scripts/build-vorbis.lua b/premake-scripts/build-vorbis.lua index 915df75..3155b24 100644 --- a/premake-scripts/build-vorbis.lua +++ b/premake-scripts/build-vorbis.lua @@ -1,7 +1,8 @@ local m = {} -local scriptdir = path.getabsolute(path.getdirectory(_SCRIPT)) +local rootdir = path.join(path.getabsolute(path.getdirectory(_SCRIPT)), "../") local ogg = require("build-ogg") + function m.generateproject(liboutdir, intdir) project"vorbis" language"C" -- c++ will mangle names and sfml wont build @@ -14,53 +15,53 @@ function m.generateproject(liboutdir, intdir) includedirs { - path.join(scriptdir, "vorbis/include"), - path.join(scriptdir, "vorbis/lib"), + path.join(rootdir, "vorbis/include"), + path.join(rootdir, "vorbis/lib"), } files { - path.join(scriptdir, "vorbis/lib/envelope.h"), - path.join(scriptdir, "vorbis/lib/lpc.h"), - path.join(scriptdir, "vorbis/lib/lsp.h"), - path.join(scriptdir, "vorbis/lib/codebook.h"), - path.join(scriptdir, "vorbis/lib/misc.h"), - path.join(scriptdir, "vorbis/lib/psy.h"), - path.join(scriptdir, "vorbis/lib/masking.h"), - path.join(scriptdir, "vorbis/lib/os.h"), - path.join(scriptdir, "vorbis/lib/mdct.h"), - path.join(scriptdir, "vorbis/lib/smallft.h"), - path.join(scriptdir, "vorbis/lib/highlevel.h"), - path.join(scriptdir, "vorbis/lib/registry.h"), - path.join(scriptdir, "vorbis/lib/scales.h"), - path.join(scriptdir, "vorbis/lib/window.h"), - path.join(scriptdir, "vorbis/lib/lookup.h"), - path.join(scriptdir, "vorbis/lib/lookup_data.h"), - path.join(scriptdir, "vorbis/lib/codec_internal.h"), - path.join(scriptdir, "vorbis/lib/backends.h"), - path.join(scriptdir, "vorbis/lib/bitrate.h"), - path.join(scriptdir, "vorbis/lib/mdct.c"), - path.join(scriptdir, "vorbis/lib/smallft.c"), - path.join(scriptdir, "vorbis/lib/block.c"), - path.join(scriptdir, "vorbis/lib/envelope.c"), - path.join(scriptdir, "vorbis/lib/window.c"), - path.join(scriptdir, "vorbis/lib/lsp.c"), - path.join(scriptdir, "vorbis/lib/lpc.c"), - path.join(scriptdir, "vorbis/lib/analysis.c"), - path.join(scriptdir, "vorbis/lib/synthesis.c"), - path.join(scriptdir, "vorbis/lib/psy.c"), - path.join(scriptdir, "vorbis/lib/info.c"), - path.join(scriptdir, "vorbis/lib/floor1.c"), - path.join(scriptdir, "vorbis/lib/floor0.c"), - path.join(scriptdir, "vorbis/lib/res0.c"), - path.join(scriptdir, "vorbis/lib/mapping0.c"), - path.join(scriptdir, "vorbis/lib/registry.c"), - path.join(scriptdir, "vorbis/lib/codebook.c"), - path.join(scriptdir, "vorbis/lib/sharedbook.c"), - path.join(scriptdir, "vorbis/lib/lookup.c"), - path.join(scriptdir, "vorbis/lib/bitrate.c"), - path.join(scriptdir, "vorbis/lib/vorbisfile.c"), - path.join(scriptdir, "vorbis/lib/vorbisenc.c"), + path.join(rootdir, "vorbis/lib/envelope.h"), + path.join(rootdir, "vorbis/lib/lpc.h"), + path.join(rootdir, "vorbis/lib/lsp.h"), + path.join(rootdir, "vorbis/lib/codebook.h"), + path.join(rootdir, "vorbis/lib/misc.h"), + path.join(rootdir, "vorbis/lib/psy.h"), + path.join(rootdir, "vorbis/lib/masking.h"), + path.join(rootdir, "vorbis/lib/os.h"), + path.join(rootdir, "vorbis/lib/mdct.h"), + path.join(rootdir, "vorbis/lib/smallft.h"), + path.join(rootdir, "vorbis/lib/highlevel.h"), + path.join(rootdir, "vorbis/lib/registry.h"), + path.join(rootdir, "vorbis/lib/scales.h"), + path.join(rootdir, "vorbis/lib/window.h"), + path.join(rootdir, "vorbis/lib/lookup.h"), + path.join(rootdir, "vorbis/lib/lookup_data.h"), + path.join(rootdir, "vorbis/lib/codec_internal.h"), + path.join(rootdir, "vorbis/lib/backends.h"), + path.join(rootdir, "vorbis/lib/bitrate.h"), + path.join(rootdir, "vorbis/lib/mdct.c"), + path.join(rootdir, "vorbis/lib/smallft.c"), + path.join(rootdir, "vorbis/lib/block.c"), + path.join(rootdir, "vorbis/lib/envelope.c"), + path.join(rootdir, "vorbis/lib/window.c"), + path.join(rootdir, "vorbis/lib/lsp.c"), + path.join(rootdir, "vorbis/lib/lpc.c"), + path.join(rootdir, "vorbis/lib/analysis.c"), + path.join(rootdir, "vorbis/lib/synthesis.c"), + path.join(rootdir, "vorbis/lib/psy.c"), + path.join(rootdir, "vorbis/lib/info.c"), + path.join(rootdir, "vorbis/lib/floor1.c"), + path.join(rootdir, "vorbis/lib/floor0.c"), + path.join(rootdir, "vorbis/lib/res0.c"), + path.join(rootdir, "vorbis/lib/mapping0.c"), + path.join(rootdir, "vorbis/lib/registry.c"), + path.join(rootdir, "vorbis/lib/codebook.c"), + path.join(rootdir, "vorbis/lib/sharedbook.c"), + path.join(rootdir, "vorbis/lib/lookup.c"), + path.join(rootdir, "vorbis/lib/bitrate.c"), + path.join(rootdir, "vorbis/lib/vorbisfile.c"), + path.join(rootdir, "vorbis/lib/vorbisenc.c"), } @@ -72,7 +73,7 @@ function m.link() ogg.link() externalincludedirs { - path.join(scriptdir, "vorbis/include"), + path.join(rootdir, "vorbis/include"), } end