mirror of
https://github.com/nextcloud/desktop.git
synced 2024-11-25 14:36:01 +03:00
82e87805c3
Extracted and adjusted from packaging.diff by @jnweiger and @dschmidt
95 lines
4.2 KiB
CMake
95 lines
4.2 KiB
CMake
if(SPHINX_FOUND)
|
|
|
|
# Sphinx cache with pickled ReST documents
|
|
set(SPHINX_CACHE_DIR "${CMAKE_CURRENT_BINARY_DIR}/_doctrees")
|
|
# HTML output directory
|
|
set(SPHINX_HTML_DIR "${CMAKE_CURRENT_BINARY_DIR}/html")
|
|
set(SPHINX_MAN_DIR "${CMAKE_CURRENT_BINARY_DIR}/man1")
|
|
set(SPHINX_PDF_DIR "${CMAKE_CURRENT_BINARY_DIR}/latex")
|
|
set(SPHINX_QCH_DIR "${CMAKE_CURRENT_BINARY_DIR}/qthelp")
|
|
set(SPHINX_HTMLHELP_DIR "${CMAKE_CURRENT_BINARY_DIR}/htmlhelp")
|
|
set(MSHTML_COMPILER wine 'C:\\Program Files\\HTML Help Workshop\\hhc.exe')
|
|
# assets
|
|
set(LATEX_LOGO "${CMAKE_CURRENT_SOURCE_DIR}/logo-blue.pdf")
|
|
|
|
set(APPLICATION_DOC_DIR "${CMAKE_INSTALL_DOCDIR}/${PACKAGE}")
|
|
install(DIRECTORY ${SPHINX_HTML_DIR} DESTINATION ${APPLICATION_DOC_DIR} OPTIONAL)
|
|
install(DIRECTORY ${SPHINX_PDF_DIR} DESTINATION ${APPLICATION_DOC_DIR} OPTIONAL)
|
|
install(DIRECTORY ${SPHINX_QCH_DIR} DESTINATION ${APPLICATION_DOC_DIR} OPTIONAL)
|
|
|
|
install(DIRECTORY ${SPHINX_MAN_DIR} DESTINATION ${CMAKE_INSTALL_MANDIR} OPTIONAL)
|
|
|
|
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/conf.py.in" conf.py @ONLY)
|
|
|
|
if(WITH_DOC)
|
|
add_custom_target(doc ALL DEPENDS doc-html COMMENT "Building documentation...")
|
|
else(WITH_DOC)
|
|
add_custom_target(doc DEPENDS doc-html COMMENT "Building documentation...")
|
|
endif(WITH_DOC)
|
|
|
|
if (EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/ocdoc/_shared_assets")
|
|
add_dependencies(doc doc-html-org)
|
|
add_dependencies(doc doc-html-com)
|
|
endif()
|
|
|
|
if(PDFLATEX_FOUND)
|
|
# if this still fails on Debian/Ubuntu, run
|
|
# apt-get install texlive-latex-recommended texlive-latex-extra texlive-fonts-recommended
|
|
add_custom_target(doc-latex ${SPHINX_EXECUTABLE}
|
|
-q -c . -b latex
|
|
-d ${SPHINX_CACHE_DIR}/latex
|
|
-D latex_logo=${LATEX_LOGO}
|
|
${CMAKE_CURRENT_SOURCE_DIR}
|
|
${SPHINX_PDF_DIR} )
|
|
add_custom_target(doc-pdf $(MAKE) -C ${SPHINX_PDF_DIR} all-pdf
|
|
DEPENDS doc-latex )
|
|
add_dependencies(doc doc-pdf)
|
|
endif(PDFLATEX_FOUND)
|
|
if (EXISTS ${QT_QCOLLECTIONGENERATOR_EXECUTABLE})
|
|
add_custom_target( doc-qch-sphinx ${SPHINX_EXECUTABLE}
|
|
-q -c . -b qthelp
|
|
-d ${SPHINX_CACHE_DIR}/qthelp
|
|
${CMAKE_CURRENT_SOURCE_DIR}
|
|
${SPHINX_QCH_DIR} )
|
|
add_custom_target( doc-qch ${QT_QCOLLECTIONGENERATOR_EXECUTABLE}
|
|
${SPHINX_QCH_DIR}/*.qhcp
|
|
DEPENDS doc-qch-sphinx )
|
|
add_dependencies(doc doc-qch)
|
|
endif()
|
|
add_custom_target( doc-html ${SPHINX_EXECUTABLE}
|
|
-q -c . -b html
|
|
-d ${SPHINX_CACHE_DIR}/html
|
|
${CMAKE_CURRENT_SOURCE_DIR}
|
|
${SPHINX_HTML_DIR}/unthemed )
|
|
add_custom_target( doc-html-org ${SPHINX_EXECUTABLE}
|
|
-q -c . -b html
|
|
-d ${SPHINX_CACHE_DIR}/html
|
|
-D html_theme=owncloud_org
|
|
${CMAKE_CURRENT_SOURCE_DIR}
|
|
${SPHINX_HTML_DIR}/org )
|
|
add_custom_target( doc-html-com ${SPHINX_EXECUTABLE}
|
|
-q -c . -b html
|
|
-d ${SPHINX_CACHE_DIR}/html
|
|
-D html_theme=owncloud_com
|
|
${CMAKE_CURRENT_SOURCE_DIR}
|
|
${SPHINX_HTML_DIR}/com )
|
|
add_custom_target( doc-man ${SPHINX_EXECUTABLE}
|
|
-q -c . -b man
|
|
-d ${SPHINX_CACHE_DIR}/man
|
|
${CMAKE_CURRENT_SOURCE_DIR}
|
|
${SPHINX_MAN_DIR} )
|
|
|
|
## Building CHM files requires HTML Help Workshop. Since it requires wine
|
|
## with special dependencies, it's impossible to write a cmake check for it.
|
|
## This is why doc-chm is not a dependency for doc. Instead, run
|
|
## doc/scripts/htmlhelp.exe to install them and run this target
|
|
## explicitly.
|
|
add_custom_target( doc-chm-sphinx ${SPHINX_EXECUTABLE}
|
|
-q -c . -b htmlhelp
|
|
-D html_theme=basic
|
|
-d ${SPHINX_CACHE_DIR}/htmlhelp
|
|
${CMAKE_CURRENT_SOURCE_DIR}
|
|
${SPHINX_HTMLHELP_DIR} )
|
|
add_custom_target( doc-chm pushd ${SPHINX_HTMLHELP_DIR}; ${MSHTML_COMPILER} *.hhp; popd
|
|
DEPENDS doc-chm-sphinx )
|
|
endif(SPHINX_FOUND)
|