CMake: Allow docs generation without installing in top-level builds
This patch allows in top-level prefix builds to build Qt and to generate the documentation without running cmake --install first. For top-level builds we now always use the qdoc binary from the build directory, not the installation directory. We also have to copy the global doc files to the build directory to make them accessible to the generate_docs target. Change-Id: I2251603418fc3df9a21c7f2892789e9ff6c8cc21 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
This commit is contained in:
parent
1f53a91ed3
commit
6681fa7b73
@ -16,7 +16,9 @@ function(qt_internal_add_docs)
|
||||
return()
|
||||
endif()
|
||||
|
||||
if (QT_SUPERBUILD OR QT_WILL_INSTALL)
|
||||
if(QT_SUPERBUILD)
|
||||
set(doc_tools_dir "${QtBase_BINARY_DIR}/${INSTALL_BINDIR}")
|
||||
elseif(QT_WILL_INSTALL)
|
||||
set(doc_tools_dir "${QT_BUILD_INTERNALS_RELOCATABLE_INSTALL_PREFIX}/${INSTALL_BINDIR}")
|
||||
else()
|
||||
set(doc_tools_dir "${QT_BUILD_INTERNALS_RELOCATABLE_INSTALL_PREFIX}/qtbase/${INSTALL_BINDIR}")
|
||||
@ -80,7 +82,9 @@ function(qt_internal_add_docs)
|
||||
"${include_path_args}"
|
||||
)
|
||||
|
||||
if (QT_WILL_INSTALL)
|
||||
if(QT_SUPERBUILD)
|
||||
set(qt_install_docs_env "${QtBase_BINARY_DIR}/${INSTALL_DOCDIR}")
|
||||
elseif(QT_WILL_INSTALL)
|
||||
set(qt_install_docs_env "${CMAKE_INSTALL_PREFIX}/${INSTALL_DOCDIR}")
|
||||
else()
|
||||
set(qt_install_docs_env "${QT_BUILD_INTERNALS_RELOCATABLE_INSTALL_PREFIX}/${INSTALL_DOCDIR}")
|
||||
|
@ -3,6 +3,10 @@
|
||||
# Copy/Install doc configuration files to the build/install directory
|
||||
#
|
||||
qt_path_join(doc_install_dir ${QT_INSTALL_DIR} ${INSTALL_DOCDIR})
|
||||
qt_copy_or_install(DIRECTORY global DESTINATION ${doc_install_dir})
|
||||
qt_copy_or_install(DIRECTORY config DESTINATION ${doc_install_dir})
|
||||
|
||||
foreach(dir global config)
|
||||
qt_copy_or_install(DIRECTORY ${dir} DESTINATION ${doc_install_dir})
|
||||
if(QT_SUPERBUILD)
|
||||
qt_path_join(destination ${QtBase_BINARY_DIR} ${INSTALL_DOCDIR})
|
||||
file(COPY ${dir} DESTINATION ${destination})
|
||||
endif()
|
||||
endforeach()
|
||||
|
Loading…
Reference in New Issue
Block a user