CMake: Add a way to skip configuring the doc targets
Can be useful for non-Makefile and Ninja generators, even if they are unsupported for building Qt. Change-Id: I02a622c89f725c3ae5b51ea345a530eaa5529976 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> (cherry picked from commit 08d1d113f140b1b4be5a387696a8a35934905d64) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
This commit is contained in:
parent
11c8b80f4b
commit
7f45fdefd6
@ -424,6 +424,8 @@ macro(qt_internal_setup_build_and_global_variables)
|
||||
|
||||
qt_internal_set_qt_host_path()
|
||||
|
||||
qt_internal_setup_build_docs()
|
||||
|
||||
qt_internal_include_qt_platform_android()
|
||||
|
||||
qt_internal_include_qt_properties()
|
||||
|
@ -350,6 +350,10 @@ macro(qt_internal_set_qt_host_path)
|
||||
"Installed Qt host directory path, used for cross compiling.")
|
||||
endmacro()
|
||||
|
||||
macro(qt_internal_setup_build_docs)
|
||||
option(QT_BUILD_DOCS "Generate Qt documentation targets" ON)
|
||||
endmacro()
|
||||
|
||||
macro(qt_internal_set_use_ccache)
|
||||
option(QT_USE_CCACHE "Enable the use of ccache")
|
||||
if(QT_USE_CCACHE)
|
||||
|
@ -170,6 +170,59 @@ macro(qt_internal_setup_standalone_parts)
|
||||
endif()
|
||||
endmacro()
|
||||
|
||||
macro(qt_internal_setup_global_doc_targets)
|
||||
# Add global docs targets that will work both for per-repo builds, and super builds.
|
||||
if(NOT TARGET docs AND QT_BUILD_DOCS)
|
||||
add_custom_target(docs)
|
||||
add_custom_target(prepare_docs)
|
||||
add_custom_target(generate_docs)
|
||||
add_custom_target(html_docs)
|
||||
add_custom_target(qch_docs)
|
||||
add_custom_target(install_html_docs)
|
||||
add_custom_target(install_qch_docs)
|
||||
add_custom_target(install_docs)
|
||||
add_dependencies(html_docs generate_docs)
|
||||
add_dependencies(docs html_docs qch_docs)
|
||||
add_dependencies(install_docs install_html_docs install_qch_docs)
|
||||
endif()
|
||||
|
||||
if(QT_BUILD_DOCS)
|
||||
set(qt_docs_target_name docs_${project_name_lower})
|
||||
set(qt_docs_prepare_target_name prepare_docs_${project_name_lower})
|
||||
set(qt_docs_generate_target_name generate_docs_${project_name_lower})
|
||||
set(qt_docs_html_target_name html_docs_${project_name_lower})
|
||||
set(qt_docs_qch_target_name qch_docs_${project_name_lower})
|
||||
set(qt_docs_install_html_target_name install_html_docs_${project_name_lower})
|
||||
set(qt_docs_install_qch_target_name install_qch_docs_${project_name_lower})
|
||||
set(qt_docs_install_target_name install_docs_${project_name_lower})
|
||||
|
||||
add_custom_target(${qt_docs_target_name})
|
||||
add_custom_target(${qt_docs_prepare_target_name})
|
||||
add_custom_target(${qt_docs_generate_target_name})
|
||||
add_custom_target(${qt_docs_qch_target_name})
|
||||
add_custom_target(${qt_docs_html_target_name})
|
||||
add_custom_target(${qt_docs_install_html_target_name})
|
||||
add_custom_target(${qt_docs_install_qch_target_name})
|
||||
add_custom_target(${qt_docs_install_target_name})
|
||||
|
||||
add_dependencies(${qt_docs_generate_target_name} ${qt_docs_prepare_target_name})
|
||||
add_dependencies(${qt_docs_html_target_name} ${qt_docs_generate_target_name})
|
||||
add_dependencies(${qt_docs_target_name}
|
||||
${qt_docs_html_target_name} ${qt_docs_qch_target_name})
|
||||
add_dependencies(${qt_docs_install_target_name}
|
||||
${qt_docs_install_html_target_name} ${qt_docs_install_qch_target_name})
|
||||
|
||||
# Make top-level prepare_docs target depend on the repository-level
|
||||
# prepare_docs_<repo> target.
|
||||
add_dependencies(prepare_docs ${qt_docs_prepare_target_name})
|
||||
|
||||
# Make top-level install_*_docs targets depend on the repository-level
|
||||
# install_*_docs targets.
|
||||
add_dependencies(install_html_docs ${qt_docs_install_html_target_name})
|
||||
add_dependencies(install_qch_docs ${qt_docs_install_qch_target_name})
|
||||
endif()
|
||||
endmacro()
|
||||
|
||||
macro(qt_build_repo_begin)
|
||||
qt_internal_setup_standalone_parts()
|
||||
|
||||
@ -198,21 +251,6 @@ macro(qt_build_repo_begin)
|
||||
|
||||
qt_internal_generate_binary_strip_wrapper()
|
||||
|
||||
# Add global docs targets that will work both for per-repo builds, and super builds.
|
||||
if(NOT TARGET docs)
|
||||
add_custom_target(docs)
|
||||
add_custom_target(prepare_docs)
|
||||
add_custom_target(generate_docs)
|
||||
add_custom_target(html_docs)
|
||||
add_custom_target(qch_docs)
|
||||
add_custom_target(install_html_docs)
|
||||
add_custom_target(install_qch_docs)
|
||||
add_custom_target(install_docs)
|
||||
add_dependencies(html_docs generate_docs)
|
||||
add_dependencies(docs html_docs qch_docs)
|
||||
add_dependencies(install_docs install_html_docs install_qch_docs)
|
||||
endif()
|
||||
|
||||
if(NOT TARGET sync_headers)
|
||||
add_custom_target(sync_headers)
|
||||
endif()
|
||||
@ -262,35 +300,8 @@ macro(qt_build_repo_begin)
|
||||
endif()
|
||||
|
||||
set(qt_repo_targets_name ${project_name_lower})
|
||||
set(qt_docs_target_name docs_${project_name_lower})
|
||||
set(qt_docs_prepare_target_name prepare_docs_${project_name_lower})
|
||||
set(qt_docs_generate_target_name generate_docs_${project_name_lower})
|
||||
set(qt_docs_html_target_name html_docs_${project_name_lower})
|
||||
set(qt_docs_qch_target_name qch_docs_${project_name_lower})
|
||||
set(qt_docs_install_html_target_name install_html_docs_${project_name_lower})
|
||||
set(qt_docs_install_qch_target_name install_qch_docs_${project_name_lower})
|
||||
set(qt_docs_install_target_name install_docs_${project_name_lower})
|
||||
|
||||
add_custom_target(${qt_docs_target_name})
|
||||
add_custom_target(${qt_docs_prepare_target_name})
|
||||
add_custom_target(${qt_docs_generate_target_name})
|
||||
add_custom_target(${qt_docs_qch_target_name})
|
||||
add_custom_target(${qt_docs_html_target_name})
|
||||
add_custom_target(${qt_docs_install_html_target_name})
|
||||
add_custom_target(${qt_docs_install_qch_target_name})
|
||||
add_custom_target(${qt_docs_install_target_name})
|
||||
|
||||
add_dependencies(${qt_docs_generate_target_name} ${qt_docs_prepare_target_name})
|
||||
add_dependencies(${qt_docs_html_target_name} ${qt_docs_generate_target_name})
|
||||
add_dependencies(${qt_docs_target_name} ${qt_docs_html_target_name} ${qt_docs_qch_target_name})
|
||||
add_dependencies(${qt_docs_install_target_name} ${qt_docs_install_html_target_name} ${qt_docs_install_qch_target_name})
|
||||
|
||||
# Make top-level prepare_docs target depend on the repository-level prepare_docs_<repo> target.
|
||||
add_dependencies(prepare_docs ${qt_docs_prepare_target_name})
|
||||
|
||||
# Make top-level install_*_docs targets depend on the repository-level install_*_docs targets.
|
||||
add_dependencies(install_html_docs ${qt_docs_install_html_target_name})
|
||||
add_dependencies(install_qch_docs ${qt_docs_install_qch_target_name})
|
||||
qt_internal_setup_global_doc_targets()
|
||||
|
||||
# Add host_tools meta target, so that developrs can easily build only tools and their
|
||||
# dependencies when working in qtbase.
|
||||
|
@ -17,6 +17,10 @@ function(qt_internal_add_doc_tool_dependency doc_target tool_name)
|
||||
endfunction()
|
||||
|
||||
function(qt_internal_add_docs)
|
||||
if(NOT QT_BUILD_DOCS)
|
||||
return()
|
||||
endif()
|
||||
|
||||
if(${ARGC} EQUAL 1)
|
||||
# Function called from old generated CMakeLists.txt that was missing the target parameter
|
||||
return()
|
||||
|
Loading…
x
Reference in New Issue
Block a user