summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThiago Macieira <thiago.macieira@intel.com>2021-10-12 13:39:37 -0700
committerThiago Macieira <thiago.macieira@intel.com>2021-10-13 12:49:49 -0700
commitcb0ea3989598a83b2326f63e7da1669018a965e5 (patch)
tree7c2a85ef1ad971e2e653b986457117bf95e25c55
parent63d80c7c4b23b5802f1f20e6b322ccf4cdff5b12 (diff)
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>
-rw-r--r--cmake/QtBuild.cmake2
-rw-r--r--cmake/QtBuildInformation.cmake2
-rw-r--r--cmake/QtCompilerOptimization.cmake56
-rw-r--r--cmake/QtFlagHandlingHelpers.cmake6
-rw-r--r--cmake/QtHeadersClean.cmake50
-rw-r--r--cmake/QtInternalTargets.cmake14
-rw-r--r--cmake/QtPlatformSupport.cmake1
-rw-r--r--cmake/QtPriHelpers.cmake4
-rw-r--r--cmake/QtProcessConfigureArgs.cmake3
-rw-r--r--src/corelib/CMakeLists.txt8
-rw-r--r--src/plugins/platforms/xcb/CMakeLists.txt2
-rw-r--r--tests/auto/corelib/global/qnumeric/CMakeLists.txt11
-rw-r--r--tests/auto/tools/moc/CMakeLists.txt4
13 files changed, 24 insertions, 139 deletions
diff --git a/cmake/QtBuild.cmake b/cmake/QtBuild.cmake
index cf79f3d971..eff4cc9a26 100644
--- a/cmake/QtBuild.cmake
+++ b/cmake/QtBuild.cmake
@@ -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)
diff --git a/cmake/QtBuildInformation.cmake b/cmake/QtBuildInformation.cmake
index 81daae5f13..a3adf81094 100644
--- a/cmake/QtBuildInformation.cmake
+++ b/cmake/QtBuildInformation.cmake
@@ -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)
diff --git a/cmake/QtCompilerOptimization.cmake b/cmake/QtCompilerOptimization.cmake
index 69029a59de..f2ae3c3143 100644
--- a/cmake/QtCompilerOptimization.cmake
+++ b/cmake/QtCompilerOptimization.cmake
@@ -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")
diff --git a/cmake/QtFlagHandlingHelpers.cmake b/cmake/QtFlagHandlingHelpers.cmake
index 11d6a3933e..3558dd46ac 100644
--- a/cmake/QtFlagHandlingHelpers.cmake
+++ b/cmake/QtFlagHandlingHelpers.cmake
@@ -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)
diff --git a/cmake/QtHeadersClean.cmake b/cmake/QtHeadersClean.cmake
index f2596b4733..c2b83ccb48 100644
--- a/cmake/QtHeadersClean.cmake
+++ b/cmake/QtHeadersClean.cmake
@@ -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)
-
- if (NOT ((TEST_architecture_arch STREQUAL arm)
- OR (TEST_architecture_arch STREQUAL mips)))
- list(APPEND hcleanFLAGS -Wcast-align)
- endif()
+ # options accepted by GCC and Clang
+ list(APPEND hcleanFLAGS -Wchar-subscripts -Wold-style-cast)
- 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 (NOT ((TEST_architecture_arch STREQUAL arm)
+ OR (TEST_architecture_arch STREQUAL mips)))
+ list(APPEND hcleanFLAGS -Wcast-align)
+ 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()
+ 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()
endif()
diff --git a/cmake/QtInternalTargets.cmake b/cmake/QtInternalTargets.cmake
index 7bfa77d2b8..c4bc90247a 100644
--- a/cmake/QtInternalTargets.cmake
+++ b/cmake/QtInternalTargets.cmake
@@ -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
diff --git a/cmake/QtPlatformSupport.cmake b/cmake/QtPlatformSupport.cmake
index e4a33ab46f..11b316419a 100644
--- a/cmake/QtPlatformSupport.cmake
+++ b/cmake/QtPlatformSupport.cmake
@@ -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
diff --git a/cmake/QtPriHelpers.cmake b/cmake/QtPriHelpers.cmake
index ba7322ad03..8f7e3e9b86 100644
--- a/cmake/QtPriHelpers.cmake
+++ b/cmake/QtPriHelpers.cmake
@@ -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")
diff --git a/cmake/QtProcessConfigureArgs.cmake b/cmake/QtProcessConfigureArgs.cmake
index e9aa7d3259..6cb17c4e7d 100644
--- a/cmake/QtProcessConfigureArgs.cmake
+++ b/cmake/QtProcessConfigureArgs.cmake
@@ -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")
diff --git a/src/corelib/CMakeLists.txt b/src/corelib/CMakeLists.txt
index 1f760cbd3a..e1d63a34a0 100644
--- a/src/corelib/CMakeLists.txt
+++ b/src/corelib/CMakeLists.txt
@@ -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
)
diff --git a/src/plugins/platforms/xcb/CMakeLists.txt b/src/plugins/platforms/xcb/CMakeLists.txt
index 48c44a92ab..c73b2de73f 100644
--- a/src/plugins/platforms/xcb/CMakeLists.txt
+++ b/src/plugins/platforms/xcb/CMakeLists.txt
@@ -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
)
diff --git a/tests/auto/corelib/global/qnumeric/CMakeLists.txt b/tests/auto/corelib/global/qnumeric/CMakeLists.txt
index 0359af03ae..f86ddffc1d 100644
--- a/tests/auto/corelib/global/qnumeric/CMakeLists.txt
+++ b/tests/auto/corelib/global/qnumeric/CMakeLists.txt
@@ -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
-)
diff --git a/tests/auto/tools/moc/CMakeLists.txt b/tests/auto/tools/moc/CMakeLists.txt
index 228af5992e..44c9ee3fa9 100644
--- a/tests/auto/tools/moc/CMakeLists.txt
+++ b/tests/auto/tools/moc/CMakeLists.txt
@@ -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