mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2024-11-22 15:40:19 +00:00
51 lines
1.5 KiB
Text
51 lines
1.5 KiB
Text
|
# 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",
|
||
|
])
|
||
|
}
|
||
|
}
|