cmake: Add .Net documentation

This commit is contained in:
Mizux Seiha
2023-02-02 11:39:03 +01:00
parent 4f30a7ff2c
commit bc37fcafa4
6 changed files with 2790 additions and 0 deletions

View File

@@ -265,6 +265,9 @@ if(BUILD_DOTNET)
option(UNIVERSAL_DOTNET_PACKAGE "Build a .Net multi OS Package" OFF)
message(STATUS ".Net: Create multiple OS Package: ${UNIVERSAL_DOTNET_PACKAGE}")
CMAKE_DEPENDENT_OPTION(BUILD_DOTNET_DOC "Build the .Net doc" OFF "NOT BUILD_DOC" ON)
message(STATUS ".Net: Build doc: ${BUILD_DOTNET_DOC}")
# Language Version
# see: https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/configure-language-version
set(DOTNET_LANG "9.0" CACHE STRING "Specify the C# language version (default \"9.0\")")

View File

@@ -223,6 +223,7 @@ cmake -S. -Bbuild -LH
| | | |
| `BUILD_DOC` | OFF\* | Build all documentations |
| `BUILD_CXX_DOC` | OFF\* | Build C++ documentation<br>**Forced** to ON if `BUILD_DOC=ON` |
| `BUILD_DOTNET_DOC` | OFF\* | Build .Net documentation<br>**Forced** to ON if `BUILD_DOC=ON` |
| `INSTALL_DOC` | OFF\* | Install all documentations<br>**Forced** to OFF if `BUILD_CXX=OFF` or `BUILD_DOC=OFF` |
| | | |
| `BUILD_SAMPLES` | ON\* | Build all samples<br>Default to ON if `BUILD_DEPS=ON` |

View File

@@ -382,6 +382,36 @@ add_custom_target(dotnet_package ALL
${DOTNET_PROJECT_DIR}/timestamp
WORKING_DIRECTORY ${DOTNET_PROJECT_DIR})
###############
## Doc rules ##
###############
if(BUILD_DOTNET_DOC)
# add a target to generate API documentation with Doxygen
find_package(Doxygen REQUIRED)
if(DOXYGEN_FOUND)
configure_file(${PROJECT_SOURCE_DIR}/ortools/dotnet/Doxyfile.in ${PROJECT_BINARY_DIR}/dotnet/Doxyfile @ONLY)
file(DOWNLOAD
https://raw.githubusercontent.com/jothepro/doxygen-awesome-css/v2.1.0/doxygen-awesome.css
${PROJECT_BINARY_DIR}/dotnet/doxygen-awesome.css
SHOW_PROGRESS
)
add_custom_target(${PROJECT_NAME}_dotnet_doc ALL
#COMMAND ${CMAKE_COMMAND} -E rm -rf ${PROJECT_BINARY_DIR}/docs/dotnet
COMMAND ${CMAKE_COMMAND} -E make_directory ${PROJECT_BINARY_DIR}/docs/dotnet
COMMAND ${DOXYGEN_EXECUTABLE} -q ${PROJECT_BINARY_DIR}/dotnet/Doxyfile
DEPENDS
dotnet_package
${PROJECT_BINARY_DIR}/dotnet/Doxyfile
${PROJECT_BINARY_DIR}/dotnet/doxygen-awesome.css
${PROJECT_SOURCE_DIR}/ortools/dotnet/stylesheet.css
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
COMMENT "Generating .Net API documentation with Doxygen"
VERBATIM)
else()
message(WARNING "cmd `doxygen` not found, .Net doc generation is disable!")
endif()
endif()
###################
## .Net Sample ##
###################

2718
ortools/dotnet/Doxyfile.in Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,22 @@
/*! @file
* @author Laurent Perron <lperron@google.com>
* @author Corentin "Mizux" Le Molgat <corentinl@google.com>
*/
/*! @mainpage OR-Tools
This is the reference documentation for Google OR-Tools.
This repository contains several component:
@li @ref Google.OrTools.Init "Google.OrTools.Init"
@li @ref Google.OrTools.Algorithms "Google.OrTools.Algorithms"
@li @ref Google.OrTools.Graph "Google.OrTools.Graph"
@li @ref Google.OrTools.LinearSolver "Google.OrTools.LinearSolver"
@li @ref Google.OrTools.Bop "Google.OrTools.Bop"
@li @ref Google.OrTools.Glop "Google.OrTools.Glop"
@li @ref Google.OrTools.Sat "Google.OrTools.SAT"
@li @ref Google.OrTools.ConstraintSolver "Google.OrTools.ConstraintSolver"
*/

View File

@@ -0,0 +1,16 @@
/* The standard CSS for doxygen 1.9.6*/
html {
/* page base colors */
/*--page-background-color: white;*/
/*--page-foreground-color: black;*/
/* header */
--header-background: #5d2d91;
--header-foreground: white;
/* footer */
--footer-background: #5d2d91;
--footer-foreground: white;
}