1
cmake_minimum_required(VERSION 2.6)
3
set(can_update_usermanual ON)
5
find_program(Xsltproc_BIN xsltproc)
6
find_program(Xml2po_BIN xml2po)
8
if(${Xsltproc_BIN} STREQUAL "Xsltproc_BIN-NOTFOUND")
9
message("Missing xsltproc")
10
set(can_update_usermanual OFF)
13
if(${Xml2po_BIN} STREQUAL "Xml2po_BIN-NOTFOUND")
14
message("Missing xml2po")
15
set(can_update_usermanual OFF)
18
if(can_update_usermanual )
20
add_custom_target(update-usermanual)
24
OUTPUT darktable-usermanual.pot
25
COMMAND xsltproc --output ${CMAKE_CURRENT_BINARY_DIR}/darktable-usermanual_profiled_final.xml ../xsl/darktable_profile.xsl ../darktable.xml
26
COMMAND xml2po -a -e -o darktable-usermanual.pot ${CMAKE_CURRENT_BINARY_DIR}/darktable-usermanual_profiled_final.xml
27
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
28
DEPENDS ../darktable.xml ../xsl/darktable_profile.xsl
29
COMMENT "Updating usermanual template" VERBATIM
31
add_custom_target(update-template DEPENDS darktable-usermanual.pot)
33
# localized final usermanuals
34
file(STRINGS "LINGUAS" LANGUAGES)
35
foreach(language ${LANGUAGES})
36
set(pofile "${language}.po")
39
COMMAND sh -c "if test ! -f ${pofile}; then ${CMAKE_COMMAND} -E copy darktable-usermanual.pot ${pofile}; fi"
40
COMMAND xml2po -a -e -u ${pofile} ${CMAKE_CURRENT_BINARY_DIR}/darktable-usermanual_profiled_final.xml
41
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
42
COMMENT "Updating ${language} usermanual pofile" VERBATIM
44
add_custom_target(update-usermanual-${language} DEPENDS darktable-usermanual.pot ${pofile})
45
add_dependencies(update-usermanual update-usermanual-${language})
48
else(can_update_usermanual )
49
message("Can NOT update usermanual")
50
endif(can_update_usermanual )