1import("//llvm/utils/gn/build/write_cmake_config.gni") 2 3# Corresponds to GENERATE_DRIVER in cmake (see add_llvm_executable in 4# llvm/cmake/modules/AddLLVM.cmake). 5template("driver_executable") { 6 tool_name = string_replace(target_name, "-", "_") 7 8 write_cmake_config("${tool_name}-driver") { 9 input = "//llvm/cmake/modules/llvm-driver-template.cpp.in" 10 output = "$target_gen_dir/${tool_name}-driver.cpp" 11 values = [ "TOOL_NAME=$tool_name" ] 12 } 13 14 executable(target_name) { 15 forward_variables_from(invoker, "*") 16 deps += [ ":${tool_name}-driver" ] 17 sources += [ "$target_gen_dir/${tool_name}-driver.cpp" ] 18 } 19} 20 21set_defaults("driver_executable") { 22 configs = shared_binary_target_configs 23} 24