mirror of
https://github.com/Kitware/CMake.git
synced 2026-06-24 08:47:59 +00:00
Introduce a mechanism (via the private and undocumented `ISSUE_WARNING` option to the `cmake_policy` command) to allow built-in modules to issue policy warnings. Update modules to use this. This allows modules to issue policy warnings with the `CMD_POLICY` diagnostic type, which is consistent with internally issued diagnostics. This also tends to simplify the logic for issuing such warnings in much the way the helpers introduced in the previous commit did for the C++ code.
76 lines
2.1 KiB
CMake
76 lines
2.1 KiB
CMake
# Distributed under the OSI-approved BSD 3-Clause License. See accompanying
|
|
# file LICENSE.rst or https://cmake.org/licensing for details.
|
|
|
|
#[=======================================================================[.rst:
|
|
Documentation
|
|
-------------
|
|
|
|
.. deprecated:: 3.18
|
|
This module does nothing, unless policy :policy:`CMP0106` is set to ``OLD``.
|
|
|
|
This module provides support for the VTK documentation framework. It
|
|
relies on several tools (Doxygen, Perl, etc).
|
|
#]=======================================================================]
|
|
|
|
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(ISSUE_WARNING CMP0106 POST
|
|
"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 ()
|
|
|
|
#
|
|
# 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 ()
|
|
|
|
endif ()
|
|
|
|
unset(_Documentation_policy)
|