-------------------------------- -- -- -- Examples -- -- -- -------------------------------- local example_settings = CopySettings(global_settings, "Example") -- Include spectre headers. example_settings.cc.includes:Add("include/") -- Link with spectre. example_settings.link.extrafiles:Add(libspectre) if TARGET_OS == "Win32" then -- Windows needs to link against these. example_settings.link.libs:Add("opengl32", "gdi32", "user32") elseif TARGET_OS == "Unix" then -- Unix nees dl and X11 libs. example_settings.link.libs:Add("dl", 'X11', 'Xrandr', 'freetype') end -- For now, to get examples working -- we copy the whole assets directory. assets = CopyDir(PathJoin(paths.build, paths.examples), "assets") examples = {} for k, name in pairs(CollectDirs("examples/*")) do Import(PathJoin(name, "bam.lua")) exe = Link(example_settings, PathJoin(paths.examples, name), Compile(example_settings, src)) AddDependency(exe, assets) table.insert(examples, exe) end PseudoTarget("examples", examples)