diff --git a/Utilities/Sphinx/CMakeLists.txt b/Utilities/Sphinx/CMakeLists.txt index 4ae4bec21..0ae67bd8c 100644 --- a/Utilities/Sphinx/CMakeLists.txt +++ b/Utilities/Sphinx/CMakeLists.txt @@ -79,6 +79,11 @@ if(SPHINX_QTHELP) # https://codereview.qt-project.org/#change,82250 in Qt 4. COMMAND ${CMAKE_COMMAND} "-DCSS_DIR=${CMAKE_CURRENT_BINARY_DIR}/qthelp/_static" -P "${CMAKE_CURRENT_SOURCE_DIR}/apply_qthelp_css_workaround.cmake" + # Workaround sphinx configurability: + # https://bitbucket.org/birkenfeld/sphinx/issue/1448/make-qthelp-more-configurable + COMMAND ${CMAKE_COMMAND} "-DQTHELP_DIR=${CMAKE_CURRENT_BINARY_DIR}/qthelp/" + "-DCMake_VERSION=${CMake_VERSION_MAJOR}${CMake_VERSION_MINOR}${CMake_VERSION_PATCH}" + -P "${CMAKE_CURRENT_SOURCE_DIR}/fixup_qthelp_names.cmake" COMMAND qcollectiongenerator ${CMAKE_CURRENT_BINARY_DIR}/qthelp/CMake.qhcp ) endif() diff --git a/Utilities/Sphinx/conf.py.in b/Utilities/Sphinx/conf.py.in index ef622fda3..f7e4b8b28 100644 --- a/Utilities/Sphinx/conf.py.in +++ b/Utilities/Sphinx/conf.py.in @@ -61,3 +61,7 @@ html_theme = 'default' html_title = 'CMake %s Documentation' % release html_short_title = '%s Documentation' % release html_favicon = 'cmake-favicon.ico' +# Not supported yet by sphinx: +# https://bitbucket.org/birkenfeld/sphinx/issue/1448/make-qthelp-more-configurable +# qthelp_namespace = "org.cmake" +# qthelp_qch_name = "CMake-300.qch" diff --git a/Utilities/Sphinx/fixup_qthelp_names.cmake b/Utilities/Sphinx/fixup_qthelp_names.cmake new file mode 100644 index 000000000..e35ef25be --- /dev/null +++ b/Utilities/Sphinx/fixup_qthelp_names.cmake @@ -0,0 +1,32 @@ + +file(READ "${QTHELP_DIR}/CMake.qhcp" QHCP_CONTENT) + +string(REPLACE + "qthelp://org.sphinx.cmake" "qthelp://org.cmake" + QHCP_CONTENT "${QHCP_CONTENT}" +) +string(REPLACE + "qthelp://org.sphinx.cmake" "qthelp://org.cmake" + QHCP_CONTENT "${QHCP_CONTENT}" +) + +string(REPLACE + "CMake.qch" "CMake-${CMake_VERSION}.qch" + QHCP_CONTENT "${QHCP_CONTENT}" +) +string(REPLACE + "CMake.qch" "CMake-${CMake_VERSION}.qch" + QHCP_CONTENT "${QHCP_CONTENT}" +) + +file(WRITE "${QTHELP_DIR}/CMake.qhcp" "${QHCP_CONTENT}") + + +file(READ "${QTHELP_DIR}/CMake.qhp" QHP_CONTENT) + +string(REPLACE + "org.sphinx.cmake" "org.cmake" + QHP_CONTENT "${QHP_CONTENT}" +) + +file(WRITE "${QTHELP_DIR}/CMake.qhp" "${QHP_CONTENT}")