Use premake5 beta2's externalincludedirs when available

As of the `beta2` version of `premake5`, `sysincludedirs` has been
deprecated
and replaced with/renamed to `externalincludedirs`, and continuing to
use it
causes warnings to be emitted.

With this change, we now use `externalincludedirs` when available so as
to
prevent the warnings, falling back to `sysincludedirs` when it's not to
prevent
breakage with pre-`beta2` versions of `premake5`.


Accepted By: sera
Fixes: #6785
Differential Revision: https://code.wildfiregames.com/D4980
This was SVN commit r27606.
This commit is contained in:
s0600204 2023-04-16 17:05:30 +00:00
parent a28fddcf72
commit c025776703
3 changed files with 58 additions and 10 deletions

View File

@ -26,15 +26,33 @@ local function add_source_lib_paths(extern_lib)
end
local function add_default_include_paths(extern_lib)
sysincludedirs { libraries_dir .. extern_lib .. "/include" }
-- As of premake5-beta2, `sysincludedirs` has been deprecated in favour of
-- `externalincludedirs`, and continuing to use it causes warnings to be emitted.
--
-- We use `externalincludedirs` when available to prevent the warnings, falling back
-- to `sysincludedirs` when not to prevent breakage of the `--with-system-premake5`
-- build argument.
if externalincludedirs then
externalincludedirs { libraries_dir .. extern_lib .. "/include" }
else
sysincludedirs { libraries_dir .. extern_lib .. "/include" }
end
end
local function add_source_include_paths(extern_lib)
sysincludedirs { libraries_source_dir .. extern_lib .. "/include" }
if externalincludedirs then
externalincludedirs { libraries_source_dir .. extern_lib .. "/include" }
else
sysincludedirs { libraries_source_dir .. extern_lib .. "/include" }
end
end
local function add_third_party_include_paths(extern_lib)
sysincludedirs { third_party_source_dir .. extern_lib .. "/include" }
if externalincludedirs then
externalincludedirs { third_party_source_dir .. extern_lib .. "/include" }
else
sysincludedirs { third_party_source_dir .. extern_lib .. "/include" }
end
end
pkgconfig = require "pkgconfig"
@ -198,7 +216,11 @@ extern_lib_defs = {
end
-- TODO: This actually applies to most libraries we use on BSDs, make this a global setting.
if os.istarget("bsd") then
sysincludedirs { "/usr/local/include" }
if externalincludedirs then
externalincludedirs { "/usr/local/include" }
else
sysincludedirs { "/usr/local/include" }
end
end
end,
link_settings = function()
@ -228,7 +250,11 @@ extern_lib_defs = {
},
cxxtest = {
compile_settings = function()
sysincludedirs { libraries_source_dir .. "cxxtest-4.4" }
if externalincludedirs then
externalincludedirs { libraries_source_dir .. "cxxtest-4.4" }
else
sysincludedirs { libraries_source_dir .. "cxxtest-4.4" }
end
end,
},
enet = {
@ -609,10 +635,18 @@ extern_lib_defs = {
include_dir = "include-unix"
end
filter "Debug"
sysincludedirs { libraries_source_dir.."spidermonkey/"..include_dir.."-debug" }
if externalincludedirs then
externalincludedirs { libraries_source_dir.."spidermonkey/"..include_dir.."-debug" }
else
sysincludedirs { libraries_source_dir.."spidermonkey/"..include_dir.."-debug" }
end
defines { "DEBUG" }
filter "Release"
sysincludedirs { libraries_source_dir.."spidermonkey/"..include_dir.."-release" }
if externalincludedirs then
externalincludedirs { libraries_source_dir.."spidermonkey/"..include_dir.."-release" }
else
sysincludedirs { libraries_source_dir.."spidermonkey/"..include_dir.."-release" }
end
filter { }
end
end,

View File

@ -1,5 +1,5 @@
local m = {}
m._VERSION = "1.1.1-dev"
m._VERSION = "1.1.2-dev"
m.additional_pc_path = nil
m.static_link_libs = false
@ -38,7 +38,17 @@ function m.add_includes(lib, alternative_cmd, alternative_flags)
end
end
sysincludedirs(dirs)
-- As of premake5-beta2, `sysincludedirs` has been deprecated in favour of
-- `externalincludedirs`, and continuing to use it causes warnings to be emitted.
-- We use `externalincludedirs` when available to prevent the warnings, falling back
-- to `sysincludedirs` when not to prevent breakage of the `--with-system-premake5`
-- build argument.
if externalincludedirs then
externalincludedirs(dirs)
else
sysincludedirs(dirs)
end
forceincludes(files)
buildoptions(options)
end

View File

@ -945,7 +945,11 @@ function setup_all_libs ()
end
setup_static_lib_project("gladwrapper", {}, used_extern_libs, { no_pch = 1 })
glad_path = libraries_source_dir.."glad/"
sysincludedirs { glad_path.."include" }
if externalincludedirs then
externalincludedirs { glad_path.."include" }
else
sysincludedirs { glad_path.."include" }
end
files { glad_path.."src/vulkan.cpp" }
if _OPTIONS["gles"] then
files { glad_path.."src/gles2.cpp" }