boost = { settings = nil, } function boost.setup(settings) if not settings.source then error("Missing source.") end boost.settings = settings end function boost.import() if not boost.settings then error("Run boost.setup first") end --links { "boost" } boost.includes() end function boost.includes() if not boost.settings then error("Run boost.setup first") end submodules = { "mpl", "core", "move", "tuple", "assert", "predef", "config", "detail", "winapi", "integer", "utility", "iterator", "container", "unordered", "date_time", "smart_ptr", "intrusive", "functional", "type_traits", "interprocess", "preprocessor", "static_assert", "throw_exception", } for i, submodule in ipairs(submodules) do includedirs { path.join(boost.settings.source, string.format("%s/include", submodule)) } end includedirs { boost.settings.source } end function boost.project() if not boost.settings then error("Run boost.setup first") end --[[ project "boost" language "C++" includedirs { boost.settings.source, } files { path.join(boost.settings.source, "*.cpp"), path.join(boost.settings.source, "*.hpp"), } removefiles { path.join(boost.settings.source, "test*"), } -- not our code, ignore POSIX usage warnings for now warnings "Off" defines { "_LIB" } removedefines { "_USRDLL", "_DLL" } kind "StaticLib" ]] end