grbc_want_version("1.0") grbc_load_platform("platform.hcfg") grbc_load_profile("profile.hcfg") local grbc_lib = grbc_library(LibraryConfig.new({ name = "libgrbc", language_type = LanguageType.Cpp, files = { grbc_file("src/file.cc"), grbc_file("src/ninja.cc"), grbc_file("src/platform.cc"), grbc_file("src/target_exe.cc"), grbc_file("src/utils.cc"), grbc_file("src/generator.cc"), grbc_file("src/target_lib.cc"), grbc_file("src/package.cc") }, lib_type = LibraryType.Static, requirements = {}, compile_flags = {}, linker_flags = {}, include_dirs = { grbc_file("include"), grbc_file("vendor/sol2/include") }, package_config = PackageConfig.new({ name = "libgrbc", libraries = {}, include_dirs = {}, compile_flags = {}, linker_flags = {}, }) })) local grbc_exe = grbc_executable(ExecutableConfig.new({ name = "grbc", language_type = LanguageType.Cpp, files = { grbc_file("src/main.cc"), }, requirements = { Package.new({ name = "lua", compiler_flags = "", linker_flags = "-llua -lm -ldl" }), grbc_pkg("libgrbc") }, compile_flags = { grbc_compiler_define("HCONFIG", "") }, linker_flags = {}, include_dirs = { grbc_file("include"), grbc_file("vendor/sol2/include") } })) -- Output the final build script grbc_build("ninja")