Updated global header generator

Now adds include guards


Former-commit-id: bbc67864703910cf21946fd22302efe6a52d8495
This commit is contained in:
Lynix 2012-11-11 17:57:43 +01:00
parent b4e74b6574
commit 84f73f2b6a
3 changed files with 13 additions and 7 deletions

View File

@ -7,4 +7,4 @@ newaction
trigger = "examples", trigger = "examples",
description = "Generate examples", description = "Generate examples",
execute = examples execute = examples
} }

View File

@ -16,7 +16,7 @@ function generateHeaders()
break break
end end
end end
config:close() config:close()
local header, err = io.open(modulePath .. ".hpp", "w+") local header, err = io.open(modulePath .. ".hpp", "w+")
@ -27,11 +27,16 @@ function generateHeaders()
header:write("// This file was automatically generated by Nazara\n\n") header:write("// This file was automatically generated by Nazara\n\n")
header:write(head .. "\n") header:write(head .. "\n")
-- Protection du multi-including
local preprocessorName = "NAZARA_GLOBAL_" .. string.upper(moduleName) .. "_HPP"
header:write("#ifndef " .. preprocessorName .. "\n")
header:write("#define " .. preprocessorName .. "\n\n")
local files = os.matchfiles(modulePath .. "/*.hpp") local files = os.matchfiles(modulePath .. "/*.hpp")
local count = 0 local count = 0
for k, filePath in pairs(files) do for k, filePath in pairs(files) do
local include, fileName = filePath:match(".*(Nazara/.*/(.*))") local include, fileName = filePath:match(".*(Nazara/.*/(.*))")
if (fileName ~= "Debug.hpp" and if (fileName ~= "Debug.hpp" and
fileName ~= "DebugOff.hpp" and fileName ~= "DebugOff.hpp" and
fileName ~= "ThreadSafety.hpp" and fileName ~= "ThreadSafety.hpp" and
fileName ~= "ThreadSafetyOff.hpp") then fileName ~= "ThreadSafetyOff.hpp") then
@ -40,9 +45,10 @@ function generateHeaders()
end end
end end
print(string.format("-# of includes: %d", count)) header:write("\n#endif // " .. preprocessorName .. "\n")
header:close() header:close()
print(string.format("-# of includes: %d", count))
end end
end end
@ -51,4 +57,4 @@ newaction
trigger = "generateheaders", trigger = "generateheaders",
description = "Generate a global header for each module", description = "Generate a global header for each module",
execute = generateHeaders execute = generateHeaders
} }

View File

@ -194,4 +194,4 @@ newaction
trigger = "unicode", trigger = "unicode",
description = "Parse the Unicode Character Data and put the useful informations into a header", description = "Parse the Unicode Character Data and put the useful informations into a header",
execute = parseUnicodeData execute = parseUnicodeData
} }