summaryrefslogtreecommitdiffstats
path: root/Tests/FindDoxygen/DotComponentTestTest
diff options
context:
space:
mode:
authorAlex Turbov <i.zaufi@gmail.com>2017-04-10 09:37:35 (GMT)
committerAlex Turbov <i.zaufi@gmail.com>2017-05-24 03:15:45 (GMT)
commit59ffabfeece31db8026aaa715f3ab0dbfbf8bb7e (patch)
tree65f775818d96d8b8742e120c26307d33642e1f47 /Tests/FindDoxygen/DotComponentTestTest
parentae5f98a5e36da8cf3c75625ffb9a1d34aa2407cb (diff)
downloadCMake-59ffabfeece31db8026aaa715f3ab0dbfbf8bb7e.zip
CMake-59ffabfeece31db8026aaa715f3ab0dbfbf8bb7e.tar.gz
CMake-59ffabfeece31db8026aaa715f3ab0dbfbf8bb7e.tar.bz2
Improve Doxygen support
Except Graphviz's `dot` Doxygen may use few other utilities like `mscgen` (Message Sequence Chart) and `dia` (Diagram Editor). Now this module allows to manage Doxygen settings from `CMakeLists.txt` and forget about `Doxyfile`s. Also it provides a helper function to add a target to generate documentation: `doxygen_add_docs`. Implement code review notes: - Introduce `COMPONENTS` to find: `dot`, `mscgen` and `dia`; - Deprecate variables `DOXYGEN_SKIP_DOT`, `DOXYGEN_EXECUTABLE`, `DOXYGEN_DOT_EXECUTABLE`, `DOXYGEN_DOT_FOUND` in favour of `doxygen_add_docs ` usage instead; - Properly handle paths to found tools in Windows; - Prevent adding a custom target if Doxygen was not really found; - Introduce exported (executable) targets for found components. Co-Author: Craig Scott <craig.scott@crascit.com>
Diffstat (limited to 'Tests/FindDoxygen/DotComponentTestTest')
-rw-r--r--Tests/FindDoxygen/DotComponentTestTest/CMakeLists.txt18
1 files changed, 18 insertions, 0 deletions
diff --git a/Tests/FindDoxygen/DotComponentTestTest/CMakeLists.txt b/Tests/FindDoxygen/DotComponentTestTest/CMakeLists.txt
new file mode 100644
index 0000000..586f0ff
--- /dev/null
+++ b/Tests/FindDoxygen/DotComponentTestTest/CMakeLists.txt
@@ -0,0 +1,18 @@
+cmake_minimum_required(VERSION 3.8)
+project(TestFindDoxygenDot VERSION 1.0 LANGUAGES NONE)
+
+# Testing a new signature w/ components
+find_package(Doxygen REQUIRED COMPONENTS dot)
+
+# No backwards compatibility expected when component form is used
+if(TARGET Doxygen::doxygen)
+ if(DOXYGEN)
+ message(FATAL_ERROR "DOXYGEN unexpectedly defined with component form")
+ endif()
+else()
+ message(FATAL_ERROR "Import target Doxygen::doxygen not defined")
+endif()
+
+if(NOT TARGET Doxygen::dot)
+ message(FATAL_ERROR "Import target Doxygen::dot not defined")
+endif()