Как зависеть от сгенерированных заголовочных файлов в gn? - PullRequest
0 голосов
/ 07 февраля 2019

Мне нужно сгенерировать несколько кодов в моих заголовочных файлах в соответствии с различными параметрами сборки.Как зависеть от этих сгенерированных файлов заголовков с помощью 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",
  ]
}
...