2023-11-01 06:11:15 +08:00
|
|
|
# Distributed under the OSI-approved BSD 3-Clause License. See accompanying
|
|
|
|
# file Copyright.txt or https://cmake.org/licensing for details.
|
|
|
|
|
|
|
|
#[=======================================================================[.rst:
|
|
|
|
Documentation
|
|
|
|
-------------
|
|
|
|
|
|
|
|
This module provides support for the VTK documentation framework. It
|
|
|
|
relies on several tools (Doxygen, Perl, etc).
|
|
|
|
#]=======================================================================]
|
|
|
|
|
2023-11-01 06:36:59 +08:00
|
|
|
cmake_policy(GET CMP0106 _Documentation_policy)
|
|
|
|
|
|
|
|
if (_Documentation_policy STREQUAL "NEW")
|
|
|
|
message(FATAL_ERROR
|
|
|
|
"Documentation.cmake is VTK-specific code and should not be used in "
|
|
|
|
"non-VTK projects. This logic in this module is best shipped with the "
|
|
|
|
"project using it rather than with CMake. This is now an error according "
|
|
|
|
"to policy CMP0106.")
|
|
|
|
else ()
|
|
|
|
|
|
|
|
if (_Documentation_policy STREQUAL "")
|
|
|
|
# Ignore the warning if the project is detected as VTK itself.
|
|
|
|
if (NOT CMAKE_PROJECT_NAME STREQUAL "VTK" AND
|
|
|
|
NOT PROJECT_NAME STREQUAL "VTK")
|
|
|
|
cmake_policy(GET_WARNING CMP0106 _Documentation_policy_warning)
|
|
|
|
message(AUTHOR_WARNING
|
|
|
|
"${_Documentation_policy_warning}\n"
|
|
|
|
"Documentation.cmake is VTK-specific code and should not be used in "
|
|
|
|
"non-VTK projects. This logic in this module is best shipped with the "
|
|
|
|
"project using it rather than with CMake.")
|
|
|
|
endif ()
|
|
|
|
unset(_Documentation_policy_warning)
|
|
|
|
endif ()
|
|
|
|
|
2023-11-01 06:11:15 +08:00
|
|
|
#
|
|
|
|
# Build the documentation ?
|
|
|
|
#
|
|
|
|
option(BUILD_DOCUMENTATION "Build the documentation (Doxygen)." OFF)
|
|
|
|
mark_as_advanced(BUILD_DOCUMENTATION)
|
|
|
|
|
|
|
|
if (BUILD_DOCUMENTATION)
|
|
|
|
|
|
|
|
#
|
|
|
|
# Check for the tools
|
|
|
|
#
|
|
|
|
find_package(UnixCommands)
|
|
|
|
find_package(Doxygen)
|
|
|
|
find_package(Gnuplot)
|
|
|
|
find_package(HTMLHelp)
|
|
|
|
find_package(Perl)
|
|
|
|
find_package(Wget)
|
|
|
|
|
|
|
|
option(DOCUMENTATION_HTML_HELP
|
|
|
|
"Build the HTML Help file (CHM)." OFF)
|
|
|
|
|
|
|
|
option(DOCUMENTATION_HTML_TARZ
|
|
|
|
"Build a compressed tar archive of the HTML doc." OFF)
|
|
|
|
|
|
|
|
mark_as_advanced(
|
|
|
|
DOCUMENTATION_HTML_HELP
|
|
|
|
DOCUMENTATION_HTML_TARZ
|
|
|
|
)
|
|
|
|
|
|
|
|
#
|
|
|
|
# The documentation process is controlled by a batch file.
|
|
|
|
# We will probably need bash to create the custom target
|
|
|
|
#
|
|
|
|
|
|
|
|
endif ()
|
2023-11-01 06:36:59 +08:00
|
|
|
|
|
|
|
endif ()
|
|
|
|
|
|
|
|
unset(_Documentation_policy)
|