summaryrefslogtreecommitdiffstats
path: root/cmake/modules/FindDOXYGEN.cmake
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-10 20:34:10 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-10 20:34:10 +0000
commite4ba6dbc3f1e76890b22773807ea37fe8fa2b1bc (patch)
tree68cb5ef9081156392f1dd62a00c6ccc1451b93df /cmake/modules/FindDOXYGEN.cmake
parentInitial commit. (diff)
downloadwireshark-e4ba6dbc3f1e76890b22773807ea37fe8fa2b1bc.tar.xz
wireshark-e4ba6dbc3f1e76890b22773807ea37fe8fa2b1bc.zip
Adding upstream version 4.2.2.upstream/4.2.2
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'cmake/modules/FindDOXYGEN.cmake')
-rw-r--r--cmake/modules/FindDOXYGEN.cmake47
1 files changed, 47 insertions, 0 deletions
diff --git a/cmake/modules/FindDOXYGEN.cmake b/cmake/modules/FindDOXYGEN.cmake
new file mode 100644
index 0000000..52e129a
--- /dev/null
+++ b/cmake/modules/FindDOXYGEN.cmake
@@ -0,0 +1,47 @@
+#
+# - Find Doxygen
+# This module looks for a native (non-Cygwin) Doxygen.
+#
+
+find_program( DOXYGEN_EXECUTABLE
+ NAMES
+ doxygen
+ PATHS
+ /bin
+ /usr/bin
+ /usr/local/bin
+ /sbin
+ $ENV{ProgramFiles}/doxygen/bin
+)
+
+# We set various paths in doxygen.cfg via configure_file(). These are
+# native system paths which aren't compatible with Cygwin's Doxygen.
+string(TOLOWER ${DOXYGEN_EXECUTABLE} _de_lower)
+if(${_de_lower} MATCHES "cyg")
+ set(_ignore_reason "Cygwin Doxygen found at ${DOXYGEN_EXECUTABLE}. Ignoring.")
+ message(STATUS ${_ignore_reason})
+ set(DOXYGEN_EXECUTABLE DOXYGEN_EXECUTABLE-NOTFOUND CACHE FILEPATH ${_ignore_reason} FORCE)
+endif()
+
+include( FindPackageHandleStandardArgs )
+find_package_handle_standard_args( DOXYGEN DEFAULT_MSG DOXYGEN_EXECUTABLE )
+
+mark_as_advanced( DOXYGEN_EXECUTABLE )
+
+macro( DOXYGEN2HTML _output )
+ GET_FILENAME_COMPONENT(_OUTDIR ${_output} PATH)
+ SET(_OUTDIR ${CMAKE_CURRENT_BINARY_DIR}/${_OUTDIR})
+
+ add_custom_command(
+ OUTPUT
+ COMMAND cmake
+ -E make_directory ${_OUTDIR}
+ COMMAND $(DOXYGEN_EXECUTABLE)
+ doxygen.cfg
+ COMMAND chmod
+ -R og+rX ${_OUTDIR}
+ DEPENDS
+ doxygen.cfg
+ )
+endmacro()
+