aboutsummaryrefslogtreecommitdiff
path: root/CMakeLists.txt
diff options
context:
space:
mode:
authorPřemysl Janouch <p.janouch@gmail.com>2013-05-19 07:49:47 +0200
committerPřemysl Janouch <p.janouch@gmail.com>2013-05-19 07:49:47 +0200
commit1636c34f83bf7903fd0e4971281b5cd75fd5a3b1 (patch)
tree5b821d15509a26ca9fea7a2053dd10bcbfb52f25 /CMakeLists.txt
parentc38f1046f3114ad5fb841db82203724ce6a34b33 (diff)
downloadtdv-1636c34f83bf7903fd0e4971281b5cd75fd5a3b1.tar.gz
tdv-1636c34f83bf7903fd0e4971281b5cd75fd5a3b1.tar.xz
tdv-1636c34f83bf7903fd0e4971281b5cd75fd5a3b1.zip
Add a manpage
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt38
1 files changed, 35 insertions, 3 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index e83ddc1..eb40db7 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,5 +1,5 @@
project (sdtui C)
-cmake_minimum_required (VERSION 2.8.0)
+cmake_minimum_required (VERSION 2.8.4)
# Moar warnings
if ("${CMAKE_C_COMPILER_ID}" MATCHES "GNU" OR CMAKE_COMPILER_IS_GNUC)
@@ -30,6 +30,31 @@ GETTEXT_CREATE_TRANSLATIONS (
${CMAKE_CURRENT_SOURCE_DIR}/po/${CMAKE_PROJECT_NAME}.pot
ALL ${project_PO_FILES})
+# Documentation
+find_program (XSLTPROC_EXECUTABLE xsltproc)
+if (NOT XSLTPROC_EXECUTABLE)
+ message (FATAL_ERROR "xsltproc not found")
+endif (NOT XSLTPROC_EXECUTABLE)
+
+set (project_MAN_PAGES "${CMAKE_PROJECT_NAME}.1")
+foreach (page ${project_MAN_PAGES})
+ set (page_output "${CMAKE_CURRENT_BINARY_DIR}/${page}")
+ list (APPEND project_MAN_PAGES_OUTPUT "${page_output}")
+ add_custom_command (OUTPUT ${page_output}
+ COMMAND ${XSLTPROC_EXECUTABLE}
+ --nonet
+ --param make.year.ranges 1
+ --param make.single.year.ranges 1
+ --param man.charmap.use.subset 0
+ --param man.authors.section.enabled 0
+ http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl
+ "${CMAKE_CURRENT_SOURCE_DIR}/docs/${page}.xml"
+ DEPENDS "docs/${page}.xml"
+ COMMENT "Generating man page for ${page}" VERBATIM)
+endforeach (page)
+
+add_custom_target (docs ALL DEPENDS ${project_MAN_PAGES_OUTPUT})
+
# Project source files
set (project_common_sources
src/generator.c
@@ -80,8 +105,15 @@ add_executable (add-pronunciation
target_link_libraries (add-pronunciation ${project_common_libraries})
# The files to be installed
-install (TARGETS ${CMAKE_PROJECT_NAME} DESTINATION bin)
-install (FILES LICENSE DESTINATION share/doc/${CMAKE_PROJECT_NAME})
+include (GNUInstallDirs)
+install (TARGETS ${CMAKE_PROJECT_NAME} DESTINATION ${CMAKE_INSTALL_BINDIR})
+install (FILES LICENSE DESTINATION ${CMAKE_INSTALL_DOCDIR})
+
+foreach (page ${project_MAN_PAGES_OUTPUT})
+ string (REGEX MATCH "\\.([0-9])" manpage_suffix "${page}")
+ install (FILES "${page}"
+ DESTINATION "${CMAKE_INSTALL_MANDIR}/man${CMAKE_MATCH_1}")
+endforeach (page)
# Do some unit tests
option (BUILD_TESTING "Build tests" OFF)