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