126 lines
3 KiB
Plaintext
126 lines
3 KiB
Plaintext
grbc_want_version("1.0")
|
|
grbc_ext("GRBC_EXT_pkg_config")
|
|
grbc_ext("GRBC_EXT_profiles")
|
|
grbc_ext("GRBC_EXT_easy")
|
|
grbc_ext("GRBC_EXT_dynamic_extensions")
|
|
|
|
local hotwire = grbc_library(LibraryConfig.new({
|
|
name = "libhotwire",
|
|
language_type = LanguageType.C,
|
|
files = {
|
|
grbc_file("vendor/hotwire/src/dlopen.c")
|
|
},
|
|
lib_type = LibraryType.Static,
|
|
|
|
requirements = {},
|
|
compile_flags = {},
|
|
linker_flags = {},
|
|
|
|
include_dirs = {
|
|
"vendor/hotwire/src",
|
|
},
|
|
|
|
package_config = PackageConfig.new({
|
|
name = "libhotwire",
|
|
libraries = {},
|
|
include_dirs = {
|
|
grbc_file("vendor/hotwire/src")
|
|
},
|
|
compile_flags = {},
|
|
linker_flags = {},
|
|
})
|
|
}))
|
|
|
|
local grbc_extensions = grbc_library(LibraryConfig.new({
|
|
name = "libgrbc_extensions",
|
|
language_type = LanguageType.Cpp,
|
|
files = {
|
|
grbc_file("src/ext_pkg_config.cc"),
|
|
grbc_file("src/ext_profiles.cc"),
|
|
grbc_file("src/ext_easy.cc"),
|
|
grbc_file("src/ext_dynamic.cc")
|
|
},
|
|
lib_type = LibraryType.Static,
|
|
|
|
requirements = {},
|
|
compile_flags = {},
|
|
linker_flags = {},
|
|
|
|
include_dirs = {
|
|
"include",
|
|
"vendor/hotwire/src",
|
|
"vendor/sol2/include"
|
|
},
|
|
|
|
package_config = PackageConfig.new({
|
|
name = "libgrbc_extensions",
|
|
libraries = {},
|
|
include_dirs = {
|
|
grbc_file("include"),
|
|
grbc_file("vendor/sol2/include")
|
|
},
|
|
compile_flags = {},
|
|
linker_flags = {},
|
|
})
|
|
}))
|
|
|
|
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"),
|
|
grbc_file("src/ext.cc"),
|
|
grbc_file("src/task.cc"),
|
|
grbc_file("src/options.cc")
|
|
},
|
|
lib_type = LibraryType.Static,
|
|
|
|
requirements = {
|
|
grbc_pkg("libhotwire")
|
|
},
|
|
compile_flags = {},
|
|
linker_flags = {},
|
|
include_dirs = {
|
|
grbc_file("include"),
|
|
grbc_file("vendor/sol2/include")
|
|
},
|
|
|
|
package_config = PackageConfig.new({
|
|
name = "libgrbc",
|
|
libraries = {},
|
|
include_dirs = {
|
|
grbc_file("include"),
|
|
grbc_file("vendor/sol2/include")
|
|
},
|
|
compile_flags = {},
|
|
linker_flags = {},
|
|
})
|
|
}))
|
|
|
|
local grbc_exe = grbc_executable(ExecutableConfig.new({
|
|
name = "grbc",
|
|
language_type = LanguageType.Cpp,
|
|
files = {
|
|
grbc_file("src/main.cc"),
|
|
},
|
|
|
|
requirements = {
|
|
grbc_pkg_config("lua"),
|
|
grbc_pkg("libgrbc"),
|
|
grbc_pkg("libgrbc_extensions"),
|
|
grbc_pkg("libhotwire")
|
|
},
|
|
compile_flags = {},
|
|
linker_flags = {},
|
|
include_dirs = {}
|
|
}))
|
|
|
|
-- Output the final build script
|
|
grbc_build("ninja") |