update build scripts

This commit is contained in:
Joseph Aquino 2025-12-30 22:29:51 -05:00
parent c5f24004d5
commit e1b154dfe6
6 changed files with 114 additions and 109 deletions

View File

@ -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 <Static declaration of 'lround' follows non-static declaration>
"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()

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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"}

View File

@ -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