lib "lua" src("*vendor/lua", "-vendor/lua/lua.c") include "vendor/lua" include "vendor/headers" warnings(false) lib "sol2" include "vendor/sol2" dependency "lua" lib "stduuid" include "vendor/stduuid/include" link "uuid" lib "ecs" path "ecs" dependency("sol2", "stduuid") lib "ecs-lua" path "ecs-lua" dependency "ecs" subfile("../iohelper/flint.lua", "iohelper") lib "ecs-serial" path "ecs-serial" dependency("ecs", "iohelper") function codegen(file) local handle = io.popen("mkdir " .. config.paths.build .. "/generated") handle:close() local command = "python test.py test/include/" .. file .. " > " .. config.paths.build .. "/generated/ecs_" .. file handle = io.popen(command) handle:close() end executable "test" path "test" dependency "ecs-lua" dependency "ecs-serial" hook(step.PRE_BUILD, codegen, "components.h") include(config.paths.build .. "/generated/") run_dir "test" run_target "test"