From 1571d7b43228a0ed4347f681a16b2b23defccda9 Mon Sep 17 00:00:00 2001
From: Sine Striker <trueful@163.com>
Date: 周三, 27 12月 2023 03:52:03 +0800
Subject: [PATCH] Add doxygen documentations

---
 src/CMakeLists.txt |   37 +++++++++++++++++++++++++++++++++++++
 1 files changed, 37 insertions(+), 0 deletions(-)

diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 267b05a..d847a76 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -136,6 +136,43 @@
 endif()
 
 # ----------------------------------
+# Documentation
+# ----------------------------------
+if(QWINDOWKIT_BUILD_DOCUMENTATIONS)
+    if(NOT DOXYGEN_EXECUTABLE)
+        find_package(Doxygen REQUIRED)
+    endif()
+
+    set(_install_options)
+
+    if(QWINDOWKIT_INSTALL)
+        set(_install_options INSTALL_DIR share/doc/${QWINDOWKIT_INSTALL_NAME})
+    endif()
+
+    set(_doc_targets ${QWINDOWKIT_ENABLED_TARGETS})
+
+    set(QWINDOWKIT_DOXYGEN_TAGFILE
+        ${CMAKE_BUILD_SHARE_DIR}/doc/${QWINDOWKIT_INSTALL_NAME}/${QWINDOWKIT_INSTALL_NAME}_tagfile.xml
+        CACHE FILEPATH "QWindowKit doxygen tag file path" FORCE
+    )
+
+    qm_import(Doxygen)
+    qm_setup_doxygen(QWindowKit_RunDoxygen
+        NAME "QWindowKit"
+        DESCRIPTION "${QWINDOWKIT_PROJECT_DESCRIPTION}"
+        MDFILE ../README.md
+        OUTPUT_DIR ${CMAKE_BUILD_SHARE_DIR}/doc/${QWINDOWKIT_INSTALL_NAME}
+        INPUT ${QWINDOWKIT_ENABLED_SUBDIRECTORIES}
+        TARGETS ${_doc_targets}
+        DEPENDS ${_doc_targets}
+        NO_EXPAND_MACROS Q_OBJECT Q_GADGET Q_DECLARE_TR_FUNCTIONS
+        COMPILE_DEFINITIONS Q_SIGNALS=Q_SIGNALS Q_SLOTS=Q_SLOTS
+        GENERATE_TAGFILE "${QWINDOWKIT_DOXYGEN_TAGFILE}"
+        ${_install_options}
+    )
+endif()
+
+# ----------------------------------
 # Install
 # ----------------------------------
 if(QWINDOWKIT_INSTALL)

--
Gitblit v1.9.1