CMake: remove support for building Qt with the old Intel compiler
This hasn't worked for some time. It's not in our CI and I don't think it was working at all. When I tried to build it, I ran into several problems with C++17 and an Internal Compiler Error I did not have any interest in working around. After discussing with the Intel compiler team, it was decided that fixing those issues in the old compiler is not going to happen. Instead, their recommendation is to adopt the new LLVM-based compiler, which the last commit added support for. This commit does not remove qmake support for the old ICC. It's possible someone is using qmake with a non-Qt6 project and ICC. Change-Id: Icb2516126f674e7b8bb3fffd16ad6350ddbd49e5 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
This commit is contained in:
parent
63d80c7c4b
commit
cb0ea39895
@ -306,8 +306,6 @@ elseif(LINUX)
|
||||
set(QT_DEFAULT_MKSPEC linux-g++)
|
||||
elseif(CLANG)
|
||||
set(QT_DEFAULT_MKSPEC linux-clang)
|
||||
elseif(ICC)
|
||||
set(QT_DEFAULT_MKSPEC linux-icc-64)
|
||||
endif()
|
||||
elseif(ANDROID)
|
||||
if(GCC)
|
||||
|
@ -296,8 +296,6 @@ function(qt_configure_process_add_summary_build_type_and_config)
|
||||
string(APPEND message "clang (Intel LLVM)")
|
||||
elseif(CLANG)
|
||||
string(APPEND message "clang")
|
||||
elseif(ICC)
|
||||
string(APPEND message "intel_icc")
|
||||
elseif(QCC)
|
||||
string(APPEND message "rim_qcc")
|
||||
elseif(GCC)
|
||||
|
@ -85,50 +85,6 @@ if (winrt) # FIXME: Correct variable
|
||||
set(QT_CFLAGS_SHANI "-arch:SSE2")
|
||||
endif()
|
||||
|
||||
if (ICC)
|
||||
if (MSVC)
|
||||
set(QT_CFLAGS_SSE2 "-QxSSE2")
|
||||
set(QT_CFLAGS_SSE3 "-QxSSE3")
|
||||
set(QT_CFLAGS_SSSE3 "-QxSSSE3")
|
||||
set(QT_CFLAGS_SSE4_1 "-QxSSE4.1")
|
||||
set(QT_CFLAGS_SSE4_2 "-QxSSE4.2")
|
||||
set(QT_CFLAGS_AVX "-QxAVX")
|
||||
set(QT_CFLAGS_AVX2 "-QxCORE-AVX2")
|
||||
set(QT_CFLAGS_AVX512F "-QxCOMMON-AVX512")
|
||||
set(QT_CFLAGS_AVX512CD "-QxCOMMON-AVX512")
|
||||
set(QT_CFLAGS_AVX512ER "-QxMIC-AVX512")
|
||||
set(QT_CFLAGS_AVX512PF "-QxMIC-AVX512")
|
||||
set(QT_CFLAGS_AVX512DQ "-QxCORE-AVX512")
|
||||
set(QT_CFLAGS_AVX512BW "-QxCORE-AVX512")
|
||||
set(QT_CFLAGS_AVX512VL "-QxCORE-AVX512")
|
||||
set(QT_CFLAGS_F16C "${QT_CFLAGS_AVX2}")
|
||||
set(QT_CFLAGS_AESNI "-QxSSE2")
|
||||
set(QT_CFLAGS_RDRND "")
|
||||
set(QT_CFLAGS_RDSEED "")
|
||||
set(QT_CFLAGS_SHANI "-QxSSE4.2")
|
||||
else()
|
||||
set(QT_CFLAGS_SSE2 "-msse2")
|
||||
set(QT_CFLAGS_SSE3 "-msse3")
|
||||
set(QT_CFLAGS_SSSE3 "-mssse3")
|
||||
set(QT_CFLAGS_SSE4_1 "-msse4.1")
|
||||
set(QT_CFLAGS_SSE4_2 "-msse4.2")
|
||||
set(QT_CFLAGS_AVX "-march=core-avx")
|
||||
set(QT_CFLAGS_AVX2 "-march=core-avx2")
|
||||
set(QT_CFLAGS_AVX512F "-march=broadwell -xCOMMON-AVX512")
|
||||
set(QT_CFLAGS_AVX512CD "-march=broadwell -xCOMMON-AVX512")
|
||||
set(QT_CFLAGS_AVX512ER "-march=knl")
|
||||
set(QT_CFLAGS_AVX512PF "-march=knl")
|
||||
set(QT_CFLAGS_AVX512DQ "-march=skylake-avx512")
|
||||
set(QT_CFLAGS_AVX512BW "-march=skylake-avx512")
|
||||
set(QT_CFLAGS_AVX512VL "-march=skylake-avx512")
|
||||
set(QT_CFLAGS_AESNI "-maes")
|
||||
set(QT_CFLAGS_F16C "${QT_CFLAGS_AVX2}")
|
||||
set(QT_CFLAGS_RDRND "-mrdrnd")
|
||||
set(QT_CFLAGS_RDSEED "-mrdseed")
|
||||
set(QT_CFLAGS_SHANI "-msha")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# Fall through is important, so that more specific flags that might be missing are set by the
|
||||
# previous base cases.
|
||||
# This mirrors qmake's mkspecs QMAKE_CFLAGS_OPTIMIZE assignments (mostly).
|
||||
@ -148,7 +104,7 @@ if(GCC OR CLANG AND NOT WASM)
|
||||
endif()
|
||||
|
||||
# Flags that CMake might set, aka flags the compiler would see as valid values.
|
||||
if(GCC OR CLANG OR QCC OR ICC)
|
||||
if(GCC OR CLANG OR QCC)
|
||||
set(QT_CFLAGS_OPTIMIZE_VALID_VALUES "-O0" "-O1" "-O2" "-O3" "-Os" "-Oz")
|
||||
endif()
|
||||
|
||||
@ -184,16 +140,6 @@ if (QCC)
|
||||
set(QT_CFLAGS_OPTIMIZE_FULL "-O3")
|
||||
endif()
|
||||
|
||||
if(ICC)
|
||||
if(MSVC)
|
||||
set(QT_CFLAGS_OPTIMIZE_FULL "-O3")
|
||||
else()
|
||||
# Should inherit gcc base
|
||||
set(QT_CFLAGS_OPTIMIZE "-O2")
|
||||
set(QT_CFLAGS_OPTIMIZE_SIZE "-Os")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(WASM)
|
||||
set(QT_CFLAGS_OPTIMIZE "-O2")
|
||||
set(QT_CFLAGS_OPTIMIZE_FULL "-O3")
|
||||
|
@ -101,7 +101,7 @@ function(qt_internal_apply_gc_binaries target visibility)
|
||||
target_link_options("${target}" ${visibility} "${gc_sections_flag}")
|
||||
endif()
|
||||
|
||||
if((GCC OR CLANG OR ICC) AND NOT WASM AND NOT UIKIT AND NOT MSVC)
|
||||
if((GCC OR CLANG) AND NOT WASM AND NOT UIKIT AND NOT MSVC)
|
||||
set(split_sections_flags "-ffunction-sections" "-fdata-sections")
|
||||
endif()
|
||||
if(split_sections_flags)
|
||||
@ -161,8 +161,6 @@ function(qt_internal_set_exceptions_flags target exceptions_on)
|
||||
else()
|
||||
set(_flag "-fno-exceptions")
|
||||
endif()
|
||||
elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Intel")
|
||||
set(_flag "-fno-exceptions")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
@ -242,8 +240,6 @@ function(qt_enable_utf8_sources target)
|
||||
set(utf8_flags "")
|
||||
if(MSVC)
|
||||
list(APPEND utf8_flags "-utf-8")
|
||||
elseif(WIN32 AND ICC)
|
||||
list(APPEND utf8_flags "-Qoption,cpp,--unicode_source_kind,UTF-8")
|
||||
endif()
|
||||
|
||||
if(utf8_flags)
|
||||
|
@ -97,8 +97,7 @@ function(qt_internal_add_headers_clean_target
|
||||
"$<${compile_flags_exist_genex}:$<JOIN:${target_compile_flags_genex},;>>")
|
||||
|
||||
if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU"
|
||||
OR "${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang|IntelLLVM"
|
||||
OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "Intel")
|
||||
OR "${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang|IntelLLVM")
|
||||
# Turn on some extra warnings not found in -Wall -Wextra.
|
||||
|
||||
set(hcleanFLAGS -Wall -Wextra -Werror -Woverloaded-virtual -Wshadow -Wundef -Wfloat-equal
|
||||
@ -109,38 +108,25 @@ function(qt_internal_add_headers_clean_target
|
||||
list(APPEND hcleanFLAGS -fPIC)
|
||||
endif()
|
||||
|
||||
if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Intel")
|
||||
# these warnings are disabled because explicit constructors with zero or
|
||||
# multiple arguments are permitted in C++11:
|
||||
# 2304: non-explicit constructor with single argument may cause implicit type
|
||||
# conversion
|
||||
# 2305: declaration of 'explicit' constructor without a single argument is
|
||||
# redundant
|
||||
#
|
||||
# ICC 14+ has a bug with -Wshadow, emitting it for cases where there's no
|
||||
# shadowing (issue ID 0000698329, task DPD200245740)
|
||||
list(APPEND hcleanFLAGS -wd2304,2305 -Wshadow)
|
||||
else()
|
||||
# options accepted by GCC and Clang
|
||||
list(APPEND hcleanFLAGS -Wchar-subscripts -Wold-style-cast)
|
||||
# options accepted by GCC and Clang
|
||||
list(APPEND hcleanFLAGS -Wchar-subscripts -Wold-style-cast)
|
||||
|
||||
if (NOT ((TEST_architecture_arch STREQUAL arm)
|
||||
OR (TEST_architecture_arch STREQUAL mips)))
|
||||
list(APPEND hcleanFLAGS -Wcast-align)
|
||||
if (NOT ((TEST_architecture_arch STREQUAL arm)
|
||||
OR (TEST_architecture_arch STREQUAL mips)))
|
||||
list(APPEND hcleanFLAGS -Wcast-align)
|
||||
endif()
|
||||
|
||||
if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
|
||||
list(APPEND hcleanFLAGS -Wzero-as-null-pointer-constant)
|
||||
if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 4.5)
|
||||
list(APPEND hcleanFLAGS -Wdouble-promotion)
|
||||
endif()
|
||||
if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 4.9)
|
||||
list(APPEND hcleanFLAGS -Wfloat-conversion)
|
||||
|
||||
if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
|
||||
list(APPEND hcleanFLAGS -Wzero-as-null-pointer-constant)
|
||||
if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 4.5)
|
||||
list(APPEND hcleanFLAGS -Wdouble-promotion)
|
||||
endif()
|
||||
if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 4.9)
|
||||
list(APPEND hcleanFLAGS -Wfloat-conversion)
|
||||
|
||||
# GCC 9 has a lot of false positives relating to these
|
||||
list(APPEND hcleanFlags -Wno-deprecated-copy -Wno-redundant-move
|
||||
-Wno-format-overflow -Wno-init-list-lifetime)
|
||||
endif()
|
||||
# GCC 9 has a lot of false positives relating to these
|
||||
list(APPEND hcleanFlags -Wno-deprecated-copy -Wno-redundant-move
|
||||
-Wno-format-overflow -Wno-init-list-lifetime)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
|
@ -47,20 +47,6 @@ function(qt_internal_set_warnings_are_errors_flags target)
|
||||
if (ANDROID)
|
||||
list(APPEND flags -Wno-error=literal-suffix)
|
||||
endif()
|
||||
elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Intel")
|
||||
# Intel CC 13.0 +, on Linux only
|
||||
if (LINUX)
|
||||
if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL "13.0.0")
|
||||
# 177: function "entity" was declared but never referenced
|
||||
# (too aggressive; ICC reports even for functions created due to template instantiation)
|
||||
# 1224: #warning directive
|
||||
# 1478: function "entity" (declared at line N) was declared deprecated
|
||||
# 1786: function "entity" (declared at line N of "file") was declared deprecated ("message")
|
||||
# 1881: argument must be a constant null pointer value
|
||||
# (NULL in C++ is usually a literal 0)
|
||||
list(APPEND flags -Werror -ww177,1224,1478,1786,1881)
|
||||
endif()
|
||||
endif()
|
||||
elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC")
|
||||
# Only enable for versions of MSVC that are known to work
|
||||
# 1929 is Visual Studio 2019 version 16.0
|
||||
|
@ -32,7 +32,6 @@ qt_set01(MACOS APPLE AND NOT UIKIT)
|
||||
qt_set01(GCC CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
|
||||
qt_set01(CLANG CMAKE_CXX_COMPILER_ID MATCHES "Clang|IntelLLVM")
|
||||
qt_set01(APPLECLANG CMAKE_CXX_COMPILER_ID MATCHES "AppleClang")
|
||||
qt_set01(ICC CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
|
||||
qt_set01(IntelLLVM CMAKE_CXX_COMPILER_ID STREQUAL "IntelLLVM")
|
||||
qt_set01(QCC CMAKE_CXX_COMPILER_ID STREQUAL "QCC") # CMP0047
|
||||
|
||||
|
@ -724,10 +724,6 @@ QT_PATCH_VERSION = ${PROJECT_VERSION_PATCH}
|
||||
set(compiler_version_major_var_name "QT_GCC_MAJOR_VERSION")
|
||||
set(compiler_version_minor_var_name "QT_GCC_MINOR_VERSION")
|
||||
set(compiler_version_patch_var_name "QT_GCC_PATCH_VERSION")
|
||||
elseif(ICC)
|
||||
set(compiler_version_major_var_name "QT_ICC_MAJOR_VERSION")
|
||||
set(compiler_version_minor_var_name "QT_ICC_MINOR_VERSION")
|
||||
set(compiler_version_patch_var_name "QT_ICC_PATCH_VERSION")
|
||||
elseif(MSVC)
|
||||
set(compiler_version_major_var_name "QT_MSVC_MAJOR_VERSION")
|
||||
set(compiler_version_minor_var_name "QT_MSVC_MINOR_VERSION")
|
||||
|
@ -744,9 +744,6 @@ function(guess_compiler_from_mkspec)
|
||||
elseif(mkspec MATCHES "-clang(-|$)" AND NOT mkspec MATCHES "android")
|
||||
set(c_compiler "clang")
|
||||
set(cxx_compiler "clang++")
|
||||
elseif(mkspec MATCHES "-icc(-|$)")
|
||||
set(c_compiler "icc")
|
||||
set(cxx_compiler "icpc")
|
||||
elseif(mkspec MATCHES "-msvc(-|$)")
|
||||
set(c_compiler "cl")
|
||||
set(cxx_compiler "cl")
|
||||
|
@ -690,12 +690,6 @@ qt_internal_extend_target(Core CONDITION QT_FEATURE_std_atomic64
|
||||
WrapAtomic::WrapAtomic
|
||||
)
|
||||
|
||||
qt_internal_extend_target(Core CONDITION ICC
|
||||
COMPILE_OPTIONS
|
||||
-fp-model
|
||||
strict
|
||||
)
|
||||
|
||||
qt_internal_extend_target(Core CONDITION QT_FEATURE_system_zlib
|
||||
LIBRARIES
|
||||
WrapZLIB::WrapZLIB
|
||||
@ -776,7 +770,7 @@ qt_internal_extend_target(Core CONDITION QT_FEATURE_easingcurve
|
||||
tools/qtimeline.cpp tools/qtimeline.h
|
||||
)
|
||||
|
||||
qt_internal_extend_target(Core CONDITION UNIX AND NOT HAIKU AND NOT INTEGRITY AND NOT VXWORKS AND NOT WASM AND (NOT ICC OR NOT MACOS)
|
||||
qt_internal_extend_target(Core CONDITION UNIX AND NOT HAIKU AND NOT INTEGRITY AND NOT VXWORKS AND NOT WASM AND NOT MACOS
|
||||
LIBRARIES
|
||||
m
|
||||
)
|
||||
|
@ -111,7 +111,7 @@ qt_internal_extend_target(XcbQpaPrivate CONDITION QT_FEATURE_dlopen
|
||||
${CMAKE_DL_LIBS}
|
||||
)
|
||||
|
||||
qt_internal_extend_target(XcbQpaPrivate CONDITION CLANG AND NOT ICC
|
||||
qt_internal_extend_target(XcbQpaPrivate CONDITION CLANG
|
||||
COMPILE_OPTIONS
|
||||
-ftemplate-depth=1024
|
||||
)
|
||||
|
@ -13,14 +13,3 @@ qt_internal_add_test(tst_qnumeric
|
||||
|
||||
## Scopes:
|
||||
#####################################################################
|
||||
|
||||
qt_internal_extend_target(tst_qnumeric CONDITION ICC
|
||||
COMPILE_OPTIONS
|
||||
-fp-model
|
||||
strict
|
||||
)
|
||||
|
||||
qt_internal_extend_target(tst_qnumeric CONDITION intel_icl
|
||||
COMPILE_OPTIONS
|
||||
/fp:strict
|
||||
)
|
||||
|
@ -85,11 +85,11 @@ qt_internal_extend_target(tst_moc CONDITION CMAKE_CROSSCOMPILING
|
||||
MOC_CROSS_COMPILED
|
||||
)
|
||||
|
||||
if (UNIX AND (CLANG OR GCC OR ICC OR QCC))
|
||||
if (UNIX AND (CLANG OR GCC OR QCC))
|
||||
qt_wrap_cpp(os9_moc os9-newlines.h)
|
||||
endif()
|
||||
|
||||
qt_internal_extend_target(tst_moc CONDITION UNIX AND (CLANG OR GCC OR ICC OR QCC)
|
||||
qt_internal_extend_target(tst_moc CONDITION UNIX AND (CLANG OR GCC OR QCC)
|
||||
SOURCES
|
||||
os9-newlines.h
|
||||
win-newlines.h
|
||||
|
Loading…
x
Reference in New Issue
Block a user