From 906117ff47f0a4f77972a3aa9d477857fe1464df Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 12 Jan 2025 21:46:04 -0500 Subject: [PATCH] We no longer support Intel icc version 19 or older. Clean up checks/flags. --- cmake/CMakeLists.txt | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 38431e3bb5..b823e40ff8 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -95,24 +95,21 @@ check_for_autogen_files(${LAMMPS_SOURCE_DIR}) ##################################################################### include(CheckIncludeFileCXX) -# set required compiler flags and compiler/CPU arch specific optimizations +# set required compiler flags, apply checks, and compiler/CPU arch specific optimizations if(CMAKE_CXX_COMPILER_ID STREQUAL "Intel") + # Intel classic compilers version 19 are broken and fail to compile the embedded fmtlib + if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS 20.0) + message(ERROR "Intel classic compiler version ${CMAKE_CXX_COMPILER_VERSION} is too old") + endif() + if(CMAKE_SYSTEM_NAME STREQUAL "Windows") if(CMAKE_CXX_COMPILER_ID STREQUAL "Intel") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /Qrestrict") endif() - if(CMAKE_CXX_COMPILER_VERSION VERSION_EQUAL 17.3 OR CMAKE_CXX_COMPILER_VERSION VERSION_EQUAL 17.4) - set(CMAKE_TUNE_DEFAULT "/QxCOMMON-AVX512") - else() - set(CMAKE_TUNE_DEFAULT "/QxHost") - endif() + set(CMAKE_TUNE_DEFAULT "/QxHost") else() set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -restrict") - if(CMAKE_CXX_COMPILER_VERSION VERSION_EQUAL 17.3 OR CMAKE_CXX_COMPILER_VERSION VERSION_EQUAL 17.4) - set(CMAKE_TUNE_DEFAULT "-xCOMMON-AVX512") - else() - set(CMAKE_TUNE_DEFAULT "-xHost -fp-model fast=2 -no-prec-div -qoverride-limits -diag-disable=10441 -diag-disable=11074 -diag-disable=11076 -diag-disable=2196") - endif() + set(CMAKE_TUNE_DEFAULT "-xHost -fp-model fast=2 -no-prec-div -qoverride-limits -diag-disable=10441 -diag-disable=11074 -diag-disable=11076 -diag-disable=2196") endif() endif()