diff --git a/CMakeLists.txt b/CMakeLists.txt index 783616d..2e95052 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -14,7 +14,13 @@ if( "${CMAKE_CURRENT_SOURCE_DIR}" STREQUAL "${CMAKE_SOURCE_DIR}" ) ##### general package setup ##################### - cmake_minimum_required( VERSION 3.5 ) + # building tde-cmake requires reading the minimum required version + # from the source files, because there may be a different version + # of tde-cmake already installed in the system. Trying to build + # tde-cmake with a lower minimum version would not be allowed then. + + include( ${CMAKE_SOURCE_DIR}/modules/TDEVersion.cmake ) + cmake_minimum_required( VERSION ${TDE_CMAKE_MINIMUM_VERSION} ) project( tde-cmake-rules ) diff --git a/modules/TDEMacros.cmake b/modules/TDEMacros.cmake index de51342..3012ec9 100644 --- a/modules/TDEMacros.cmake +++ b/modules/TDEMacros.cmake @@ -16,13 +16,20 @@ ################################################# +################################################# +##### +##### Need cmake minimum version + +include( TDEVersion ) + + ################################################# ##### ##### initialization... if( NOT TDE_CMAKE_ROOT ) - if( "${CMAKE_VERSION}" VERSION_LESS "3.5" ) - message( FATAL_ERROR "CMake >= 3.5.0 required" ) + if( "${CMAKE_VERSION}" VERSION_LESS "${TDE_CMAKE_MINIMUM_VERSION}" ) + message( FATAL_ERROR "CMake >= ${TDE_CMAKE_MINIMUM_VERSION} required" ) endif() if( ${CMAKE_CURRENT_LIST_DIR} STREQUAL ${CMAKE_ROOT}/Modules ) @@ -83,7 +90,6 @@ include( CheckCXXSourceCompiles ) include( CheckLinkerFlag OPTIONAL ) include( CheckSymbolExists ) include( CheckTypeSize ) -include( TDEVersion ) ################################################# diff --git a/modules/TDEVersion.cmake b/modules/TDEVersion.cmake index 6edbc42..6fd5900 100644 --- a/modules/TDEVersion.cmake +++ b/modules/TDEVersion.cmake @@ -9,6 +9,11 @@ # ################################################# +# Centralized place where to set the minimum cmake version required in TDE + +set( TDE_CMAKE_MINIMUM_VERSION 3.5 ) + + ################################################# ##### ##### tde_set_project_version