# 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", ]) } }