aboutsummaryrefslogtreecommitdiffstats
path: root/doc/CMakeLists.txt
blob: a18342478dd6de459ef79458a015da68db49efee (plain)
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
cmake_minimum_required(VERSION 3.19)

# Resolve version from top-level package.json
file(READ ${CMAKE_CURRENT_SOURCE_DIR}/../package.json PACKAGE_JSON)
string(JSON VSCODEEXT_VERSION GET ${PACKAGE_JSON} version)

project(vscodeextDoc VERSION "${VSCODEEXT_VERSION}")

if(QT_BUILD_ONLINE_DOCS)
    set(DOC_CONF "online/vscodeext.qdocconf")
else()
    set(DOC_CONF "vscodeext.qdocconf")
endif()

find_package(Qt6 COMPONENTS ToolsTools HostInfo QUIET)
if (Qt6_FOUND)
    get_target_property(QDOC_EXEC Qt6::qdoc IMPORTED_LOCATION)
   # QT_INSTALL_DOCS contains Qt documentation templates
    set(QT_INSTALL_DOCS "${Qt6_DIR}/../../../doc")
else()
    message(FATAL_ERROR "Failed to find QDoc.")
endif()

add_custom_target(html_docs
    COMMAND ${CMAKE_COMMAND} -E env
        "VSCODEEXT_VERSION=${PROJECT_VERSION}" "QT_VERSION=${VSCODEEXT_VERSION}"
        "VSCODEEXT_VER=${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}"
        "QT_VER=${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}"
        "VSCODEEXT_VERSION_TAG=${PROJECT_VERSION_MAJOR}${PROJECT_VERSION_MINOR}${PROJECT_VERSION_PATCH}"
        "QT_INSTALL_DOCS=${QT_INSTALL_DOCS}"
        "BUILDDIR=${CMAKE_SOURCE_DIR}"
        ${QDOC_EXEC} --indexdir ${QT_INSTALL_DOCS} --outputdir ${CMAKE_CURRENT_BINARY_DIR}/html ${DOC_CONF}
    WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
)