1# generate documentation on 'make doxygen-doc' 2file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/doc) 3 4find_package(Doxygen) 5set_package_properties(Doxygen PROPERTIES 6 DESCRIPTION "Documentation generator" 7 URL "http://doxygen.org" 8 PURPOSE "Needed to generate the API documentation") 9 10if(DOXYGEN_FOUND) 11 find_program(QHELPGENERATOR_EXECUTABLE qhelpgenerator) 12 mark_as_advanced(QHELPGENERATOR_EXECUTABLE) 13 14 include(FindPackageHandleStandardArgs) 15 find_package_handle_standard_args(QHELPGENERATOR DEFAULT_MSG QHELPGENERATOR_EXECUTABLE) 16 17 set(QT_TAGS_FILE ${QT_DOC_DIR}/qtcore/qtcore.tags) 18 if(EXISTS ${QT_TAGS_FILE}) 19 find_package(Perl QUIET) 20 21 if (NOT PERL_FOUND) 22 message(WARNING "Perl was not found. Qt crosslinks in uploaded docs won't be valid.") 23 endif () 24 else() 25 message(WARNING "html/qt.tags not found in ${QT_DOC_DIR}. Set the QT_DOC_DIR variable to 26point to its location to enable crosslinking.") 27 unset(QT_TAGS_FILE) 28 endif() 29 30 set(abs_top_builddir ${CMAKE_BINARY_DIR}) 31 set(abs_top_srcdir ${CMAKE_SOURCE_DIR}) 32 set(GENERATE_HTML YES) 33 set(GENERATE_RTF NO) 34 set(GENERATE_CHM NO) 35 set(GENERATE_CHI NO) 36 set(GENERATE_LATEX NO) 37 set(GENERATE_MAN NO) 38 set(GENERATE_XML NO) 39 set(GENERATE_QHP ${QHELPGENERATOR_FOUND}) 40 configure_file(doxygen.cfg.in ${CMAKE_BINARY_DIR}/doxygen.cfg) 41 add_custom_target(doxygen-doc 42 ${DOXYGEN_EXECUTABLE} ${CMAKE_BINARY_DIR}/doxygen.cfg 43 SOURCES 44 doxygen.cfg.in 45 TelepathyQt/account-capability-filter.dox 46 TelepathyQt/and-filter.dox 47 TelepathyQt/async-model.dox 48 TelepathyQt/callbacks.dox 49 TelepathyQt/examples.dox 50 TelepathyQt/filter.dox 51 TelepathyQt/generic-capability-filter.dox 52 TelepathyQt/generic-property-filter.dox 53 TelepathyQt/groups.dox 54 TelepathyQt/main.dox 55 TelepathyQt/method-invocation-context.dox 56 TelepathyQt/not-filter.dox 57 TelepathyQt/or-filter.dox 58 TelepathyQt/shared-ptr.dox 59 ) 60else() 61 # Suppress cmake policy CMP0046 warnings. 62 # This target is being used as a dependency in other targets, 63 # so it always needs to be available, even if empty. 64 add_custom_target(doxygen-doc) 65endif() 66