From: Hans Johnson Date: Tue, 8 Jan 2019 14:43:04 +0000 (-0600) Subject: ENH: Simplify conditional logic X-Git-Tag: v1.4.0^2~50^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=refs%2Fpull%2F1496%2Fhead;p=thirdparty%2Fzstd.git ENH: Simplify conditional logic Based on excellent comment in #1489, the logic to set cmake policies was simplified. This will provide an easier mechanism for maintaining the conditional logic across many versions of cmake. --- diff --git a/build/cmake/CMakeLists.txt b/build/cmake/CMakeLists.txt index f72f3f458..33c05aee8 100644 --- a/build/cmake/CMakeLists.txt +++ b/build/cmake/CMakeLists.txt @@ -11,15 +11,15 @@ cmake_minimum_required(VERSION 2.8.9 FATAL_ERROR) # As of 2018-12-26 ZSTD has been validated to build with cmake version 3.13.2 new policies. # Set and use the newest cmake policies that are validated to work -set(ZSTD_MAX_VALIDATED_CMAKE_VERSION "3.13.2") -if("${CMAKE_MAJOR_VERSION}" LESS 3) # Cmake version <3.7 does not understand the VERSION_LESS_EQUAL operator +set(ZSTD_MAX_VALIDATED_CMAKE_MAJOR_VERSION "3") +set(ZSTD_MAX_VALIDATED_CMAKE_MINOR_VERSION "13") #Policies never changed at PATCH level +if("${CMAKE_MAJOR_VERSION}" LESS 3) set(ZSTD_CMAKE_POLICY_VERSION "${CMAKE_VERSION}") -elseif(("${CMAKE_MAJOR_VERSION}" EQUAL 3 AND "${CMAKE_MINOR_VERSION}" GREATER 6) OR ("${CMAKE_MAJOR_VERSION}" GREATER 3)) - if("${CMAKE_VERSION}" VERSION_LESS_EQUAL "${ZSTD_MAX_VALIDATED_CMAKE_VERSION}") +elseif( "${ZSTD_MAX_VALIDATED_CMAKE_MAJOR_VERSION}" EQUAL "${CMAKE_MAJOR_VERSION}" AND + "${ZSTD_MAX_VALIDATED_CMAKE_MINOR_VERSION}" GREATER "${CMAKE_MINOR_VERSION}") set(ZSTD_CMAKE_POLICY_VERSION "${CMAKE_VERSION}") - else() - set(ZSTD_CMAKE_POLICY_VERSION "${ZSTD_MAX_VALIDATED_CMAKE_VERSION}") - endif() +else() + set(ZSTD_CMAKE_POLICY_VERSION "${ZSTD_MAX_VALIDATED_CMAKE_MAJOR_VERSION}.${ZSTD_MAX_VALIDATED_CMAKE_MINOR_VERSION}.0") endif() cmake_policy(VERSION ${ZSTD_CMAKE_POLICY_VERSION})