diff options
author | Allen Winter <winter@kde.org> | 2007-01-20 23:57:46 +0000 |
---|---|---|
committer | Allen Winter <winter@kde.org> | 2007-01-20 23:57:46 +0000 |
commit | 334e5ff5439d76c03d57b57518ebd596067fb837 (patch) | |
tree | 851c8229c212c02c01a17f6862c6fa4e49f94c77 | |
parent | 70c525d58ab923b19720edb3257d602b38d588c2 (diff) | |
download | extra-cmake-modules-334e5ff5439d76c03d57b57518ebd596067fb837.tar.gz extra-cmake-modules-334e5ff5439d76c03d57b57518ebd596067fb837.tar.bz2 |
New macros for creating and installing application handbooks.
To use, in your module/doc/app/CMakeLists.txt:
kde4_create_handbook(index.docbook)
kde4_install_handbook()
Oh, this will probably not work for kdelibs/doc because we
need to pass meinproc the --srcdir option in that module.
CCMAIL: kde-buildsystem@kde.org
svn path=/trunk/KDE/kdelibs/; revision=625750
-rw-r--r-- | modules/FindKDE4Internal.cmake | 10 | ||||
-rw-r--r-- | modules/KDE4Macros.cmake | 51 |
2 files changed, 44 insertions, 17 deletions
diff --git a/modules/FindKDE4Internal.cmake b/modules/FindKDE4Internal.cmake index 143c3ea0..6322bd75 100644 --- a/modules/FindKDE4Internal.cmake +++ b/modules/FindKDE4Internal.cmake @@ -181,8 +181,14 @@ # Installs all png and svgz files in the current directory to the icon # directoy given in path, in the subdirectory for the given icon theme. # -# KDE4_CREATE_HTML_HANDBOOK( <docbookfile1> ... <docbookfileN> -# Create the HTML documentation using meinproc from the listed docbook files +# KDE4_CREATE_HANDBOOK( docbookfile ) +# Create the handbook from the docbookfile (using meinproc) +# +# KDE4_INSTALL_HANDBOOK() +# Install the handbook documentation +# +# KDE4_CREATE_HTML_HANDBOOK( docbookfile ) +# Create HTML version of the handbook from the docbookfile (using meinproc) # # _KDE4_PLATFORM_INCLUDE_DIRS is used only internally # _KDE4_PLATFORM_DEFINITIONS is used only internally diff --git a/modules/KDE4Macros.cmake b/modules/KDE4Macros.cmake index 9caead7b..f76fa253 100644 --- a/modules/KDE4Macros.cmake +++ b/modules/KDE4Macros.cmake @@ -222,23 +222,44 @@ macro(KDE4_GET_AUTOMOC_FILES _list) endforeach (_current_FILE) endmacro(KDE4_GET_AUTOMOC_FILES) - -macro (KDE4_CREATE_HTML_HANDBOOK) - set(_htmlOutputFiles) - # iterate over all files - foreach (_current_FILE ${ARGN}) - get_filename_component(_input ${_current_FILE} ABSOLUTE) - set(_doc ${CMAKE_CURRENT_BINARY_DIR}/index.html) - add_custom_command(OUTPUT ${_doc} - COMMAND ${KDE4_MEINPROC_EXECUTABLE} -o ${_doc} ${_input} - DEPENDS ${_input} ${_KDE4_MEINPROC_EXECUTABLE_DEP} - ) - list(APPEND _htmlOutputFiles ${_doc}) - endforeach (_current_FILE) - add_custom_target(htmlhandbook ALL DEPENDS ${_htmlOutputFiles} ) +macro (KDE4_INSTALL_HANDBOOK) + get_filename_component(_tmp_FILE ${CMAKE_CURRENT_SOURCE_DIR} ABSOLUTE) + get_filename_component(_basename ${_tmp_FILE} NAME_WE) + file(GLOB _books *.docbook) + file(GLOB _images *.png) + install(FILES ${CMAKE_CURRENT_BINARY_DIR}/index.cache.bz2 ${_books} ${_images} DESTINATION ${HTML_INSTALL_DIR}/en/${_basename}) + # TODO symlinks on non-unix platforms + if (UNIX) + ADD_CUSTOM_COMMAND(OUTPUT "${HTML_INSTALL_DIR}/en/${_basename}/common" + DEPENDS "${HTML_INSTALL_DIR}/en/common" + COMMAND /bin/ln + ARGS -s "${HTML_INSTALL_DIR}/en/common" "${HTML_INSTALL_DIR}/en/${_basename}/common" + COMMENT "Symlink") + FILE(MAKE_DIRECTORY ${HTML_INSTALL_DIR}/en/${_basename}) + ADD_CUSTOM_TARGET(CreateSymlinks ALL DEPENDS ${HTML_INSTALL_DIR}/en/${_basename}/common) + endif (UNIX) +endmacro (KDE4_INSTALL_HANDBOOK) + +macro (KDE4_CREATE_HANDBOOK _docbook) + get_filename_component(_input ${_docbook} ABSOLUTE) + set(_doc ${CMAKE_CURRENT_BINARY_DIR}/index.cache.bz2) + add_custom_command(OUTPUT ${_doc} + COMMAND ${KDE4_MEINPROC_EXECUTABLE} --check --cache ${_doc} ${_input} + DEPENDS ${_input} ${_KDE4_MEINPROC_EXECUTABLE_DEP} + ) + add_custom_target(handbook ALL DEPENDS ${_doc}) +endmacro (KDE4_CREATE_HANDBOOK) + +macro (KDE4_CREATE_HTML_HANDBOOK _docbook) + get_filename_component(_input ${_docbook} ABSOLUTE) + set(_doc ${CMAKE_CURRENT_SOURCE_DIR}/index.html) + add_custom_command(OUTPUT ${_doc} + COMMAND ${KDE4_MEINPROC_EXECUTABLE} --check -o ${_doc} ${_input} + DEPENDS ${_input} ${_KDE4_MEINPROC_EXECUTABLE_DEP} + ) + add_custom_target(htmlhandbook ALL DEPENDS ${_doc}) endmacro (KDE4_CREATE_HTML_HANDBOOK) - # only used internally by KDE4_INSTALL_ICONS MACRO (_KDE4_ADD_ICON_INSTALL_RULE _install_SCRIPT _install_PATH _group _orig_NAME _install_NAME) |