File 0001-cmake-Install-man-pages-into-matching-sub-directory.patch of Package vegastrike
From 085e4ac6304c7e78db5c83fbd0e12f95bbff1099 Mon Sep 17 00:00:00 2001
From: Ferdinand Thiessen <rpm@fthiessen.de>
Date: Sat, 8 May 2021 13:52:36 +0200
Subject: [PATCH] cmake: Install man pages into matching sub directory
Man pages usually are installed into sub directories matching the man page category
---
doc/man/CMakeLists.txt | 27 ++++++++-------------------
1 file changed, 8 insertions(+), 19 deletions(-)
diff --git a/doc/man/CMakeLists.txt b/doc/man/CMakeLists.txt
index a0a26b12f..3edc5ac83 100644
--- a/doc/man/CMakeLists.txt
+++ b/doc/man/CMakeLists.txt
@@ -1,23 +1,12 @@
IF (UNIX)
- # There is no good method for this. The preferred method of using the `TYPE` argument doesn't exist until CMake 3.14
- # and there is no CMake Policy to detect the change or force only the older style. `TYPE` is preferred because the
- # destination is held by CMake instead of being hard coded here. So once CMake 3.14 is the base version this can
- # be dropped to just the one version.
- IF (CMAKE_VERSION VERSION_LESS "3.14")
- MESSAGE("Hard coded man page destinations")
- INSTALL(FILES vegastrike-engine.1 DESTINATION "${CMAKE_INSTALL_MANDIR}")
- INSTALL(FILES vegastrike-engine.1 DESTINATION "${CMAKE_INSTALL_MANDIR}" RENAME vegastrike.1)
- INSTALL(FILES vsinstall.1 DESTINATION "${CMAKE_INSTALL_MANDIR}")
- INSTALL(FILES vslauncher.1 DESTINATION "${CMAKE_INSTALL_MANDIR}")
- INSTALL(FILES vegasettings.1 DESTINATION "${CMAKE_INSTALL_MANDIR}")
- ELSE (CMAKE_VERSION VERSION_LESS "3.14")
- # This is the preferred instruction, but it's not available until cmake 3.14
- INSTALL(FILES vegastrike-engine.1 TYPE MAN)
- INSTALL(FILES vegastrike-engine.1 TYPE MAN RENAME vegastrike.1)
- INSTALL(FILES vsinstall.1 TYPE MAN)
- INSTALL(FILES vslauncher.1 TYPE MAN)
- INSTALL(FILES vegasettings.1 TYPE MAN)
- ENDIF (CMAKE_VERSION VERSION_LESS "3.14")
+ # The method of using the `TYPE` argument will not allow to install the manpages into the
+ # correct subdirectory, so as man pages are only installed on "UNIX" we can use GNUInstallDirs as recommended by cmake
+ # This also allows distro packagers to override CMAKE_INSTALL_MANDIR if needed
+ INSTALL(FILES vegastrike-engine.1 DESTINATION "${CMAKE_INSTALL_MANDIR}/man1")
+ INSTALL(FILES vegastrike-engine.1 DESTINATION "${CMAKE_INSTALL_MANDIR}/man1" RENAME vegastrike.1)
+ INSTALL(FILES vsinstall.1 DESTINATION "${CMAKE_INSTALL_MANDIR}/man1")
+ INSTALL(FILES vslauncher.1 DESTINATION "${CMAKE_INSTALL_MANDIR}/man1")
+ INSTALL(FILES vegasettings.1 DESTINATION "${CMAKE_INSTALL_MANDIR}/man1")
ENDIF (UNIX)
--
2.26.2