Как зависеть от сгенерированных заголовочных файлов в gn?

Мне нужно сгенерировать несколько кодов в моих заголовочных файлах в соответствии с различными параметрами сборки. Как зависеть от этих сгенерированных заголовочных файлов с помощью gn?

Сгенерированный шаблон заголовочных файлов:

// a/a.h before generated
#define MyClassName %sXXX

%s означает префикс, установленный параметрами сборки.

Пример сгенерированных заголовочных файлов:

// a/a.h generated
#define MyClassName AXXX

Пример файла, который зависит от сгенерированных заголовочных файлов:

// a/b.h
#include "a.h"
class MyClassName {
// ...
}

Мой файл GN:

action("create_define_file") {
  visibility = [ "*:*" ]

  script = "mytool.py"

  output = "$target_gen_dir/a/a.h"

  inputs = [
    "a.tpl.h",
  ]

  args = [
    "--dist",
    rebase_path(output),
    "--prefix=$prefix",
    "--tpl",
    rebase_path(inputs[0]),
  ]

  outputs = [
    output,
  ]
}

shared_library("create_framework_dylib") {
  visibility = [ ":*" ]

  output_name = "output_name"

  sources = [
    "$target_gen_dir/a/a.h",
    "a/b.h"
  ]
  deps = [
     ":create_define_file",
  ]
}

0 ответов

Другие вопросы по тегам