diff options
author | Hugo Parente Lima <hugo.pl@gmail.com> | 2010-09-24 15:34:20 -0300 |
---|---|---|
committer | Hugo Parente Lima <hugo.pl@gmail.com> | 2010-09-24 16:12:05 -0300 |
commit | 3e0af488ee5820f35462f381c5a1676dc9560a5d (patch) | |
tree | c628028c0c85c32d2f3afbf779203a4331b205ee /doc/CMakeLists.txt | |
parent | 9eddff59405f9bfb94c0bb15da3d047eb7029958 (diff) |
Fix bug#168 - "API documentation suggestions" and other fixes.
Reviewer: Luciano Wolf <luciano.wolf@openbossa.org>
Marcelo Lira <marcelo.lira@openbossa.org>
Diffstat (limited to 'doc/CMakeLists.txt')
-rw-r--r-- | doc/CMakeLists.txt | 113 |
1 files changed, 38 insertions, 75 deletions
diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt index 92389b974..7b29ca69e 100644 --- a/doc/CMakeLists.txt +++ b/doc/CMakeLists.txt @@ -1,91 +1,54 @@ -find_program(graphviz_exec dot) +project(doc) -if (QT_SRC_DIR) +set(DOC_DATA_DIR "${CMAKE_CURRENT_BINARY_DIR}/qdoc3-output") +configure_file("pyside.qdocconf.in" "pyside.qdocconf" @ONLY) -if (NOT ${graphviz_exec} STREQUAL graphviz_exec-NOTFOUND) +add_custom_target(qdoc3 + COMMAND qdoc3 pyside.qdocconf + COMMENT "Running qdoc3 against Qt source code..." + SOURCE "pyside.qdocconf") add_custom_target(apidoc COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}/rst - COMMAND sphinx-build -b html ${CMAKE_CURRENT_BINARY_DIR}/rst htmldocs + COMMAND sphinx-build -b html ${CMAKE_CURRENT_BINARY_DIR}/rst html ) # create conf.py based on conf.py.in configure_file("conf.py.in" "rst/conf.py" @ONLY) - -# copy pyside.qdocconf to qt source dir. -configure_file("pyside.qdocconf" "${QT_SRC_DIR}/tools/qdoc3/test/pyside.qdocconf" @ONLY) -set(DOC_DATA_DIR "${CMAKE_CURRENT_BINARY_DIR}/qt4xmldoc") -set(ENV{QTDIR} ${QT_SRC_DIR} ) - -add_custom_target(qdoc3 - COMMAND QTDIR=${QT_SRC_DIR} qdoc3 pyside.qdocconf - WORKING_DIRECTORY "${QT_SRC_DIR}/tools/qdoc3/test" - COMMENT "Running qdoc3 against Qt source code..." - SOURCE "pyside.qdocconf") - -macro(create_doc module typesystem_path) -string(REGEX REPLACE "^Qt" "" module_name ${module}) -string(TOLOWER ${module_name} module_name) -add_custom_target("${module}-apidoc" -COMMAND ${GENERATORRUNNER_BINARY} --generatorSet=qtdoc - ${pyside_BINARY_DIR}/global.h - --include-paths=${QT_INCLUDE_DIR}:${QT_QTCORE_INCLUDE_DIR} - --typesystem-paths=${pyside_SOURCE_DIR}:${${module}_BINARY_DIR}:${typesystem_path} - ${pyside_SOURCE_DIR}/${module}/typesystem_${module_name}.xml - --library-source-dir=${QT_SRC_DIR} - --documentation-only - --documentation-data-dir=${DOC_DATA_DIR} - --documentation-out-dir=${CMAKE_CURRENT_BINARY_DIR}/rst - --documentation-code-snippets-dir=${CMAKE_CURRENT_SOURCE_DIR}/codesnippets -WORKING_DIRECTORY ${${module}_SOURCE_DIR} - -COMMENT "Running generator to generate documentation of ${module}..." -) -add_dependencies("${module}-apidoc" qdoc3) -add_dependencies(apidoc "${module}-apidoc") -endmacro() - -create_doc(QtCore "") -create_doc(QtGui "${QtCore_SOURCE_DIR}") -create_doc(QtHelp "${QtCore_SOURCE_DIR}:${QtGui_BINARY_DIR}:${QtGui_SOURCE_DIR}:${QtHelp_SOURCE_DIR}") -create_doc(QtNetwork "${QtCore_SOURCE_DIR}") -create_doc(QtOpengl "${QtCore_SOURCE_DIR}:${QtGui_BINARY_DIR}:${QtGui_SOURCE_DIR}:${QtOpenGL_SOURCE_DIR}") -create_doc(QtSql "${QtCore_SOURCE_DIR}:${QtGui_BINARY_DIR}:${QtGui_SOURCE_DIR}:${QtSql_SOURCE_DIR}") -create_doc(QtSvg "${QtCore_SOURCE_DIR}:${QtGui_SOURCE_DIR}:${QtGui_BINARY_DIR}") -create_doc(QtUitools "${QtCore_SOURCE_DIR}:${QtGui_BINARY_DIR}:${QtGui_SOURCE_DIR}:${QtXml_SOURCE_DIR}:${QtUiTools_SOURCE_DIR}") -create_doc(QtXml "${QtCore_SOURCE_DIR}") -create_doc(QtWebKit "${QtCore_SOURCE_DIR}:${QtGui_SOURCE_DIR}:${QtGui_BINARY_DIR}:${QtNetwork_SOURCE_DIR}") -create_doc(QtMultimedia "${QtCore_SOURCE_DIR}:${QtGui_SOURCE_DIR}:${QtGui_BINARY_DIR}") -create_doc(QtScript "${QtCore_SOURCE_DIR}") -create_doc(QtScriptTools "${QtCore_SOURCE_DIR}:${QtScript_SOURCE_DIR}:${QtGui_SOURCE_DIR}:${QtGui_BINARY_DIR}") -create_doc(QtTest "${QtCore_SOURCE_DIR}:${QtGui_SOURCE_DIR}:${QtGui_BINARY_DIR}") -create_doc(QtXmlPatterns "${QtCore_SOURCE_DIR}") -create_doc(phonon "${QtCore_SOURCE_DIR}:${QtGui_SOURCE_DIR}:${QtGui_BINARY_DIR}") -if (QT_QTDECLARATIVE_FOUND) - create_doc(QtDeclarative "${QtCore_SOURCE_DIR}:${QtGui_SOURCE_DIR}:${QtGui_BINARY_DIR}:${QtNetwork_SOURCE_DIR}") -endif() - -#create devhelp file -add_custom_target(apidevhelp - COMMAND python;${CMAKE_CURRENT_SOURCE_DIR}/pyhtml2devhelp.py;${CMAKE_BINARY_DIR}/apidoc/html;index.html > - ${CMAKE_BINARY_DIR}/apidoc/html/PySide.devhelp;${BINDING_API_VERSION}&&; - gzip;-9v;-f;${CMAKE_BINARY_DIR}/apidoc/html/PySide.devhelp - COMMAND ${CMAKE_COMMAND} -E make_directory "${CMAKE_INSTALL_PREFIX}/share/devhelp/books" - COMMAND ${CMAKE_COMMAND} -E create_symlink "${CMAKE_INSTALL_PREFIX}/share/doc/${BINDING_NAME}/html" "${CMAKE_INSTALL_PREFIX}/share/devhelp/books/${BINDING_NAME}" +configure_file(typesystem_doc.xml.in typesystem_doc.xml @ONLY) + +add_custom_target("docrsts" + COMMAND ${GENERATORRUNNER_BINARY} --generatorSet=qtdoc + ${pyside_BINARY_DIR}/global.h + --include-paths="${QT_INCLUDE_DIR}${PATH_SEP}${QT_QTCORE_INCLUDE_DIR}" + --api-version=${SUPPORTED_QT_VERSION} + --typesystem-paths="${pyside_SOURCE_DIR}${PATH_SEP}${QtCore_SOURCE_DIR}${PATH_SEP}${QtDeclarative_SOURCE_DIR}${PATH_SEP}${QtGui_SOURCE_DIR}${PATH_SEP}${QtGui_BINARY_DIR}${PATH_SEP}${QtHelp_SOURCE_DIR}${PATH_SEP}${QtMaemo5_SOURCE_DIR}${PATH_SEP}${QtMultimedia_SOURCE_DIR}${PATH_SEP}${QtNetwork_SOURCE_DIR}${PATH_SEP}${QtOpenGL_SOURCE_DIR}${PATH_SEP}${QtScript_SOURCE_DIR}${PATH_SEP}${QtScriptTools_SOURCE_DIR}${PATH_SEP}${QtSql_SOURCE_DIR}${PATH_SEP}${QtSvg_SOURCE_DIR}${PATH_SEP}${QtTest_SOURCE_DIR}${PATH_SEP}${QtUiTools_SOURCE_DIR}${PATH_SEP}${QtWebKit_SOURCE_DIR}${PATH_SEP}${QtXml_SOURCE_DIR}${PATH_SEP}${QtXmlPatterns_SOURCE_DIR}" + --library-source-dir=${QT_SRC_DIR} + --documentation-only + --documentation-data-dir=${DOC_DATA_DIR} + --output-directory=${CMAKE_CURRENT_BINARY_DIR}/rst + --documentation-code-snippets-dir=${CMAKE_CURRENT_SOURCE_DIR}/codesnippets + ${CMAKE_CURRENT_BINARY_DIR}/typesystem_doc.xml + WORKING_DIRECTORY ${${module}_SOURCE_DIR} + COMMENT "Running generator to generate documentation..." ) +add_dependencies(apidoc docrsts) +add_dependencies(docrsts qdoc3) + +# #create devhelp file +# add_custom_target(apidevhelp +# COMMAND python;${CMAKE_CURRENT_SOURCE_DIR}/pyhtml2devhelp.py;${CMAKE_BINARY_DIR}/apidoc/html;index.html > +# ${CMAKE_BINARY_DIR}/apidoc/html/PySide.devhelp;${BINDING_API_VERSION}&&; +# gzip;-9v;-f;${CMAKE_BINARY_DIR}/apidoc/html/PySide.devhelp +# COMMAND ${CMAKE_COMMAND} -E make_directory "${CMAKE_INSTALL_PREFIX}/share/devhelp/books" +# COMMAND ${CMAKE_COMMAND} -E create_symlink "${CMAKE_INSTALL_PREFIX}/share/doc/${BINDING_NAME}/html" "${CMAKE_INSTALL_PREFIX}/share/devhelp/books/${BINDING_NAME}" +# ) #install files add_custom_target(apidocinstall - COMMAND mkdir -p ${CMAKE_INSTALL_PREFIX}/share/doc/${BINDING_NAME} && cp -rv ${CMAKE_BINARY_DIR}/apidoc/* ${CMAKE_INSTALL_PREFIX}/share/doc/${BINDING_NAME} + COMMAND mkdir -p ${CMAKE_INSTALL_PREFIX}/share/doc/PySide-${BINDING_API_VERSION} && cp -rv ${CMAKE_CURRENT_BINARY_DIR}/html/* ${CMAKE_INSTALL_PREFIX}/share/doc/PySide-${BINDING_API_VERSION} ) -add_dependencies(apidocinstall apidevhelp) - -else () - message(STATUS "Missing graphviz tool (dot), apidoc generation targets disabled.") -endif () - -else () - message(STATUS "QT_SRC_DIR variable not set, apidoc generation targets disabled.") -endif () +add_dependencies(apidocinstall apidoc) +# add_dependencies(apidocinstall apidevhelp) |