| find_package(Doxygen) |
| |
| if(DOXYGEN_EXECUTABLE) |
| OPTION(DBUS_ENABLE_DOXYGEN_DOCS "build DOXYGEN documentation (requires Doxygen)" ON) |
| endif(DOXYGEN_EXECUTABLE) |
| |
| if (DBUS_ENABLE_DOXYGEN_DOCS) |
| set (top_srcdir ${CMAKE_SOURCE_DIR}/..) |
| configure_file(${CMAKE_SOURCE_DIR}/../Doxyfile.in ${CMAKE_BINARY_DIR}/Doxyfile ) |
| add_custom_target(doc |
| COMMAND ${DOXYGEN_EXECUTABLE} ${CMAKE_BINARY_DIR}/Doxyfile |
| WORKING_DIRECTORY ${CMAKE_BINARY_DIR} |
| ) |
| endif (DBUS_ENABLE_DOXYGEN_DOCS) |
| |
| # |
| # find docbook generator |
| # |
| find_program(MEINPROC4_EXECUTABLE meinproc4) |
| |
| find_program(XMLTO_EXECUTABLE xmlto) |
| |
| find_program(CYGPATH_EXECUTABLE cygpath) |
| |
| if (MEINPROC4_EXECUTABLE OR XMLTO_EXECUTABLE) |
| OPTION(DBUS_ENABLE_XML_DOCS "build XML documentation (requires xmlto or meinproc4)" ON) |
| ADD_CUSTOM_TARGET(xmldoc ALL) |
| endif (MEINPROC4_EXECUTABLE OR XMLTO_EXECUTABLE) |
| |
| if (XMLTO_EXECUTABLE) |
| set (DOCBOOK_GENERATOR_NAME "xmlto" PARENT_SCOPE) |
| set(DBUS_XML_DOCS_ENABLED 1) |
| set(MEINPROC4_EXECUTABLE 0) |
| MESSAGE(STATUS "xmlto docbook generator found") |
| set(STYLESHEET_MAN "${DOCBOOKXSL_DIR}/manpages/docbook.xsl") |
| set(STYLESHEET_HTML "${DOCBOOKXSL_DIR}/html/docbook.xsl") |
| |
| elseif (MEINPROC4_EXECUTABLE) |
| set(DOCBOOK_GENERATOR_NAME "meinproc4" PARENT_SCOPE) |
| set(DBUS_XML_DOCS_ENABLED 1) |
| if(WIN32) |
| get_filename_component(_a ${MEINPROC4_EXECUTABLE} PATH) |
| get_filename_component(_meinproc_install_path ${_a} PATH) |
| set(STYLESHEET_HTML "${_meinproc_install_path}/share/apps/ksgmltools2/docbook/xsl/html/docbook.xsl") |
| else(WIN32) |
| set(STYLESHEET_HTML file:///usr/share/kde4/apps/ksgmltools2/customization/kde-nochunk.xsl) |
| endif(WIN32) |
| endif () |
| |
| if (DBUS_ENABLE_XML_DOCS) |
| |
| macro (DOCBOOK _sources _format) |
| get_filename_component(_infile ${_sources} ABSOLUTE) |
| get_filename_component(_name ${_infile} NAME) |
| set(_deps ${CMAKE_SOURCE_DIR}/CMakeLists.txt ${CMAKE_CURRENT_SOURCE_DIR}/CMakeLists.txt) |
| |
| if (${_format} STREQUAL "man") |
| string(REPLACE ".xml" "" _outname ${_name}) |
| set(STYLESHEET ${STYLESHEET_MAN}) |
| else() |
| string(REPLACE ".xml" ".html" _outname ${_name}) |
| set(STYLESHEET ${STYLESHEET_HTML}) |
| endif () |
| |
| set(_outfile ${CMAKE_CURRENT_BINARY_DIR}/${_outname}) |
| if (EXISTS ${_sources}) |
| if (MEINPROC4_EXECUTABLE) |
| ADD_CUSTOM_COMMAND( |
| OUTPUT ${_outfile} |
| COMMAND ${MEINPROC4_EXECUTABLE} --stylesheet ${STYLESHEET} -o ${_outfile} ${_infile} |
| DEPENDS ${_infile} ${STYLESHEET} ${_deps} |
| WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} |
| ) |
| endif () |
| if (XMLTO_EXECUTABLE) |
| if (MSYS) |
| if (CYGPATH_EXECUTABLE) |
| execute_process( |
| COMMAND cygpath ${_infile} |
| OUTPUT_VARIABLE _infile) |
| else () |
| execute_process(COMMAND dirname ${_infile} OUTPUT_VARIABLE _path) |
| string(STRIP ${_path} _path) |
| execute_process(COMMAND sh -c "cd ${_path}; pwd -W" OUTPUT_VARIABLE _path) |
| string(STRIP ${_path} _path) |
| set(_infile "${_path}/${_name}") |
| endif(CYGPATH_EXECUTABLE) |
| endif (MSYS) |
| ADD_CUSTOM_COMMAND( |
| OUTPUT ${_outfile} |
| COMMAND ${XMLTO_EXECUTABLE} -vv ${_format} ${_infile} |
| DEPENDS ${_infile} ${_deps} |
| WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} |
| ) |
| endif () |
| if (${_format} STREQUAL "man") |
| install(FILES ${_outfile} DESTINATION share/man/man1) |
| else () |
| install(FILES ${_outfile} DESTINATION share/doc/dbus) |
| endif () |
| else () |
| MESSAGE(STATUS "skipping xml doc generating for ${_infile}, file not found") |
| endif () |
| ADD_CUSTOM_TARGET(${_outname} DEPENDS ${_outfile}) |
| ADD_DEPENDENCIES(xmldoc ${_outname}) |
| endmacro (DOCBOOK) |
| |
| ### copy tests to builddir so that generated tests and static tests |
| ### are all in one place. |
| ### todo how to add more filetypes |
| MACRO (COPYDIR _src _type) |
| FOREACH(FILE_TYPE ${_type}) |
| FOREACH(DIR ${_src}) |
| FILE(GLOB FILES "${CMAKE_SOURCE_DIR}/../${DIR}/${FILE_TYPE}" ) |
| FILE(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/${DIR}) |
| FOREACH(FILE ${FILES}) |
| GET_FILENAME_COMPONENT(FILENAME ${FILE} NAME) |
| SET (TARGET ${CMAKE_BINARY_DIR}/${DIR}/${FILENAME}) |
| configure_file(${FILE} ${TARGET} COPYONLY) |
| IF (CONFIG_VERBOSE) |
| MESSAGE("FROM: ${FILE}\nTO: ${TARGET}\n") |
| ENDIF (CONFIG_VERBOSE) |
| ENDFOREACH(FILE) |
| ENDFOREACH(DIR) |
| ENDFOREACH(FILE_TYPE) |
| ENDMACRO (COPYDIR) |
| |
| COPYDIR(doc *.png) |
| COPYDIR(doc *.svg) |
| |
| DOCBOOK(${CMAKE_SOURCE_DIR}/../doc/dbus-test-plan.xml html-nochunks) |
| DOCBOOK(${CMAKE_SOURCE_DIR}/../doc/dbus-tutorial.xml html-nochunks) |
| DOCBOOK(${CMAKE_SOURCE_DIR}/../doc/dbus-specification.xml html-nochunks) |
| DOCBOOK(${CMAKE_SOURCE_DIR}/../doc/dbus-faq.xml html-nochunks) |
| configure_file(${CMAKE_SOURCE_DIR}/../doc/dbus-cleanup-sockets.1.xml.in ${CMAKE_BINARY_DIR}/doc/dbus-cleanup-sockets.1.xml) |
| configure_file(${CMAKE_SOURCE_DIR}/../doc/dbus-daemon.1.xml.in ${CMAKE_BINARY_DIR}/doc/dbus-daemon.1.xml) |
| configure_file(${CMAKE_SOURCE_DIR}/../doc/dbus-launch.1.xml.in ${CMAKE_BINARY_DIR}/doc/dbus-launch.1.xml) |
| configure_file(${CMAKE_SOURCE_DIR}/../doc/dbus-monitor.1.xml.in ${CMAKE_BINARY_DIR}/doc/dbus-monitor.1.xml) |
| configure_file(${CMAKE_SOURCE_DIR}/../doc/dbus-send.1.xml.in ${CMAKE_BINARY_DIR}/doc/dbus-send.1.xml) |
| configure_file(${CMAKE_SOURCE_DIR}/../doc/dbus-test-tool.1.xml.in ${CMAKE_BINARY_DIR}/doc/dbus-test-tool.1.xml) |
| configure_file(${CMAKE_SOURCE_DIR}/../doc/dbus-update-activation-environment.1.xml.in ${CMAKE_BINARY_DIR}/doc/dbus-update-activation-environment.1.xml) |
| configure_file(${CMAKE_SOURCE_DIR}/../doc/dbus-uuidgen.1.xml.in ${CMAKE_BINARY_DIR}/doc/dbus-uuidgen.1.xml) |
| DOCBOOK(${CMAKE_BINARY_DIR}/doc/dbus-cleanup-sockets.1.xml html-nochunks) |
| DOCBOOK(${CMAKE_BINARY_DIR}/doc/dbus-daemon.1.xml html-nochunks) |
| DOCBOOK(${CMAKE_BINARY_DIR}/doc/dbus-launch.1.xml html-nochunks) |
| DOCBOOK(${CMAKE_BINARY_DIR}/doc/dbus-monitor.1.xml html-nochunks) |
| DOCBOOK(${CMAKE_BINARY_DIR}/doc/dbus-send.1.xml html-nochunks) |
| DOCBOOK(${CMAKE_BINARY_DIR}/doc/dbus-test-tool.1.xml html-nochunks) |
| DOCBOOK(${CMAKE_BINARY_DIR}/doc/dbus-uuidgen.1.xml html-nochunks) |
| DOCBOOK(${CMAKE_BINARY_DIR}/doc/dbus-update-activation-environment.1.xml html-nochunks) |
| if (UNIX) |
| DOCBOOK(${CMAKE_BINARY_DIR}/doc/dbus-daemon.1.xml man) |
| DOCBOOK(${CMAKE_BINARY_DIR}/doc/dbus-monitor.1.xml man) |
| DOCBOOK(${CMAKE_BINARY_DIR}/doc/dbus-send.1.xml man) |
| DOCBOOK(${CMAKE_BINARY_DIR}/doc/dbus-test-tool.1.xml man) |
| DOCBOOK(${CMAKE_BINARY_DIR}/doc/dbus-launch.1.xml man) |
| DOCBOOK(${CMAKE_BINARY_DIR}/doc/dbus-uuidgen.1.xml man) |
| DOCBOOK(${CMAKE_BINARY_DIR}/doc/dbus-cleanup-sockets.1.xml man) |
| DOCBOOK(${CMAKE_BINARY_DIR}/doc/dbus-update-activation-environment.1.xml man) |
| endif() |
| # |
| # handle html index file |
| # |
| configure_file(${CMAKE_CURRENT_SOURCE_DIR}/index.html.cmake ${CMAKE_CURRENT_BINARY_DIR}/index.html ) |
| install(FILES ${CMAKE_CURRENT_BINARY_DIR}/index.html DESTINATION share/doc/dbus) |
| |
| set (EXTRA_DIST |
| ${CMAKE_SOURCE_DIR}/../doc/busconfig.dtd |
| ${CMAKE_SOURCE_DIR}/../doc/introspect.dtd |
| ${CMAKE_SOURCE_DIR}/../doc/introspect.xsl |
| ) |
| |
| install(FILES ${EXTRA_DIST} DESTINATION share/doc/dbus) |
| |
| endif(DBUS_ENABLE_XML_DOCS) |