Build: Add support for external includes

This commit is contained in:
Jérôme Leclercq 2020-11-19 13:57:55 +01:00
parent 960817a1f1
commit 386350b96c
5 changed files with 33 additions and 17 deletions

View File

@ -104,8 +104,9 @@ function NazaraBuild:Execute()
defines(libTable.Defines) defines(libTable.Defines)
flags(libTable.Flags) flags(libTable.Flags)
kind("StaticLib") -- Force them as static libs kind("StaticLib") -- Force them as static libs
includedirs("../thirdparty/include") sysincludedirs("../thirdparty/include")
includedirs(libTable.Includes) includedirs(libTable.Includes)
sysincludedirs(libTable.ExtIncludes)
links(libTable.Libraries) links(libTable.Libraries)
libdirs("../thirdparty/lib/common") libdirs("../thirdparty/lib/common")
@ -155,9 +156,9 @@ function NazaraBuild:Execute()
includedirs({ includedirs({
"../include", "../include",
"../src/", "../src/"
"../thirdparty/include"
}) })
sysincludedirs("../thirdparty/include")
files(moduleTable.Files) files(moduleTable.Files)
excludes(moduleTable.FilesExcluded) excludes(moduleTable.FilesExcluded)
@ -165,6 +166,7 @@ function NazaraBuild:Execute()
defines(moduleTable.Defines) defines(moduleTable.Defines)
flags(moduleTable.Flags) flags(moduleTable.Flags)
includedirs(moduleTable.Includes) includedirs(moduleTable.Includes)
sysincludedirs(moduleTable.ExtIncludes)
links(moduleTable.Libraries) links(moduleTable.Libraries)
libdirs({ libdirs({
@ -236,10 +238,8 @@ function NazaraBuild:Execute()
assert(false, "Invalid tool kind") assert(false, "Invalid tool kind")
end end
includedirs({ includedirs("../include")
"../include", sysincludedirs("../thirdparty/include")
"../thirdparty/include"
})
libdirs({ libdirs({
"../thirdparty/lib/common", "../thirdparty/lib/common",
@ -252,6 +252,7 @@ function NazaraBuild:Execute()
defines(toolTable.Defines) defines(toolTable.Defines)
flags(toolTable.Flags) flags(toolTable.Flags)
includedirs(toolTable.Includes) includedirs(toolTable.Includes)
sysincludedirs(toolTable.ExtIncludes)
links(toolTable.Libraries) links(toolTable.Libraries)
-- Output to lib/conf/arch -- Output to lib/conf/arch
@ -308,11 +309,10 @@ function NazaraBuild:Execute()
end end
debugdir(destPath) debugdir(destPath)
includedirs({ includedirs("../include")
"../include", includedirs(exampleTable.Includes)
"../thirdparty/include", sysincludedirs("../thirdparty/include")
exampleTable.Includes sysincludedirs(exampleTable.ExtIncludes)
})
libdirs({ libdirs({
"../lib", "../lib",
exampleTable.LibDir exampleTable.LibDir
@ -784,6 +784,10 @@ function NazaraBuild:Process(infoTable)
table.insert(infoTable.Includes, v) table.insert(infoTable.Includes, v)
end end
for k,v in ipairs(libraryTable.ExtIncludes) do
table.insert(infoTable.ExtIncludes, v)
end
-- And libraries -- And libraries
for k, v in pairs(libraryTable.Libraries) do for k, v in pairs(libraryTable.Libraries) do
table.insert(infoTable.Libraries, v) table.insert(infoTable.Libraries, v)
@ -1180,7 +1184,7 @@ function NazaraBuild:SetupInfoTable(infoTable)
infoTable.LibraryPaths.x86 = {} infoTable.LibraryPaths.x86 = {}
infoTable.LibraryPaths.x64 = {} infoTable.LibraryPaths.x64 = {}
local infos = {"Defines", "DynLib", "Files", "FilesExcluded", "Flags", "Includes", "Libraries"} local infos = {"Defines", "DynLib", "Files", "FilesExcluded", "Flags", "Includes", "Libraries", "ExtIncludes"}
for k,v in ipairs(infos) do for k,v in ipairs(infos) do
infoTable[v] = {} infoTable[v] = {}
infoTable["Os" .. v] = {} infoTable["Os" .. v] = {}

View File

@ -4,11 +4,14 @@ TOOL.Directory = "../plugins/Assimp"
TOOL.Kind = "Plugin" TOOL.Kind = "Plugin"
TOOL.Includes = { TOOL.Includes = {
"../thirdparty/include",
"../include", "../include",
"../plugins/Assimp" "../plugins/Assimp"
} }
TOOL.ExtIncludes = {
"../thirdparty/include"
}
TOOL.Files = { TOOL.Files = {
"../plugins/Assimp/**.hpp", "../plugins/Assimp/**.hpp",
"../plugins/Assimp/**.inl", "../plugins/Assimp/**.inl",

View File

@ -12,7 +12,10 @@ TOOL.Defines = {
TOOL.Includes = { TOOL.Includes = {
"../include", "../include",
"../src/", "../src/"
}
TOOL.ExtIncludes = {
"../extlibs/include" "../extlibs/include"
} }

View File

@ -11,10 +11,13 @@ TOOL.Defines = {
TOOL.Includes = { TOOL.Includes = {
"../include", "../include",
"../extlibs/include",
"../src" "../src"
} }
TOOL.ExtIncludes = {
"../extlibs/include"
}
TOOL.Files = { TOOL.Files = {
"../src/ShaderNode/**.hpp", "../src/ShaderNode/**.hpp",
"../src/ShaderNode/**.inl", "../src/ShaderNode/**.inl",

View File

@ -13,7 +13,10 @@ TOOL.Defines = {
TOOL.Includes = { TOOL.Includes = {
"../include", "../include",
"../src/", "../src/"
}
TOOL.ExtIncludes = {
"../extlibs/include" "../extlibs/include"
} }