diff --git a/CMakeLists.txt b/CMakeLists.txt index ca52e7e..3184acf 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -28,6 +28,8 @@ if (NOT CMAKE_CXX_LINK_PIE_SUPPORTED) message(WARNING "Link-time PIE not supported: ${pie_output}.\n") endif() set(CMAKE_CXX_FLAGS "-Wall") +set(MINIMAL_GNU "11.0") +set(MINIMAL_CLANG "13.0") if (NOT MSVC) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pthread") @@ -47,13 +49,13 @@ endif() if (${CMAKE_CXX_COMPILER_ID} STREQUAL GNU) if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS 11.0) - message(FATAL_ERROR "A GNU compiler version of preferably 11 or higher is required.") + message(FATAL_ERROR "G++ ${MINIMAL_GNU} or higher is required.") endif() set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -fira-loop-pressure -ftree-loop-distribution -floop-interchange -fipa-pta -fivopts -s") set(CMAKE_CXX_FLAGS "-fno-use-linker-plugin -fwhole-program ${CMAKE_CXX_FLAGS}") elseif(${CMAKE_CXX_COMPILER_ID} STREQUAL Clang) if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS 13.0) - message(FATAL_ERROR "Clang 13.0 or higher is required.") + message(FATAL_ERROR "Clang ${MINIMAL_CLANG} or higher is required.") endif() set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE}") set(CMAKE_CXX_FLAGS "-fwhole-program-vtables ${CMAKE_CXX_FLAGS}") @@ -128,7 +130,7 @@ if (UNIX AND NOT MINGW) if (CPACK_RPM_PACKAGE_SOURCES) set(CPACK_RPM_SOURCE_PKG_PACKAGING_INSTALL_PREFIX "/") set(CPACK_GENERATOR RPM) - set(CPACK_RPM_BUILDREQUIRES "cmake >= 3.18, clang >= 11.0.0") + set(CPACK_RPM_BUILDREQUIRES "cmake >= ${CMAKE_MINIMUM_REQUIRED_VERSION}, clang >= ${MINIMAL_CLANG}.0") install(DIRECTORY src DESTINATION ${CPACK_RPM_SOURCE_PKG_PACKAGING_INSTALL_PREFIX}) install(DIRECTORY resources DESTINATION ${CPACK_RPM_SOURCE_PKG_PACKAGING_INSTALL_PREFIX}) install(DIRECTORY scripts DESTINATION ${CPACK_RPM_SOURCE_PKG_PACKAGING_INSTALL_PREFIX})