Compare commits

..

2 Commits

Author SHA1 Message Date
Joseph Aquino b6431d1db2 update build scripts 2025-12-30 22:32:05 -05:00
Joseph Aquino e1b154dfe6 update build scripts 2025-12-30 22:29:51 -05:00
6 changed files with 115 additions and 109 deletions

View File

@ -1,7 +1,8 @@
local m = {} local m = {}
local scriptdir = path.getabsolute(path.getdirectory(_SCRIPT)) local rootdir = path.join(path.getabsolute(path.getdirectory(_SCRIPT)), "../")
local ogg = require("build-ogg") local ogg = require("build-ogg")
function m.generateproject(liboutdir, intdir) function m.generateproject(liboutdir, intdir)
project"flac" project"flac"
language"C" -- c++ will mangle names and sfml wont build 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_LROUND",--fix error in lpc.c <Static declaration of 'lround' follows non-static declaration>
"HAVE_STDINT_H", --fix error in alloc.h <# error> "HAVE_STDINT_H", --fix error in alloc.h <# error>
} }
filter""
includedirs includedirs
{ {
path.join(scriptdir, "flac/include"), path.join(rootdir, "flac/include"),
path.join(scriptdir, "flac/src/libFLAC/include"), path.join(rootdir, "flac/src/libFLAC/include"),
} }
files files
{ {
path.join(scriptdir, "flac/src/libFLAC/**.c"), path.join(rootdir, "flac/src/libFLAC/**.c"),
} }
removefiles removefiles
{ {
path.join(scriptdir, "flac/src/libFLAC/deduplication/**"), path.join(rootdir, "flac/src/libFLAC/deduplication/**"),
} }
filter"system:windows" filter"system:windows"
files files
{ {
path.join(scriptdir, "flac/src/share/win_utf8_io/**.c"), path.join(rootdir, "flac/src/share/win_utf8_io/**.c"),
} }
filter"" filter""
@ -56,9 +58,10 @@ end
function m.link() function m.link()
externalincludedirs externalincludedirs
{ {
path.join(scriptdir, "flac/include"), path.join(rootdir, "flac/include"),
path.join(scriptdir, "flac/src/libFLAC/include"), path.join(rootdir, "flac/src/libFLAC/include"),
} }
defines { "FLAC__NO_DLL" } -- in case projects want to reference flac directly, it wont expect a dynamic library
links {"flac"} links {"flac"}
ogg.link() ogg.link()
end end

View File

@ -1,7 +1,8 @@
local m = {} local m = {}
local scriptdir = path.getabsolute(path.getdirectory(_SCRIPT)) local rootdir = path.join(path.getabsolute(path.getdirectory(_SCRIPT)), "../")
local sfml = require("build-sfml") local sfml = require("../build-sfml")
function m.generateproject(liboutdir, intdir) function m.generateproject(liboutdir, intdir)
project"imgui-sfml" project"imgui-sfml"
cppdialect"c++17" cppdialect"c++17"
@ -16,13 +17,13 @@ function m.generateproject(liboutdir, intdir)
includedirs includedirs
{ {
path.join(scriptdir, "imgui-sfml"), path.join(rootdir, "imgui-sfml"),
path.join(scriptdir, "imgui"), path.join(rootdir, "imgui"),
} }
files files
{ {
path.join(scriptdir, "imgui-sfml/imgui-SFML.cpp"), path.join(rootdir, "imgui-sfml/imgui-SFML.cpp"),
} }
end 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\"" } defines { "IMGUI_USER_CONFIG=\"imconfig-SFML.h\"" }
externalincludedirs { path.join(scriptdir, "imgui-sfml") } externalincludedirs { path.join(rootdir, "imgui-sfml") }
sfml.link() sfml.link()
end end

View File

@ -1,6 +1,6 @@
local m = {} local m = {}
local scriptdir = path.getabsolute(path.getdirectory(_SCRIPT)) local rootdir = path.join(path.getabsolute(path.getdirectory(_SCRIPT)), "../")
local imguisfml = require("build-imgui-sfml") local imguisfml = require("build-imgui-sfml")
function m.generateproject(liboutdir, intdir) function m.generateproject(liboutdir, intdir)
@ -15,22 +15,22 @@ function m.generateproject(liboutdir, intdir)
includedirs includedirs
{ {
path.join(scriptdir, "imgui"), path.join(rootdir, "imgui"),
} }
files files
{ {
path.join(scriptdir, "imgui/imgui.cpp"), path.join(rootdir, "imgui/imgui.cpp"),
path.join(scriptdir, "imgui/imgui_draw.cpp"), path.join(rootdir, "imgui/imgui_draw.cpp"),
path.join(scriptdir, "imgui/imgui_tables.cpp"), path.join(rootdir, "imgui/imgui_tables.cpp"),
path.join(scriptdir, "imgui/imgui_widgets.cpp"), path.join(rootdir, "imgui/imgui_widgets.cpp"),
} }
end end
function m.link() function m.link()
links {"imgui"} links {"imgui"}
externalincludedirs { path.join(scriptdir, "imgui") } externalincludedirs { path.join(rootdir, "imgui") }
end end
return m return m

View File

@ -1,6 +1,6 @@
local m = {} local m = {}
local scriptdir = path.getabsolute(path.getdirectory(_SCRIPT)) local rootdir = path.join(path.getabsolute(path.getdirectory(_SCRIPT)), "../")
function m.generateproject(liboutdir, intdir) function m.generateproject(liboutdir, intdir)
project"ogg" project"ogg"
@ -10,19 +10,19 @@ function m.generateproject(liboutdir, intdir)
objdir(intdir) objdir(intdir)
warnings"Off" warnings"Off"
includedirs {path.join(scriptdir, "ogg/include")} includedirs {path.join(rootdir, "ogg/include")}
files files
{ {
path.join(scriptdir, "ogg/src/**.h"), path.join(rootdir, "ogg/src/**.h"),
path.join(scriptdir, "ogg/src/**.c"), path.join(rootdir, "ogg/src/**.c"),
} }
end end
function m.link() function m.link()
links{"ogg"} links{"ogg"}
externalincludedirs{path.join(scriptdir, "ogg/include")} externalincludedirs{path.join(rootdir, "ogg/include")}
end end
return m return m

View File

@ -1,6 +1,7 @@
local m = {} local m = {}
local scriptdir = path.getabsolute(path.getdirectory(_SCRIPT)) local rootdir = path.join(path.getabsolute(path.getdirectory(_SCRIPT)), "../")
local ogg = require("build-ogg") local ogg = require("build-ogg")
local flac = require("build-flac") local flac = require("build-flac")
local vorbis = require("build-vorbis") local vorbis = require("build-vorbis")
@ -38,57 +39,57 @@ function m.generateproject(liboutdir, intdir)
includedirs includedirs
{ {
path.join(scriptdir, "SFML/include"), path.join(rootdir, "SFML/include"),
path.join(scriptdir, "SFML/src"), path.join(rootdir, "SFML/src"),
path.join(scriptdir, "SFML/extlibs/headers/glad/include"), path.join(rootdir, "SFML/extlibs/headers/glad/include"),
path.join(scriptdir, "SFML/extlibs/headers/mingw"), path.join(rootdir, "SFML/extlibs/headers/mingw"),
path.join(scriptdir, "SFML/extlibs/headers/miniaudio"), path.join(rootdir, "SFML/extlibs/headers/miniaudio"),
path.join(scriptdir, "SFML/extlibs/headers/minimp3"), path.join(rootdir, "SFML/extlibs/headers/minimp3"),
path.join(scriptdir, "SFML/extlibs/headers/stb_image"), path.join(rootdir, "SFML/extlibs/headers/stb_image"),
path.join(scriptdir, "SFML/extlibs/headers/vulkan"), path.join(rootdir, "SFML/extlibs/headers/vulkan"),
} }
files files
{ {
path.join(scriptdir, "SFML/include/SFML/**.hpp"), path.join(rootdir, "SFML/include/SFML/**.hpp"),
path.join(scriptdir, "SFML/include/SFML/**.inl"), path.join(rootdir, "SFML/include/SFML/**.inl"),
path.join(scriptdir, "SFML/src/SFML/**.hpp"), path.join(rootdir, "SFML/src/SFML/**.hpp"),
path.join(scriptdir, "SFML/src/SFML/**.cpp"), path.join(rootdir, "SFML/src/SFML/**.cpp"),
} }
filter"system:windows" filter"system:windows"
removefiles removefiles
{ {
path.join(scriptdir, "SFML/src/SFML/System/Unix/**"), path.join(rootdir, "SFML/src/SFML/System/Unix/**"),
path.join(scriptdir, "SFML/src/SFML/System/Andriod/**"), path.join(rootdir, "SFML/src/SFML/System/Android/**"),
path.join(scriptdir, "SFML/src/SFML/Window/Unix/**"), path.join(rootdir, "SFML/src/SFML/Window/Unix/**"),
path.join(scriptdir, "SFML/src/SFML/Network/Unix/**"), path.join(rootdir, "SFML/src/SFML/Network/Unix/**"),
path.join(scriptdir, "SFML/src/SFML/Window/OpenBSD/**"), path.join(rootdir, "SFML/src/SFML/Window/OpenBSD/**"),
path.join(scriptdir, "SFML/src/SFML/Window/NetBSD/**"), path.join(rootdir, "SFML/src/SFML/Window/NetBSD/**"),
path.join(scriptdir, "SFML/src/SFML/Window/macOS/**"), path.join(rootdir, "SFML/src/SFML/Window/macOS/**"),
path.join(scriptdir, "SFML/src/SFML/Window/iOS/**"), path.join(rootdir, "SFML/src/SFML/Window/iOS/**"),
path.join(scriptdir, "SFML/src/SFML/Window/FreeBSD/**"), path.join(rootdir, "SFML/src/SFML/Window/FreeBSD/**"),
path.join(scriptdir, "SFML/src/SFML/Window/DRM/**"), path.join(rootdir, "SFML/src/SFML/Window/DRM/**"),
path.join(scriptdir, "SFML/src/SFML/Window/Android/**"), path.join(rootdir, "SFML/src/SFML/Window/Android/**"),
path.join(scriptdir, "SFML/src/SFML/System/Android/**"), path.join(rootdir, "SFML/src/SFML/System/Android/**"),
} }
filter"system:linux" filter"system:linux"
removefiles removefiles
{ {
path.join(scriptdir, "SFML/src/SFML/System/Android/**"), path.join(rootdir, "SFML/src/SFML/System/Android/**"),
path.join(scriptdir, "SFML/src/SFML/System/Win32/**"), path.join(rootdir, "SFML/src/SFML/System/Win32/**"),
path.join(scriptdir, "SFML/src/SFML/Network/Win32/**"), path.join(rootdir, "SFML/src/SFML/Network/Win32/**"),
path.join(scriptdir, "SFML/src/SFML/Window/Win32/**"), path.join(rootdir, "SFML/src/SFML/Window/Win32/**"),
path.join(scriptdir, "SFML/src/SFML/Window/OpenBSD/**"), path.join(rootdir, "SFML/src/SFML/Window/OpenBSD/**"),
path.join(scriptdir, "SFML/src/SFML/Window/NetBSD/**"), path.join(rootdir, "SFML/src/SFML/Window/NetBSD/**"),
path.join(scriptdir, "SFML/src/SFML/Window/macOS/**"), path.join(rootdir, "SFML/src/SFML/Window/macOS/**"),
path.join(scriptdir, "SFML/src/SFML/Window/iOS/**"), path.join(rootdir, "SFML/src/SFML/Window/iOS/**"),
path.join(scriptdir, "SFML/src/SFML/Window/FreeBSD/**"), path.join(rootdir, "SFML/src/SFML/Window/FreeBSD/**"),
path.join(scriptdir, "SFML/src/SFML/Window/DRM/**"), path.join(rootdir, "SFML/src/SFML/Window/DRM/**"),
path.join(scriptdir, "SFML/src/SFML/Window/Android/**"), path.join(rootdir, "SFML/src/SFML/Window/Android/**"),
path.join(scriptdir, "SFML/src/SFML/Main/**"), path.join(rootdir, "SFML/src/SFML/Main/**"),
} }
filter"" filter""
@ -98,7 +99,7 @@ function m.link()
defines{"SFML_STATIC"} defines{"SFML_STATIC"}
externalincludedirs externalincludedirs
{ {
path.join(scriptdir, "SFML/include"), path.join(rootdir, "SFML/include"),
} }
links{"sfml"} links{"sfml"}

View File

@ -1,7 +1,8 @@
local m = {} local m = {}
local scriptdir = path.getabsolute(path.getdirectory(_SCRIPT)) local rootdir = path.join(path.getabsolute(path.getdirectory(_SCRIPT)), "../")
local ogg = require("build-ogg") local ogg = require("build-ogg")
function m.generateproject(liboutdir, intdir) function m.generateproject(liboutdir, intdir)
project"vorbis" project"vorbis"
language"C" -- c++ will mangle names and sfml wont build language"C" -- c++ will mangle names and sfml wont build
@ -14,53 +15,53 @@ function m.generateproject(liboutdir, intdir)
includedirs includedirs
{ {
path.join(scriptdir, "vorbis/include"), path.join(rootdir, "vorbis/include"),
path.join(scriptdir, "vorbis/lib"), path.join(rootdir, "vorbis/lib"),
} }
files files
{ {
path.join(scriptdir, "vorbis/lib/envelope.h"), path.join(rootdir, "vorbis/lib/envelope.h"),
path.join(scriptdir, "vorbis/lib/lpc.h"), path.join(rootdir, "vorbis/lib/lpc.h"),
path.join(scriptdir, "vorbis/lib/lsp.h"), path.join(rootdir, "vorbis/lib/lsp.h"),
path.join(scriptdir, "vorbis/lib/codebook.h"), path.join(rootdir, "vorbis/lib/codebook.h"),
path.join(scriptdir, "vorbis/lib/misc.h"), path.join(rootdir, "vorbis/lib/misc.h"),
path.join(scriptdir, "vorbis/lib/psy.h"), path.join(rootdir, "vorbis/lib/psy.h"),
path.join(scriptdir, "vorbis/lib/masking.h"), path.join(rootdir, "vorbis/lib/masking.h"),
path.join(scriptdir, "vorbis/lib/os.h"), path.join(rootdir, "vorbis/lib/os.h"),
path.join(scriptdir, "vorbis/lib/mdct.h"), path.join(rootdir, "vorbis/lib/mdct.h"),
path.join(scriptdir, "vorbis/lib/smallft.h"), path.join(rootdir, "vorbis/lib/smallft.h"),
path.join(scriptdir, "vorbis/lib/highlevel.h"), path.join(rootdir, "vorbis/lib/highlevel.h"),
path.join(scriptdir, "vorbis/lib/registry.h"), path.join(rootdir, "vorbis/lib/registry.h"),
path.join(scriptdir, "vorbis/lib/scales.h"), path.join(rootdir, "vorbis/lib/scales.h"),
path.join(scriptdir, "vorbis/lib/window.h"), path.join(rootdir, "vorbis/lib/window.h"),
path.join(scriptdir, "vorbis/lib/lookup.h"), path.join(rootdir, "vorbis/lib/lookup.h"),
path.join(scriptdir, "vorbis/lib/lookup_data.h"), path.join(rootdir, "vorbis/lib/lookup_data.h"),
path.join(scriptdir, "vorbis/lib/codec_internal.h"), path.join(rootdir, "vorbis/lib/codec_internal.h"),
path.join(scriptdir, "vorbis/lib/backends.h"), path.join(rootdir, "vorbis/lib/backends.h"),
path.join(scriptdir, "vorbis/lib/bitrate.h"), path.join(rootdir, "vorbis/lib/bitrate.h"),
path.join(scriptdir, "vorbis/lib/mdct.c"), path.join(rootdir, "vorbis/lib/mdct.c"),
path.join(scriptdir, "vorbis/lib/smallft.c"), path.join(rootdir, "vorbis/lib/smallft.c"),
path.join(scriptdir, "vorbis/lib/block.c"), path.join(rootdir, "vorbis/lib/block.c"),
path.join(scriptdir, "vorbis/lib/envelope.c"), path.join(rootdir, "vorbis/lib/envelope.c"),
path.join(scriptdir, "vorbis/lib/window.c"), path.join(rootdir, "vorbis/lib/window.c"),
path.join(scriptdir, "vorbis/lib/lsp.c"), path.join(rootdir, "vorbis/lib/lsp.c"),
path.join(scriptdir, "vorbis/lib/lpc.c"), path.join(rootdir, "vorbis/lib/lpc.c"),
path.join(scriptdir, "vorbis/lib/analysis.c"), path.join(rootdir, "vorbis/lib/analysis.c"),
path.join(scriptdir, "vorbis/lib/synthesis.c"), path.join(rootdir, "vorbis/lib/synthesis.c"),
path.join(scriptdir, "vorbis/lib/psy.c"), path.join(rootdir, "vorbis/lib/psy.c"),
path.join(scriptdir, "vorbis/lib/info.c"), path.join(rootdir, "vorbis/lib/info.c"),
path.join(scriptdir, "vorbis/lib/floor1.c"), path.join(rootdir, "vorbis/lib/floor1.c"),
path.join(scriptdir, "vorbis/lib/floor0.c"), path.join(rootdir, "vorbis/lib/floor0.c"),
path.join(scriptdir, "vorbis/lib/res0.c"), path.join(rootdir, "vorbis/lib/res0.c"),
path.join(scriptdir, "vorbis/lib/mapping0.c"), path.join(rootdir, "vorbis/lib/mapping0.c"),
path.join(scriptdir, "vorbis/lib/registry.c"), path.join(rootdir, "vorbis/lib/registry.c"),
path.join(scriptdir, "vorbis/lib/codebook.c"), path.join(rootdir, "vorbis/lib/codebook.c"),
path.join(scriptdir, "vorbis/lib/sharedbook.c"), path.join(rootdir, "vorbis/lib/sharedbook.c"),
path.join(scriptdir, "vorbis/lib/lookup.c"), path.join(rootdir, "vorbis/lib/lookup.c"),
path.join(scriptdir, "vorbis/lib/bitrate.c"), path.join(rootdir, "vorbis/lib/bitrate.c"),
path.join(scriptdir, "vorbis/lib/vorbisfile.c"), path.join(rootdir, "vorbis/lib/vorbisfile.c"),
path.join(scriptdir, "vorbis/lib/vorbisenc.c"), path.join(rootdir, "vorbis/lib/vorbisenc.c"),
} }
@ -72,7 +73,7 @@ function m.link()
ogg.link() ogg.link()
externalincludedirs externalincludedirs
{ {
path.join(scriptdir, "vorbis/include"), path.join(rootdir, "vorbis/include"),
} }
end end