mirror of
https://github.com/RGBCube/serenity
synced 2025-07-28 08:57:47 +00:00
Meta: Add the start of a gn build based on the LLVM gn build
"based on" in this context means "largely copied from"
This commit is contained in:
parent
4a9a1d1656
commit
4bfb146181
19 changed files with 1225 additions and 0 deletions
50
Meta/gn/build/write_cmake_config.gni
Normal file
50
Meta/gn/build/write_cmake_config.gni
Normal file
|
@ -0,0 +1,50 @@
|
|||
# This file introduces a template for calling write_cmake_config.py.
|
||||
#
|
||||
# write_cmake_config behaves like CMake's configure_file(), but runs at build
|
||||
# time, not at generator time. See write_cmake_config.py for details.
|
||||
#
|
||||
# Parameters:
|
||||
#
|
||||
# input (required) [string]
|
||||
#
|
||||
# output (required) [string]
|
||||
#
|
||||
# values (required) [list of strings]
|
||||
# Each entry is a '='-separated key-value pair used for substitution.
|
||||
#
|
||||
# Example use:
|
||||
#
|
||||
# write_cmake_config("attributes_compat_func_gen") {
|
||||
# input = "Version.inc.in"
|
||||
# output = "$root_gen_dir/clang/include/clang/Basic/Version.inc",
|
||||
# values = [
|
||||
# "CLANG_VERSION=$llvm_version",
|
||||
# ]
|
||||
# }
|
||||
|
||||
template("write_cmake_config") {
|
||||
assert(defined(invoker.input), "must set 'input' in $target_name")
|
||||
assert(defined(invoker.output), "must set 'output' in $target_name")
|
||||
assert(defined(invoker.values), "must set 'values' in $target_name")
|
||||
|
||||
action(target_name) {
|
||||
script = "//Meta/gn/build/write_cmake_config.py"
|
||||
|
||||
sources = [ invoker.input ]
|
||||
outputs = [ invoker.output ]
|
||||
args = [
|
||||
"-o",
|
||||
rebase_path(outputs[0], root_build_dir),
|
||||
rebase_path(sources[0], root_build_dir),
|
||||
] + invoker.values
|
||||
|
||||
forward_variables_from(invoker,
|
||||
[
|
||||
"configs",
|
||||
"deps",
|
||||
"public_configs",
|
||||
"public_deps",
|
||||
"visibility",
|
||||
])
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue