shithub: puzzles

Download patch

ref: a1bab40025a821909eea7d47e6d0af5c27338833
parent: e763b9ead86df6a92666525f8d2ed0385e251c61
author: Simon Tatham <anakin@pobox.com>
date: Sat Apr 3 04:03:25 EDT 2021

Support earlier versions of CMake.

At least, for the Unix build, so as to support Debian stable and a
couple of prior Ubuntu LTSes.

Not much needed to change in the cmake scripts; the only noticeable
difference was that the 'install' command needs an explicit RUNTIME
DESTINATION.

--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.16)
+cmake_minimum_required(VERSION 3.5)
 
 project(puzzles
   LANGUAGES C)
--- a/cmake/platforms/unix.cmake
+++ b/cmake/platforms/unix.cmake
@@ -66,7 +66,16 @@
 function(set_platform_puzzle_target_properties NAME TARGET)
   set_target_properties(${TARGET} PROPERTIES
     OUTPUT_NAME ${NAME_PREFIX}${NAME})
-  install(TARGETS ${TARGET})
+
+  if(CMAKE_VERSION VERSION_LESS 3.14)
+    # CMake 3.13 and earlier required an explicit install destination.
+    install(TARGETS ${TARGET} RUNTIME DESTINATION bin)
+  else()
+    # 3.14 and above selects a sensible default, which we should avoid
+    # overriding here so that end users can override it using
+    # CMAKE_INSTALL_BINDIR.
+    install(TARGETS ${TARGET})
+  endif()
 endfunction()
 
 function(build_platform_extras)