third_party.pigweed.src/pw_preprocessor/BUILD.gn
Alexei Frolov baaa2d62a6
Add pw_docgen module
This change adds a module which builds documentation using Sphinx.
Documentation files and assets are defined using a pw_doc_group GN
template which lists out all of the sources as metadata. Another GN
template, pw_doc_gen, collects the metadata from pw_doc_group targets
into a JSON file and defines an action that runs a script to build the
HTML docs.

A docgen script is provided by the pw_docgen module. This script reads
the JSON metadata file collected by a pw_doc_gen template, copies all of
the source and resource files into a documentation tree, and runs Sphinx
on the tree to render the docs as HTML.

Change-Id: I97890f05d850d5119cbd3bbf48138cd82f22d56c
2019-11-13 13:28:28 -08:00

74 lines
1.6 KiB
Plaintext

# Copyright 2019 The Pigweed Authors
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may not
# use this file except in compliance with the License. You may obtain a copy of
# the License at
#
# https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations under
# the License.
import("$dir_pw_docgen/docs.gni")
import("$dir_pw_unit_test/test.gni")
config("default_config") {
include_dirs = [ "public" ]
}
source_set("pw_preprocessor") {
public_configs = [
"$dir_pw_build:pw_default_cpp",
":default_config",
]
public = [
"public/pw_preprocessor/boolean.h",
"public/pw_preprocessor/compiler.h",
"public/pw_preprocessor/concat.h",
"public/pw_preprocessor/macro_arg_count.h",
"public/pw_preprocessor/util.h",
]
sources = public
}
pw_doc_group("docs") {
sources = [
"docs.rst",
]
}
# All pw_preprocessor test binaries.
group("unit_tests") {
deps = [
":boolean_test",
":concat_test",
":macro_arg_count_test",
":util_test",
]
}
template("preprocessor_test") {
not_needed([ "invoker" ])
pw_test(target_name) {
deps = [
":pw_preprocessor",
"$dir_pw_unit_test:main",
]
sources = [
"$target_name.cc",
]
}
}
preprocessor_test("boolean_test") {
}
preprocessor_test("concat_test") {
}
preprocessor_test("macro_arg_count_test") {
}
preprocessor_test("util_test") {
}