# 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", "concepts/index.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", ] } pw_doc_group("release_notes") { sources = [ "release_notes/2022_jan.rst", "release_notes/index.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/emcraft_sf2_som: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/rp2040:target_docs", "$dir_pigweed/targets/stm32f429i_disc1:target_docs", "$dir_pigweed/targets/stm32f429i_disc1_stm32cube:target_docs", ] } group("module_docs") { deps = pw_module_docs } group("third_party_docs") { deps = [ "$dir_pigweed/third_party/freertos:docs", "$dir_pigweed/third_party/nanopb:docs", "$dir_pigweed/third_party/tinyusb: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", ":release_notes", ":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", ] }