diff --git a/build/scripts/common.lua b/build/scripts/common.lua index f3d7b5c61..266b50f85 100644 --- a/build/scripts/common.lua +++ b/build/scripts/common.lua @@ -85,7 +85,7 @@ function NazaraBuild:Execute() location(_ACTION .. "/extlibs") files(libTable.Files) - excludes(libTable.FilesExclusion) + excludes(libTable.FilesExcluded) defines(libTable.Defines) flags(libTable.Flags) @@ -226,7 +226,7 @@ function NazaraBuild:Execute() configuration({}) files(moduleTable.Files) - excludes(moduleTable.FilesExclusion) + excludes(moduleTable.FilesExcluded) defines(moduleTable.Defines) flags(moduleTable.Flags) @@ -354,7 +354,7 @@ function NazaraBuild:Execute() configuration({}) files(toolTable.Files) - excludes(toolTable.FilesExclusion) + excludes(toolTable.FilesExcluded) defines(toolTable.Defines) flags(toolTable.Flags) @@ -389,7 +389,7 @@ function NazaraBuild:Execute() targetdir("../examples/bin") files(exampleTable.Files) - excludes(exampleTable.FilesExclusion) + excludes(exampleTable.FilesExcluded) defines(exampleTable.Defines) flags(exampleTable.Flags) @@ -709,7 +709,7 @@ function NazaraBuild:RegisterModule(moduleTable) table.insert(moduleTable.Files, "../src/Nazara/" .. moduleTable.Name .. "/**.cpp") if (_OPTIONS["united"] and lowerCaseName ~= "core") then - table.insert(moduleTable.FilesExclusion, "../src/Nazara/" .. moduleTable.Name .. "/Debug/NewOverload.cpp") + table.insert(moduleTable.FilesExcluded, "../src/Nazara/" .. moduleTable.Name .. "/Debug/NewOverload.cpp") end moduleTable.Type = "Module" @@ -804,60 +804,36 @@ function NazaraBuild:Process(infoTable) end infoTable.Libraries = libraries - for platform, defineTable in pairs(infoTable.OsDefines) do - platform = string.lower(platform) - if (platform == "posix") then - local osname = os.get() - if (PosixOSes[osname]) then - platform = osname - end - end + for k,v in pairs(infoTable) do + local target = k:match("Os(%w+)") + if (target) then + local targetTable = infoTable[target] + if (targetTable) then + local excludeTargetTable = infoTable[target .. "Excluded"] + for platform, defineTable in pairs(v) do + platform = string.lower(platform) + if (platform == "posix") then + local osname = os.get() + if (PosixOSes[osname]) then + platform = osname + end + end - if (os.is(platform)) then - for k,v in ipairs(defineTable) do - table.insert(infoTable.Defines, v) + if (os.is(platform)) then + for k,v in ipairs(defineTable) do + table.insert(targetTable, v) + end + elseif (excludeTargetTable) then + for k,v in ipairs(defineTable) do + table.insert(excludeTargetTable, v) + end + end + end + + infoTable[k] = nil end end end - infoTable.OsDefines = nil - - for platform, fileTable in pairs(infoTable.OsFiles) do - platform = string.lower(platform) - if (platform == "posix") then - local osname = os.get() - if (PosixOSes[osname]) then - platform = osname - end - end - - if (os.is(platform)) then - for k,v in ipairs(fileTable) do - table.insert(infoTable.Files, v) - end - else - for k,v in ipairs(fileTable) do - table.insert(infoTable.FilesExclusion, v) - end - end - end - infoTable.OsFiles = nil - - for platform, libraryTable in pairs(infoTable.OsLibraries) do - platform = string.lower(platform) - if (platform == "posix") then - local osname = os.get() - if (PosixOSes[osname]) then - platform = osname - end - end - - if (os.is(platform)) then - for k,v in ipairs(libraryTable) do - table.insert(infoTable.Libraries, v) - end - end - end - infoTable.OsLibraries = nil end function NazaraBuild:SetupInfoTable(infoTable) @@ -866,13 +842,10 @@ function NazaraBuild:SetupInfoTable(infoTable) infoTable.ConfigurationLibraries.ReleaseStatic = {} infoTable.ConfigurationLibraries.DebugDynamic = {} infoTable.ConfigurationLibraries.ReleaseDynamic = {} - infoTable.Defines = {} - infoTable.Files = {} - infoTable.FilesExclusion = {} - infoTable.Flags = {} - infoTable.Includes = {} - infoTable.Libraries = {} - infoTable.OsDefines = {} - infoTable.OsFiles = {} - infoTable.OsLibraries = {} + + local infos = {"Defines", "Files", "FilesExcluded", "Flags", "Includes", "Libraries"} + for k,v in ipairs(infos) do + infoTable[v] = {} + infoTable["Os" .. v] = {} + end end \ No newline at end of file diff --git a/build/scripts/features/index_template.html b/build/scripts/features/index_template.html index d06aeb4d9..43bf5aea9 100644 --- a/build/scripts/features/index_template.html +++ b/build/scripts/features/index_template.html @@ -1,47 +1,44 @@
- - + +
-
-
-
- Retrouvez le moteur sur GitHub !
-
- Dépôt Github
- Ou venez vous renseigner sur les topics dédiés à Nazara présents sur plusieurs site webs:
-
- OpenClassrooms ou Progdupeupl ou ZesteDeSavoir
-
-
- ... ou pourquoi ne pas venir faire un tour sur le forum dédié au moteur ?
-
+
+ Afin de faciliter la mise à jour, la page que vous voyez ici a été générée automatiquement par un script Lua, ce qui m'oblige néanmoins à encoder les fonctionnalités de chaque module dans un premier temps.
C'est un travail assez long (pour vous donner une idée, les données du noyau représentent un fichier de 200 lignes), et il n'est pas encore complet, c'est pourquoi des modules manquent sur cette page.
- Gardez donc à l'esprit que le moteur possède plus de fonctionnalités que ce qui est décrit actuellement sur cette page.
-
- Oh et bien sûr je ne suis pas concepteur de site web, c'est pourquoi cette page est moche (j'ai essayé de minimiser les dégats).
- Si vous sentez en vous l'irrésistible envie d'améliorer cette page, sachez que votre aide sera grandement appréciée (vous pouvez me contacter via le lien de votre choix plus haut).
-
-
- Le pourcentage indiqué est calculé automatiquement en fonction des fonctionnalités,
cela signifie qu'une fonctionnalité présente sera comptée à 100% à partir du moment où son implémentation de base est considérée fonctionnelle,
cela n'est donc pas une assurance qu'aucun bug n'existe concernant cette fonctionnalité (cependant cela signifie que la fonctionnalité est utilisable).
- Et bien entendu, un module ou une fonctionnalité ayant atteint les 100% peut toujours évoluer par la suite.
-
-
+ Gardez donc à l'esprit que le moteur possède plus de fonctionnalités que ce qui est décrit actuellement sur cette page.
Oh et bien sûr je ne suis pas concepteur de site web, c'est pourquoi cette page est moche (j'ai essayé de minimiser les dégâts).
+ Si vous sentez en vous l'irrésistible envie d'améliorer cette page, sachez que votre aide serait grandement appréciée (vous pouvez me contacter via le lien de votre choix plus haut).
Le pourcentage indiqué est calculé automatiquement en fonction des fonctionnalités, cela signifie qu'une fonctionnalité présente sera comptée à 100% à partir du moment où son implémentation de base est considérée fonctionnelle, cela n'est donc pas une assurance qu'aucun bug n'existe concernant cette fonctionnalité (cependant cela signifie que la fonctionnalité est utilisable).
+ Et bien entendu, un module ou une fonctionnalité ayant atteint les 100% peut toujours évoluer par la suite.