Squash commits for public release
This commit is contained in:
94
build/userland/TEMPLATE.gni
Normal file
94
build/userland/TEMPLATE.gni
Normal file
@@ -0,0 +1,94 @@
|
||||
import("//build/security/SIGN_TEMPLATE.gni")
|
||||
import("//build/userland/EXEC_TEMPLATE.gni")
|
||||
|
||||
template("xOS_executable") {
|
||||
app_name = target_name
|
||||
|
||||
assert(defined(invoker.install_path), "Install path must be provided")
|
||||
|
||||
signexec = false
|
||||
if (defined(invoker.signexec)) {
|
||||
signexec = invoker.signexec
|
||||
}
|
||||
|
||||
if (signexec) {
|
||||
xOS_signexec(app_name) {
|
||||
binpath = invoker.install_path + app_name
|
||||
}
|
||||
}
|
||||
|
||||
xOS_executable_template(app_name) {
|
||||
need_sign_section = signexec
|
||||
forward_variables_from(invoker,
|
||||
[
|
||||
"install_path",
|
||||
"sources",
|
||||
"configs",
|
||||
"deplibs",
|
||||
"cflags",
|
||||
"cflags_c",
|
||||
"cflags_cc",
|
||||
"cflags_objc",
|
||||
"cflags_objcc",
|
||||
"asmflags",
|
||||
"ldflags",
|
||||
"public_deps",
|
||||
"include_dirs",
|
||||
])
|
||||
}
|
||||
|
||||
group(app_name) {
|
||||
deps = [ ":$app_name" + "_build" ]
|
||||
if (signexec) {
|
||||
deps += [ ":sign_" + "$app_name" ]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
template("xOS_application") {
|
||||
app_name = target_name
|
||||
root = "Applications/$app_name.app"
|
||||
exec_file = "$root/Content/"
|
||||
|
||||
action("prepare_$app_name") {
|
||||
script = "//build/userland/prepare_app.py"
|
||||
outputs = [ "$root_out_dir/base/Applications/$app_name.app/Content" ]
|
||||
args = [
|
||||
app_name,
|
||||
invoker.display_name,
|
||||
rebase_path("$root_out_dir/base/Applications/$app_name.app/Content",
|
||||
root_build_dir),
|
||||
rebase_path("//userland/applications/$app_name", root_build_dir),
|
||||
]
|
||||
}
|
||||
|
||||
xOS_signexec(app_name) {
|
||||
binpath = exec_file + app_name
|
||||
}
|
||||
|
||||
xOS_executable_template(app_name) {
|
||||
install_path = "$exec_file"
|
||||
need_sign_section = true
|
||||
forward_variables_from(invoker,
|
||||
[
|
||||
"sources",
|
||||
"configs",
|
||||
"deplibs",
|
||||
"cflags",
|
||||
"cflags_c",
|
||||
"cflags_cc",
|
||||
"asmflags",
|
||||
"ldflags",
|
||||
"public_deps",
|
||||
"include_dirs",
|
||||
])
|
||||
}
|
||||
|
||||
group(app_name) {
|
||||
deps = [
|
||||
":$app_name" + "_build",
|
||||
":prepare_$app_name",
|
||||
":sign_" + "$app_name",
|
||||
]
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user