summaryrefslogtreecommitdiffstats
path: root/src/desktop/CMakeLists.txt
diff options
context:
space:
mode:
authorPiotr Dziwiński <piotrdz@gmail.com>2012-12-27 07:36:58 -0800
committerPiotr Dziwiński <piotrdz@gmail.com>2012-12-27 07:36:58 -0800
commit0a0e536d650b794fc185eab3605bbc785951a2dd (patch)
treead02cd9ca1e7fabb3ac2eb1e0ac0423e324153e5 /src/desktop/CMakeLists.txt
parent45bee618f91ae13f48e082b5b44c8c796564d2b5 (diff)
parentafea08d57049b58361059cd0a11b92c942ff5458 (diff)
downloadcolobot-0a0e536d650b794fc185eab3605bbc785951a2dd.tar.gz
colobot-0a0e536d650b794fc185eab3605bbc785951a2dd.tar.bz2
colobot-0a0e536d650b794fc185eab3605bbc785951a2dd.zip
Merge pull request #105 from OdyX/dev-desktop-file-man
Add manpage for colobot
Diffstat (limited to 'src/desktop/CMakeLists.txt')
-rw-r--r--src/desktop/CMakeLists.txt47
1 files changed, 47 insertions, 0 deletions
diff --git a/src/desktop/CMakeLists.txt b/src/desktop/CMakeLists.txt
index cc159a9..1a1cfd5 100644
--- a/src/desktop/CMakeLists.txt
+++ b/src/desktop/CMakeLists.txt
@@ -37,6 +37,40 @@ if(RSVG_CONVERT)
endforeach()
endif()
+# Create manpage from pod-formatted file
+find_program(POD2MAN pod2man)
+if(POD2MAN)
+ set(COLOBOT_MANPAGE_SECTION 6)
+
+ macro(podman)
+ cmake_parse_arguments(PM "" "PODFILE;LOCALE;" "" ${ARGN})
+ if(PM_LOCALE)
+ # This copes with the fact that english has no "/LANG" in the paths and filenames.
+ set(SLASHLOCALE /${PM_LOCALE})
+ endif()
+ file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}${SLASHLOCALE})
+ add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}${SLASHLOCALE}/colobot.${COLOBOT_MANPAGE_SECTION}
+ DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${PM_PODFILE}
+ COMMAND ${POD2MAN} ARGS --section=${COLOBOT_MANPAGE_SECTION}
+ --center="Colobot" --stderr --utf8
+ ${CMAKE_CURRENT_SOURCE_DIR}/${PM_PODFILE}
+ ${CMAKE_CURRENT_BINARY_DIR}${SLASHLOCALE}/colobot.${COLOBOT_MANPAGE_SECTION}
+ COMMENT "Create ${SLASHLOCALE}/colobot.${COLOBOT_MANPAGE_SECTION} manpage"
+ )
+ add_custom_target(man${PM_LOCALE} ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}${SLASHLOCALE}/colobot.${COLOBOT_MANPAGE_SECTION})
+
+ install(
+ FILES ${CMAKE_CURRENT_BINARY_DIR}${SLASHLOCALE}/colobot.${COLOBOT_MANPAGE_SECTION}
+ DESTINATION ${CMAKE_INSTALL_PREFIX}/share/man${SLASHLOCALE}/man${COLOBOT_MANPAGE_SECTION}/ )
+
+ add_dependencies(man man${PM_LOCALE})
+ endmacro()
+
+ # Create the english manpage
+ podman(PODFILE colobot.pod)
+
+endif()
+
# Translate translatable material
find_program(PO4A po4a)
@@ -46,4 +80,17 @@ if(PO4A)
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
)
add_dependencies(desktopfile desktop_po4a)
+
+ if(POD2MAN)
+ add_custom_target(man_po4a
+ COMMAND ${PO4A} po4a.cfg
+ WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
+ )
+ add_dependencies(man man_po4a)
+ file(GLOB LINGUAS_PO RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}/po/ ${CMAKE_CURRENT_SOURCE_DIR}/po/*.po)
+ string(REGEX REPLACE ".po$" "" LINGUAS ${LINGUAS_PO})
+ foreach(LOCALE ${LINGUAS})
+ podman(PODFILE lang/${LOCALE}/colobot.pod LOCALE ${LOCALE})
+ endforeach()
+ endif()
endif()