add new build scripts
This commit is contained in:
parent
4ac23c00c6
commit
4b416772fd
|
|
@ -0,0 +1,66 @@
|
||||||
|
local m = {}
|
||||||
|
|
||||||
|
local scriptdir = 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
|
||||||
|
kind"staticLib"
|
||||||
|
targetdir (liboutdir)
|
||||||
|
objdir(intdir)
|
||||||
|
warnings"Off"
|
||||||
|
|
||||||
|
ogg.link()
|
||||||
|
|
||||||
|
defines
|
||||||
|
{
|
||||||
|
"FLAC__NO_DLL",
|
||||||
|
"CPU_IS_BIG_ENDIAN=0",
|
||||||
|
"FLAC__HAS_OGG=1",
|
||||||
|
"PACKAGE_VERSION=\"\"",
|
||||||
|
}
|
||||||
|
|
||||||
|
filter"system:linux"
|
||||||
|
defines
|
||||||
|
{
|
||||||
|
"HAVE_LROUND",--fix error in lpc.c <Static declaration of 'lround' follows non-static declaration>
|
||||||
|
"HAVE_STDINT_H", --fix error in alloc.h <# error>
|
||||||
|
}
|
||||||
|
|
||||||
|
includedirs
|
||||||
|
{
|
||||||
|
path.join(scriptdir, "flac/include"),
|
||||||
|
path.join(scriptdir, "flac/src/libFLAC/include"),
|
||||||
|
}
|
||||||
|
|
||||||
|
files
|
||||||
|
{
|
||||||
|
path.join(scriptdir, "flac/src/libFLAC/**.c"),
|
||||||
|
}
|
||||||
|
|
||||||
|
removefiles
|
||||||
|
{
|
||||||
|
path.join(scriptdir, "flac/src/libFLAC/deduplication/**"),
|
||||||
|
}
|
||||||
|
|
||||||
|
filter"system:windows"
|
||||||
|
files
|
||||||
|
{
|
||||||
|
path.join(scriptdir, "flac/src/share/win_utf8_io/**.c"),
|
||||||
|
}
|
||||||
|
|
||||||
|
filter""
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
function m.link()
|
||||||
|
externalincludedirs
|
||||||
|
{
|
||||||
|
path.join(scriptdir, "flac/include"),
|
||||||
|
path.join(scriptdir, "flac/src/libFLAC/include"),
|
||||||
|
}
|
||||||
|
links {"flac"}
|
||||||
|
ogg.link()
|
||||||
|
end
|
||||||
|
|
||||||
|
return m
|
||||||
|
|
@ -0,0 +1,96 @@
|
||||||
|
local m = {}
|
||||||
|
|
||||||
|
local scriptdir = path.getabsolute(path.getdirectory(_SCRIPT))
|
||||||
|
|
||||||
|
function m.generateproject(liboutdir, intdir)
|
||||||
|
project"freetype"
|
||||||
|
kind"staticLib"
|
||||||
|
language"C" -- c++ will mangle names and sfml wont build
|
||||||
|
targetdir (liboutdir)
|
||||||
|
objdir(intdir)
|
||||||
|
warnings"Off"
|
||||||
|
|
||||||
|
includedirs {path.join(scriptdir, "freetype/include")}
|
||||||
|
|
||||||
|
defines
|
||||||
|
{
|
||||||
|
"FT2_BUILD_LIBRARY",
|
||||||
|
"NDEBUG", -- have freetype always be in release mode
|
||||||
|
"FT_DEBUG_LEVEL_ERROR=0", -- fix linking errors <undefined reference...>
|
||||||
|
"FT_DEBUG_LEVEL_TRACE=0" -- fix linking errors <undefined reference...>
|
||||||
|
}
|
||||||
|
|
||||||
|
files
|
||||||
|
{
|
||||||
|
path.join(scriptdir, "freetype/src/autofit/autofit.c"),
|
||||||
|
path.join(scriptdir, "freetype/src/base/ftbase.c"),
|
||||||
|
path.join(scriptdir, "freetype/src/base/ftbbox.c"),
|
||||||
|
path.join(scriptdir, "freetype/src/base/ftbdf.c"),
|
||||||
|
path.join(scriptdir, "freetype/src/base/ftbitmap.c"),
|
||||||
|
path.join(scriptdir, "freetype/src/base/ftcid.c"),
|
||||||
|
path.join(scriptdir, "freetype/src/base/ftfstype.c"),
|
||||||
|
path.join(scriptdir, "freetype/src/base/ftgasp.c"),
|
||||||
|
path.join(scriptdir, "freetype/src/base/ftglyph.c"),
|
||||||
|
path.join(scriptdir, "freetype/src/base/ftgxval.c"),
|
||||||
|
path.join(scriptdir, "freetype/src/base/ftinit.c"),
|
||||||
|
path.join(scriptdir, "freetype/src/base/ftmm.c"),
|
||||||
|
path.join(scriptdir, "freetype/src/base/ftotval.c"),
|
||||||
|
path.join(scriptdir, "freetype/src/base/ftpatent.c"),
|
||||||
|
path.join(scriptdir, "freetype/src/base/ftpfr.c"),
|
||||||
|
path.join(scriptdir, "freetype/src/base/ftstroke.c"),
|
||||||
|
path.join(scriptdir, "freetype/src/base/ftsynth.c"),
|
||||||
|
path.join(scriptdir, "freetype/src/base/fttype1.c"),
|
||||||
|
path.join(scriptdir, "freetype/src/base/ftwinfnt.c"),
|
||||||
|
path.join(scriptdir, "freetype/src/bdf/bdf.c"),
|
||||||
|
path.join(scriptdir, "freetype/src/bzip2/ftbzip2.c"),
|
||||||
|
path.join(scriptdir, "freetype/src/cache/ftcache.c"),
|
||||||
|
path.join(scriptdir, "freetype/src/cff/cff.c"),
|
||||||
|
path.join(scriptdir, "freetype/src/cid/type1cid.c"),
|
||||||
|
path.join(scriptdir, "freetype/src/gzip/ftgzip.c"),
|
||||||
|
path.join(scriptdir, "freetype/src/lzw/ftlzw.c"),
|
||||||
|
path.join(scriptdir, "freetype/src/pcf/pcf.c"),
|
||||||
|
path.join(scriptdir, "freetype/src/pfr/pfr.c"),
|
||||||
|
path.join(scriptdir, "freetype/src/psaux/psaux.c"),
|
||||||
|
path.join(scriptdir, "freetype/src/pshinter/pshinter.c"),
|
||||||
|
path.join(scriptdir, "freetype/src/psnames/psnames.c"),
|
||||||
|
path.join(scriptdir, "freetype/src/raster/raster.c"),
|
||||||
|
path.join(scriptdir, "freetype/src/sdf/sdf.c"),
|
||||||
|
path.join(scriptdir, "freetype/src/sfnt/sfnt.c"),
|
||||||
|
path.join(scriptdir, "freetype/src/smooth/smooth.c"),
|
||||||
|
path.join(scriptdir, "freetype/src/svg/svg.c"),
|
||||||
|
path.join(scriptdir, "freetype/src/truetype/truetype.c"),
|
||||||
|
path.join(scriptdir, "freetype/src/type1/type1.c"),
|
||||||
|
path.join(scriptdir, "freetype/src/type42/type42.c"),
|
||||||
|
path.join(scriptdir, "freetype/src/winfonts/winfnt.c"),
|
||||||
|
path.join(scriptdir, "freetype/src/base/ftdebug.c"), --fix linking errors related to FT_THROW, et)c
|
||||||
|
}
|
||||||
|
|
||||||
|
filter "system:linux"
|
||||||
|
defines
|
||||||
|
{
|
||||||
|
"HAVE_FCNTL_H",--fix error in ftsystem.c <implicit declaration of function ‘open’>
|
||||||
|
"HAVE_UNISTD_H" --fix error in ftsystem.c <implicit declaration of function ‘read’>
|
||||||
|
}
|
||||||
|
|
||||||
|
filter"system:windows"
|
||||||
|
files
|
||||||
|
{
|
||||||
|
path.join(scriptdir, "freetype/builds/windows/ftsystem.c"),
|
||||||
|
path.join(scriptdir, "freetype/builds/windows/ftdebug.c"),
|
||||||
|
}
|
||||||
|
|
||||||
|
filter"system:linux"
|
||||||
|
files{path.join(scriptdir, "freetype/builds/unix/ftsystem.c")}
|
||||||
|
|
||||||
|
filter "configurations:Debug"
|
||||||
|
optimize"Speed"
|
||||||
|
|
||||||
|
filter""
|
||||||
|
end
|
||||||
|
|
||||||
|
function m.link()
|
||||||
|
externalincludedirs{path.join(scriptdir, "freetype/include")}
|
||||||
|
links {"freetype"}
|
||||||
|
end
|
||||||
|
|
||||||
|
return m
|
||||||
|
|
@ -0,0 +1,43 @@
|
||||||
|
local m = {}
|
||||||
|
|
||||||
|
local scriptdir = path.getabsolute(path.getdirectory(_SCRIPT))
|
||||||
|
local sfml = require("build-sfml")
|
||||||
|
function m.generateproject(liboutdir, intdir)
|
||||||
|
project"imgui-sfml"
|
||||||
|
cppdialect"c++17"
|
||||||
|
kind"staticLib"
|
||||||
|
targetdir (liboutdir)
|
||||||
|
objdir(intdir)
|
||||||
|
warnings"Off"
|
||||||
|
|
||||||
|
defines{"IMGUI_USER_CONFIG=\"imconfig-SFML.h\""}
|
||||||
|
|
||||||
|
sfml.link()
|
||||||
|
|
||||||
|
includedirs
|
||||||
|
{
|
||||||
|
path.join(scriptdir, "imgui-sfml"),
|
||||||
|
path.join(scriptdir, "imgui"),
|
||||||
|
}
|
||||||
|
|
||||||
|
files
|
||||||
|
{
|
||||||
|
path.join(scriptdir, "imgui-sfml/imgui-SFML.cpp"),
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
||||||
|
function m.config() -- use this in build imgui instead of link() to avoid circular dependency
|
||||||
|
|
||||||
|
defines { "IMGUI_USER_CONFIG=\"imconfig-SFML.h\"" }
|
||||||
|
|
||||||
|
externalincludedirs { path.join(scriptdir, "imgui-sfml") }
|
||||||
|
|
||||||
|
sfml.link()
|
||||||
|
end
|
||||||
|
|
||||||
|
function m.link()
|
||||||
|
links {"imgui-sfml"}
|
||||||
|
m.config()
|
||||||
|
end
|
||||||
|
|
||||||
|
return m
|
||||||
|
|
@ -0,0 +1,36 @@
|
||||||
|
local m = {}
|
||||||
|
|
||||||
|
local scriptdir = path.getabsolute(path.getdirectory(_SCRIPT))
|
||||||
|
local imguisfml = require("build-imgui-sfml")
|
||||||
|
|
||||||
|
function m.generateproject(liboutdir, intdir)
|
||||||
|
project"imgui"
|
||||||
|
cppdialect"c++17"
|
||||||
|
kind"staticLib"
|
||||||
|
targetdir (liboutdir)
|
||||||
|
objdir(intdir)
|
||||||
|
warnings"Off"
|
||||||
|
|
||||||
|
imguisfml.config() -- needed so imgui can be aware of imconfig-sfml.h
|
||||||
|
|
||||||
|
includedirs
|
||||||
|
{
|
||||||
|
path.join(scriptdir, "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"),
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
||||||
|
function m.link()
|
||||||
|
links {"imgui"}
|
||||||
|
|
||||||
|
externalincludedirs { path.join(scriptdir, "imgui") }
|
||||||
|
end
|
||||||
|
|
||||||
|
return m
|
||||||
|
|
@ -0,0 +1,28 @@
|
||||||
|
local m = {}
|
||||||
|
|
||||||
|
local scriptdir = path.getabsolute(path.getdirectory(_SCRIPT))
|
||||||
|
|
||||||
|
function m.generateproject(liboutdir, intdir)
|
||||||
|
project"ogg"
|
||||||
|
language"C" -- c++ will mangle names and sfml wont build
|
||||||
|
kind"staticLib"
|
||||||
|
targetdir (liboutdir)
|
||||||
|
objdir(intdir)
|
||||||
|
warnings"Off"
|
||||||
|
|
||||||
|
includedirs {path.join(scriptdir, "ogg/include")}
|
||||||
|
|
||||||
|
files
|
||||||
|
{
|
||||||
|
path.join(scriptdir, "ogg/src/**.h"),
|
||||||
|
path.join(scriptdir, "ogg/src/**.c"),
|
||||||
|
}
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
function m.link()
|
||||||
|
links{"ogg"}
|
||||||
|
externalincludedirs{path.join(scriptdir, "ogg/include")}
|
||||||
|
end
|
||||||
|
|
||||||
|
return m
|
||||||
|
|
@ -0,0 +1,118 @@
|
||||||
|
local m = {}
|
||||||
|
|
||||||
|
local scriptdir = path.getabsolute(path.getdirectory(_SCRIPT))
|
||||||
|
local ogg = require("build-ogg")
|
||||||
|
local flac = require("build-flac")
|
||||||
|
local vorbis = require("build-vorbis")
|
||||||
|
local freetype = require("build-freetype")
|
||||||
|
|
||||||
|
function m.generateproject(liboutdir, intdir)
|
||||||
|
project"sfml"
|
||||||
|
cppdialect"c++17"
|
||||||
|
kind "staticLib"
|
||||||
|
targetdir (liboutdir)
|
||||||
|
objdir(intdir)
|
||||||
|
warnings"Off"
|
||||||
|
|
||||||
|
|
||||||
|
freetype.link()
|
||||||
|
ogg.link()
|
||||||
|
flac.link()
|
||||||
|
vorbis.link()
|
||||||
|
|
||||||
|
defines
|
||||||
|
{
|
||||||
|
"SFML_STATIC",
|
||||||
|
"MA_NO_MP3",
|
||||||
|
"MA_NO_FLAC",
|
||||||
|
"MA_NO_ENCODING",
|
||||||
|
"MA_NO_RESOURCE_MANAGER",
|
||||||
|
"MA_NO_GENERATION",
|
||||||
|
"MA_USE_STDINT",
|
||||||
|
"STBI_FAILURE_USERMSG",
|
||||||
|
"SFML_IS_BIG_ENDIAN=0",
|
||||||
|
"FT2_BUILD_LIBRARY",
|
||||||
|
"FLAC__NO_DLL",
|
||||||
|
"OV_EXCLUDE_STATIC_CALLBACKS",
|
||||||
|
}
|
||||||
|
|
||||||
|
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"),
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
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"),
|
||||||
|
}
|
||||||
|
|
||||||
|
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/**"),
|
||||||
|
}
|
||||||
|
|
||||||
|
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/**"),
|
||||||
|
}
|
||||||
|
filter""
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
function m.link()
|
||||||
|
defines{"SFML_STATIC"}
|
||||||
|
externalincludedirs
|
||||||
|
{
|
||||||
|
path.join(scriptdir, "SFML/include"),
|
||||||
|
}
|
||||||
|
|
||||||
|
links{"sfml"}
|
||||||
|
freetype.link()
|
||||||
|
flac.link()
|
||||||
|
vorbis.link()
|
||||||
|
ogg.link()
|
||||||
|
|
||||||
|
filter"system:windows"
|
||||||
|
links{"legacy_stdio_definitions", "opengl32", "gdi32", "winmm", "ws2_32"}
|
||||||
|
|
||||||
|
filter"system:linux"
|
||||||
|
links{"Xi", "Xrandr", "Xcursor", "X11", "udev", "pthread", "OpenGL"}
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
return m
|
||||||
|
|
@ -0,0 +1,79 @@
|
||||||
|
local m = {}
|
||||||
|
|
||||||
|
local scriptdir = 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
|
||||||
|
kind"staticLib"
|
||||||
|
targetdir (liboutdir)
|
||||||
|
objdir(intdir)
|
||||||
|
warnings"Off"
|
||||||
|
|
||||||
|
ogg.link()
|
||||||
|
|
||||||
|
includedirs
|
||||||
|
{
|
||||||
|
path.join(scriptdir, "vorbis/include"),
|
||||||
|
path.join(scriptdir, "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"),
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
filter""
|
||||||
|
end
|
||||||
|
|
||||||
|
function m.link()
|
||||||
|
links {"vorbis"}
|
||||||
|
ogg.link()
|
||||||
|
externalincludedirs
|
||||||
|
{
|
||||||
|
path.join(scriptdir, "vorbis/include"),
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
||||||
|
return m
|
||||||
|
|
@ -1,8 +1,10 @@
|
||||||
local m = {}
|
local m = {}
|
||||||
|
|
||||||
local scriptdir = path.getabsolute(path.getdirectory(_SCRIPT))
|
local scriptdir = path.getabsolute(path.getdirectory(_SCRIPT))
|
||||||
|
|
||||||
local sfml = require("path/to/build-sfml")
|
local sfml = require("path/to/build-sfml")
|
||||||
local imguisfml = require("path/to/build-imgui-sfml")
|
local imguisfml = require("path/to/build-imgui-sfml")
|
||||||
|
local imgui = require("path/to/build-imgui")
|
||||||
|
|
||||||
function m.generateproject(bindir, intdir)
|
function m.generateproject(bindir, intdir)
|
||||||
project "example"
|
project "example"
|
||||||
|
|
@ -16,6 +18,7 @@ project "example"
|
||||||
debug(scriptdir) -- assuming scriptdir has your assets, config files, etc
|
debug(scriptdir) -- assuming scriptdir has your assets, config files, etc
|
||||||
|
|
||||||
-- link order matters on GCC/Clang
|
-- link order matters on GCC/Clang
|
||||||
|
imgui.link()
|
||||||
imguisfml.link()
|
imguisfml.link()
|
||||||
sfml.link()
|
sfml.link()
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,13 +1,14 @@
|
||||||
local ogg = require("path/to/ogg/build-ogg")
|
local ogg = require("path/to/ogg/build-ogg")
|
||||||
local sfml = require("path/to/sfml/build-sfml")
|
local sfml = require("path/to/sfml/build-sfml")
|
||||||
local flac = require("path/to/flac/build-flac")
|
local flac = require("path/to/flac/build-flac")
|
||||||
|
local imgui = require("path/to/build-imgui")
|
||||||
local vorbis = require("path/to/vorbis/build-vorbis")
|
local vorbis = require("path/to/vorbis/build-vorbis")
|
||||||
local freetype = require("path/to/freetype/build-freetype")
|
local freetype = require("path/to/freetype/build-freetype")
|
||||||
local imguisfml = require("path/to/imgui-sfml/build-imgui-sfml")
|
local imguisfml = require("path/to/imgui-sfml/build-imgui-sfml")
|
||||||
|
|
||||||
local exampleproject = require("path/to/project")
|
local exampleproject = require("path/to/project")
|
||||||
|
|
||||||
-- assuming you are using the modules i provided with premake
|
-- assuming you are using the modules I provided with premake
|
||||||
require ("ecc/ecc")
|
require ("ecc/ecc")
|
||||||
require ("ninja/ninja")
|
require ("ninja/ninja")
|
||||||
|
|
||||||
|
|
@ -44,6 +45,7 @@ workspace "Example"
|
||||||
bindir = "bin/" .. output_dir
|
bindir = "bin/" .. output_dir
|
||||||
liboutdir = "lib/" .. output_dir
|
liboutdir = "lib/" .. output_dir
|
||||||
|
|
||||||
|
-- have Dependencies in a different folder for Visual studio
|
||||||
group"Dependencies"
|
group"Dependencies"
|
||||||
ogg.generateproject(liboutdir, intdir)
|
ogg.generateproject(liboutdir, intdir)
|
||||||
sfml.generateproject(liboutdir, intdir)
|
sfml.generateproject(liboutdir, intdir)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue