@@ -660,16 +660,19 @@ if (MFC_DOCUMENTATION)
660660 VERBATIM
661661 )
662662
663- # Generate case_constraints.md from case_validator.py and examples/
663+ # Generate case_constraints.md and physics_constraints.md together.
664+ # Both are produced by gen_constraints.sh, so a single command avoids races.
664665 add_custom_command (
665666 OUTPUT "${CMAKE_CURRENT_SOURCE_DIR} /docs/documentation/case_constraints.md"
667+ "${CMAKE_CURRENT_SOURCE_DIR} /docs/documentation/physics_constraints.md"
666668 DEPENDS "${CMAKE_CURRENT_SOURCE_DIR} /toolchain/mfc/gen_case_constraints_docs.py"
669+ "${CMAKE_CURRENT_SOURCE_DIR} /toolchain/mfc/gen_physics_docs.py"
667670 "${CMAKE_CURRENT_SOURCE_DIR} /toolchain/mfc/case_validator.py"
668671 "${CMAKE_CURRENT_SOURCE_DIR} /toolchain/mfc/params/definitions.py"
669672 "${examples_DOCs} "
670673 COMMAND "bash" "${CMAKE_CURRENT_SOURCE_DIR} /docs/gen_constraints.sh"
671674 "${CMAKE_CURRENT_SOURCE_DIR} "
672- COMMENT "Generating case_constraints.md"
675+ COMMENT "Generating case_constraints.md and physics_constraints.md "
673676 VERBATIM
674677 )
675678
@@ -720,6 +723,7 @@ if (MFC_DOCUMENTATION)
720723 set (DOXYGEN_HTML_OUTPUT "\" ${CMAKE_CURRENT_BINARY_DIR} /${target} \" " )
721724 set (DOXYGEN_MATHJAX_CODEFILE "\" ${CMAKE_CURRENT_SOURCE_DIR} /docs/config.js\" " )
722725 set (DOXYGEN_PROJECT_LOGO "\" ${CMAKE_CURRENT_SOURCE_DIR} /docs/res/icon.ico\" " )
726+ set (DOXYGEN_CITE_BIB_FILES "\" ${CMAKE_CURRENT_SOURCE_DIR} /docs/references.bib\" " )
723727 set (DOXYGEN_IMAGE_PATH "\" ${CMAKE_CURRENT_SOURCE_DIR} /docs/res\"\
724728 \" ${CMAKE_CURRENT_SOURCE_DIR} /docs/${target} \" " )
725729
@@ -731,11 +735,13 @@ if (MFC_DOCUMENTATION)
731735
732736 set (opt_example_dependency "" )
733737 set (opt_constraints_dependency "" )
738+ set (opt_physics_dependency "" )
734739 set (opt_cli_reference_dependency "" )
735740 set (opt_parameters_dependency "" )
736741 if (${target} STREQUAL documentation)
737742 set (opt_example_dependency "${CMAKE_CURRENT_SOURCE_DIR} /docs/documentation/examples.md" )
738743 set (opt_constraints_dependency "${CMAKE_CURRENT_SOURCE_DIR} /docs/documentation/case_constraints.md" )
744+ set (opt_physics_dependency "${CMAKE_CURRENT_SOURCE_DIR} /docs/documentation/physics_constraints.md" )
739745 set (opt_cli_reference_dependency "${CMAKE_CURRENT_SOURCE_DIR} /docs/documentation/cli-reference.md" )
740746 set (opt_parameters_dependency "${CMAKE_CURRENT_SOURCE_DIR} /docs/documentation/parameters.md" )
741747 endif ()
@@ -748,10 +754,13 @@ if (MFC_DOCUMENTATION)
748754 DEPENDS "${CMAKE_CURRENT_BINARY_DIR} /${target} -Doxyfile"
749755 "${opt_example_dependency} "
750756 "${opt_constraints_dependency} "
757+ "${opt_physics_dependency} "
751758 "${opt_cli_reference_dependency} "
752759 "${opt_parameters_dependency} "
753760 "${${target} _SRCs}" "${${target} _DOCs}"
754761 COMMAND "${DOXYGEN_EXECUTABLE} " "${target} -Doxyfile"
762+ COMMAND "${Python3_EXECUTABLE} " "${CMAKE_CURRENT_SOURCE_DIR} /docs/postprocess_citations.py"
763+ "${CMAKE_CURRENT_BINARY_DIR} /${target} "
755764 WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR} "
756765 COMMENT "${target} : Generating documentation"
757766 )
@@ -771,6 +780,7 @@ if (MFC_DOCUMENTATION)
771780 add_custom_target (documentation )
772781
773782 find_package (Doxygen REQUIRED dot REQUIRED )
783+ find_package (Python3 REQUIRED COMPONENTS Interpreter )
774784
775785 # > Fetch CSS Theme
776786 ExternalProject_Add (doxygen-awesome-css
0 commit comments