File: 1001-Add-support-for-building-qdoc-documentation-to-build.patch

package info (click to toggle)
ktactilefeedback 1.0.0~git20250725.da7858a-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 972 kB
  • sloc: cpp: 3,323; xml: 44; makefile: 9
file content (58 lines) | stat: -rw-r--r-- 2,340 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
From 32f6cafdc7e4e33ed3f3d7c34cbf7ae450e780d7 Mon Sep 17 00:00:00 2001
From: Guido Berhoerster <guido+ubports@berhoerster.name>
Date: Mon, 14 Jul 2025 11:30:02 +0200
Subject: Add support for building qdoc documentation to build system


diff --git a/CMakeLists.txt b/CMakeLists.txt
index bfa4071..7d2c0ea 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -44,5 +44,6 @@ add_subdirectory(src)
 if (BUILD_TESTING)
     add_subdirectory(autotests)
 endif()
+add_subdirectory(doc)
 
 feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES)
diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt
new file mode 100644
index 0000000..833ebcc
--- /dev/null
+++ b/doc/CMakeLists.txt
@@ -0,0 +1,35 @@
+find_package(Qt6 COMPONENTS CoreTools CONFIG REQUIRED)
+get_target_property(QTPATHS_BIN Qt6::qtpaths LOCATION)
+if (NOT QTPATHS_BIN)
+    message(WARNING "qtpaths not found, documentation cannot be built")
+else()
+    execute_process(
+        COMMAND ${QTPATHS_BIN} --query QT_INSTALL_DOCS
+        RESULT_VARIABLE return_code
+        OUTPUT_VARIABLE QT_INSTALL_DOCS
+    )
+    if(NOT return_code EQUAL 0)
+        message(FATAL_ERROR "${QTPATHS_BIN} --query QT_INSTALL_DOCS failed: ${return_code}")
+    endif()
+    string(STRIP "${QT_INSTALL_DOCS}" QT_INSTALL_DOCS)
+
+    find_package(Qt6Tools CONFIG REQUIRED)
+    find_package(Qt6 COMPONENTS ToolsTools CONFIG REQUIRED)
+    get_target_property(QDOC_BIN Qt6::qdoc LOCATION)
+    if (NOT QDOC_BIN)
+        message(WARNING "qdoc not found, documentation cannot be built")
+    else()
+        string(REPLACE "." "" QDOC_QT_VERSION_TAG ${Qt6_VERSION})
+        add_custom_target(doc ALL
+                          COMMAND ${CMAKE_COMMAND} -E env
+                          "QT_INSTALL_DOCS=${QT_INSTALL_DOCS}"
+                          "QT_VERSION=${Qt6_VERSION}"
+                          "QT_VER=${Qt6_VERSION_MAJOR}.${Qt6_VERSION_MINOR}"
+                          "QT_VERSION_TAG=${QDOC_QT_VERSION_TAG}"
+                          "BUILDDIR=${CMAKE_CURRENT_BINARY_DIR}"
+                          ${QDOC_BIN} -outputdir ${CMAKE_CURRENT_BINARY_DIR}/html
+                          ${CMAKE_CURRENT_SOURCE_DIR}/qtfeedback.qdocconf)
+        install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/html
+        DESTINATION ${CMAKE_INSTALL_DATADIR}/doc/ktactilefeedback)
+    endif()
+endif()