wesnoth/doc/manual/CMakeLists.txt
Mark de Wever 1000f2533c Reimplement the update-po4a-manual.
This version can be build in parallel. Also remove the original po4a
update code.
2011-01-08 11:44:35 +00:00

107 lines
3.6 KiB
CMake

set_directory_properties(PROPERTIES CLEAN_NO_CUSTOM true)
install(FILES manual.en.html DESTINATION "${DOCDIR}")
install(DIRECTORY images styles DESTINATION "${DOCDIR}"
PATTERN ".svn" EXCLUDE )
if(ENABLE_NLS)
foreach(LANG ${LINGUAS})
install(FILES manual.${LANG}.html DESTINATION "${DOCDIR}" OPTIONAL)
endforeach(LANG ${LINGUAS})
endif(ENABLE_NLS)
if(ENABLE_POT_UPDATE_TARGET)
add_custom_command(
OUTPUT ${CMAKE_CURRENT_SOURCE_DIR}/manual.en.xml
COMMAND ${CMAKE_COMMAND} -E remove manual.en.xml
COMMAND ${CMAKE_COMMAND} -E remove manual.en.html
COMMAND ${ASCIIDOC_EXECUTABLE} ${ASCIIDOC_OPTIONS}
-o manual.en.xml
manual.txt
COMMAND ${DOS2UNIX_EXECUTABLE} manual.en.xml
COMMAND ${XSLTPROC_EXECUTABLE} ${XSLTPROC_OPTIONS}
-o manual.en.html
/etc/asciidoc/docbook-xsl/xhtml.xsl
manual.en.xml
DEPENDS manual.txt
COMMENT "[update-po4a-manual] Building manual.xml."
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
)
add_custom_command(
OUTPUT ${PROJECT_SOURCE_DIR}/po/wesnoth-manual/wesnoth-manual.pot
COMMAND ${PO4A-GETTEXTIZE_EXECUTABLE} ${PO4A-GETTEXTIZE_OPTIONS}
-m ../../doc/manual/manual.en.xml
-p wesnoth-manual.pot
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/manual.en.xml
COMMENT "[update-po4a-manual] Building wesnoth-manual.pot."
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/po/wesnoth-manual
)
set(UPDATE-PO4A-MANUAL_DEPENDENCIES)
foreach(LINGUA ${LINGUAS})
add_custom_command(
OUTPUT ${PROJECT_SOURCE_DIR}/po/wesnoth-manual/${LINGUA}.po
COMMAND ${PO4A-UPDATEPO_EXECUTABLE} ${PO4A-UPDATEPO_OPTIONS}
-f docbook
-m ../../doc/manual/manual.en.xml
-p ${LINGUA}.po
DEPENDS ${PROJECT_SOURCE_DIR}/po/wesnoth-manual/wesnoth-manual.pot
COMMENT "[update-po4a-manual ${LINGUA}] Building ${LINGUA}.po."
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/po/wesnoth-manual
)
# Create the .xml file if enough strings are translated.
add_custom_command(
OUTPUT ${CMAKE_CURRENT_SOURCE_DIR}/manual.${LINGUA}.xml
COMMAND ${PO4A-TRANSLATE_EXECUTABLE} ${PO4A-TRANSLATE_OPTIONS}
-m ../../doc/manual/manual.en.xml
-p ${LINGUA}.po
-l ../../doc/manual/manual.${LINGUA}.xml
DEPENDS ${PROJECT_SOURCE_DIR}/po/wesnoth-manual/${LINGUA}.po
COMMENT "[update-po4a-manual ${LINGUA}] Building ${LINGUA}.xml."
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/po/wesnoth-manual
)
# Only create a .html if there is an .xml file. Since it's not
# possible to only execute cmake code if the file exists directly,
# build the command here. Then send it to a small script that only
# executes if the .html file exists.
set(CMD "${XSLTPROC_EXECUTABLE} ${XSLTPROC_OPTIONS}")
set(CMD "${CMD} -o manual.${LINGUA}.html")
set(CMD "${CMD} /etc/asciidoc/docbook-xsl/xhtml.xsl")
set(CMD "${CMD} manual.${LINGUA}.xml")
add_custom_command(
OUTPUT ${CMAKE_CURRENT_SOURCE_DIR}/manual.${LINGUA}.html
COMMAND ${CMAKE_COMMAND} -E remove manual.${LINGUA}.html
COMMAND ${CMAKE_COMMAND}
-DSOURCE="manual.${LINGUA}.xml"
-DCMD="${CMD}"
-P "${CMAKE_MODULE_PATH}/po4a-manual.cmake"
COMMAND ${CMAKE_COMMAND} -E remove manual.${LINGUA}.xml
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/manual.${LINGUA}.xml
COMMENT "[update-po4a-manual ${LINGUA}] Building ${LINGUA}.html."
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
)
set(UPDATE-PO4A-MANUAL_DEPENDENCIES
${UPDATE-PO4A-MANUAL_DEPENDENCIES}
${CMAKE_CURRENT_SOURCE_DIR}/manual.${LINGUA}.html
)
endforeach(LINGUA ${LINGUAS})
add_custom_target(update-po4a-manual
COMMAND ${CMAKE_COMMAND} -E remove manual.en.xml
DEPENDS
${UPDATE-PO4A-MANUAL_DEPENDENCIES}
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
)
endif(ENABLE_POT_UPDATE_TARGET)