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)