blob: a1391b15bab56bb391d01bc97bdbf6fdeb5161fe [file] [log] [blame]
# 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("//build_overrides/pigweed.gni")
import("$dir_pw_build/python.gni")
import("$dir_pw_docgen/docs.gni")
# Note: These may be useful for downstream projects, which is why they are
# split out from the overall docgen target below.
pw_doc_group("core_docs") {
inputs = [
"images/pw_env_setup_demo.gif",
"images/pw_status_test.png",
"images/pw_watch_build_demo.gif",
"images/pw_watch_on_device_demo.gif",
"images/pw_watch_test_demo.gif",
"images/stm32f429i-disc1_connected.jpg",
# TODO(pwbug/368): This should be in the pw_doc_gen target instead of here.
"_static/css/pigweed.css",
]
sources = [
"code_of_conduct.rst",
"contributing.rst",
"embedded_cpp_guide.rst",
"faq.rst",
"getting_started.rst",
"module_structure.rst",
"os_abstraction_layers.rst",
"size_optimizations.rst",
"style_guide.rst",
]
}
# Documentation for upstream Pigweed targets.
group("target_docs") {
deps = [
"$dir_pigweed/targets/android:target_docs",
"$dir_pigweed/targets/arduino:target_docs",
"$dir_pigweed/targets/docs:target_docs",
"$dir_pigweed/targets/host:target_docs",
"$dir_pigweed/targets/host_device_simulator:target_docs",
"$dir_pigweed/targets/lm3s6965evb_qemu:target_docs",
"$dir_pigweed/targets/mimxrt595_evk:target_docs",
"$dir_pigweed/targets/stm32f429i_disc1:target_docs",
"$dir_pigweed/targets/stm32f429i_disc1_stm32cube:target_docs",
]
}
group("module_docs") {
deps = [
"$dir_docker:docs",
"$dir_pw_allocator:docs",
"$dir_pw_analog:docs",
"$dir_pw_android_toolchain:docs",
"$dir_pw_arduino_build:docs",
"$dir_pw_assert:docs",
"$dir_pw_assert_basic:docs",
"$dir_pw_assert_log:docs",
"$dir_pw_assert_zephyr:docs",
"$dir_pw_base64:docs",
"$dir_pw_bloat:docs",
"$dir_pw_blob_store:docs",
"$dir_pw_bluetooth_hci:docs",
"$dir_pw_boot:docs",
"$dir_pw_boot_cortex_m:docs",
"$dir_pw_build:docs",
"$dir_pw_build_info:docs",
"$dir_pw_build_mcuxpresso:docs",
"$dir_pw_bytes:docs",
"$dir_pw_checksum:docs",
"$dir_pw_chrono:docs",
"$dir_pw_chrono_embos:docs",
"$dir_pw_chrono_freertos:docs",
"$dir_pw_chrono_stl:docs",
"$dir_pw_chrono_threadx:docs",
"$dir_pw_chrono_zephyr:docs",
"$dir_pw_cli:docs",
"$dir_pw_console:docs",
"$dir_pw_containers:docs",
"$dir_pw_cpu_exception:docs",
"$dir_pw_cpu_exception_cortex_m:docs",
"$dir_pw_crypto:docs",
"$dir_pw_docgen:docs",
"$dir_pw_doctor:docs",
"$dir_pw_env_setup:docs",
"$dir_pw_file:docs",
"$dir_pw_function:docs",
"$dir_pw_fuzzer:docs",
"$dir_pw_hdlc:docs",
"$dir_pw_hex_dump:docs",
"$dir_pw_i2c:docs",
"$dir_pw_interrupt:docs",
"$dir_pw_interrupt_cortex_m:docs",
"$dir_pw_interrupt_zephyr:docs",
"$dir_pw_kvs:docs",
"$dir_pw_libc:docs",
"$dir_pw_log:docs",
"$dir_pw_log_basic:docs",
"$dir_pw_log_null:docs",
"$dir_pw_log_rpc:docs",
"$dir_pw_log_tokenized:docs",
"$dir_pw_malloc:docs",
"$dir_pw_malloc_freelist:docs",
"$dir_pw_metric:docs",
"$dir_pw_minimal_cpp_stdlib:docs",
"$dir_pw_module:docs",
"$dir_pw_multisink:docs",
"$dir_pw_package:docs",
"$dir_pw_persistent_ram:docs",
"$dir_pw_polyfill:docs",
"$dir_pw_preprocessor:docs",
"$dir_pw_presubmit:docs",
"$dir_pw_protobuf:docs",
"$dir_pw_protobuf_compiler:docs",
"$dir_pw_random:docs",
"$dir_pw_result:docs",
"$dir_pw_ring_buffer:docs",
"$dir_pw_router:docs",
"$dir_pw_rpc:docs",
"$dir_pw_snapshot:docs",
"$dir_pw_software_update:docs",
"$dir_pw_span:docs",
"$dir_pw_spi:docs",
"$dir_pw_status:docs",
"$dir_pw_stm32cube_build:docs",
"$dir_pw_stream:docs",
"$dir_pw_string:docs",
"$dir_pw_symbolizer:docs",
"$dir_pw_sync:docs",
"$dir_pw_sync_baremetal:docs",
"$dir_pw_sync_embos:docs",
"$dir_pw_sync_freertos:docs",
"$dir_pw_sync_stl:docs",
"$dir_pw_sync_threadx:docs",
"$dir_pw_sync_zephyr:docs",
"$dir_pw_sys_io:docs",
"$dir_pw_sys_io_arduino:docs",
"$dir_pw_sys_io_baremetal_stm32f429:docs",
"$dir_pw_sys_io_mcuxpresso:docs",
"$dir_pw_sys_io_stdio:docs",
"$dir_pw_sys_io_zephyr:docs",
"$dir_pw_system:docs",
"$dir_pw_target_runner:docs",
"$dir_pw_thread:docs",
"$dir_pw_thread_embos:docs",
"$dir_pw_thread_freertos:docs",
"$dir_pw_thread_stl:docs",
"$dir_pw_thread_threadx:docs",
"$dir_pw_tls_client:docs",
"$dir_pw_tls_client_boringssl:docs",
"$dir_pw_tls_client_mbedtls:docs",
"$dir_pw_tokenizer:docs",
"$dir_pw_toolchain:docs",
"$dir_pw_trace:docs",
"$dir_pw_trace_tokenized:docs",
"$dir_pw_transfer:docs",
"$dir_pw_unit_test:docs",
"$dir_pw_varint:docs",
"$dir_pw_watch:docs",
"$dir_pw_web_ui:docs",
"$dir_pw_work_queue:docs",
]
}
group("third_party_docs") {
deps = [
"$dir_pigweed/third_party/freertos:docs",
"$dir_pigweed/third_party/nanopb:docs",
]
}
pw_doc_gen("docs") {
conf = "conf.py"
sources = [
# Note: These must use the "docs" prefix for links and image references. In
# contrast, the pw_doc_group above should not use the docs prefix.
"automated_analysis.rst",
"build_system.rst",
"index.rst",
"module_guides.rst",
"python_build.rst",
"targets.rst",
"third_party_support.rst",
]
output_directory = target_gen_dir
deps = [
":core_docs",
":module_docs",
":sphinx_themes.install",
":target_docs",
":third_party_docs",
"$dir_pw_env_setup:python.install",
]
}
# Install Pigweed specific sphinx themes.
pw_python_requirements("sphinx_themes") {
requirements = [
"furo",
"sphinx_design",
]
}