summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitlab-ci.yml30
-rw-r--r--.gitlab/.gitignore1
-rw-r--r--.gitlab/ci/configure_windows_intelclassic_ninja.cmake1
-rw-r--r--.gitlab/ci/configure_windows_intelcompiler_common.cmake5
-rw-r--r--.gitlab/ci/configure_windows_inteloneapi_ninja.cmake1
-rwxr-xr-x.gitlab/ci/env_windows_intelclassic_ninja.ps19
-rwxr-xr-x.gitlab/ci/env_windows_inteloneapi_ninja.ps19
-rwxr-xr-x.gitlab/ci/intel-env.ps14
-rwxr-xr-x.gitlab/ci/intel-vars.ps19
-rwxr-xr-x.gitlab/ci/intel.ps142
-rw-r--r--.gitlab/os-windows.yml16
-rw-r--r--Tests/CompileFeatures/default_dialect.c3
-rw-r--r--Tests/RunCMake/RunCMake.cmake2
13 files changed, 130 insertions, 2 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index ac8e168432..6a4140661b 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1178,6 +1178,36 @@ t:windows-clang16.0-gnu-nmake:
CMAKE_CI_BUILD_NAME: windows_clang16.0_gnu_nmake
CMAKE_CI_JOB_NIGHTLY: "true"
+t:windows-intel2021.9.0-ninja:
+ extends:
+ - .windows_intelclassic_ninja
+ - .cmake_test_windows_external
+ - .windows_x86_64_tags_concurrent
+ - .cmake_junit_artifacts
+ - .run_dependent
+ dependencies:
+ - t:windows-vs2022-x64-ninja
+ needs:
+ - t:windows-vs2022-x64-ninja
+ variables:
+ CMAKE_CI_BUILD_NAME: windows_intel2021.9.0_ninja
+ CMAKE_CI_JOB_NIGHTLY: "true"
+
+t:windows-oneapi2023.1.0-ninja:
+ extends:
+ - .windows_inteloneapi_ninja
+ - .cmake_test_windows_external
+ - .windows_x86_64_tags_concurrent
+ - .cmake_junit_artifacts
+ - .run_dependent
+ dependencies:
+ - t:windows-vs2022-x64-ninja
+ needs:
+ - t:windows-vs2022-x64-ninja
+ variables:
+ CMAKE_CI_BUILD_NAME: windows_oneapi2023.1.0_ninja
+ CMAKE_CI_JOB_NIGHTLY: "true"
+
t:mingw_osdn_io-mingw_makefiles:
extends:
- .mingw_osdn_io_mingw_makefiles
diff --git a/.gitlab/.gitignore b/.gitlab/.gitignore
index 381d8fea96..852dfa64d8 100644
--- a/.gitlab/.gitignore
+++ b/.gitlab/.gitignore
@@ -2,6 +2,7 @@
/5.15.1-0-202009071110*
/bcc*
/cmake*
+/intel
/ispc*
/innosetup
/jom
diff --git a/.gitlab/ci/configure_windows_intelclassic_ninja.cmake b/.gitlab/ci/configure_windows_intelclassic_ninja.cmake
new file mode 100644
index 0000000000..c2d708baf3
--- /dev/null
+++ b/.gitlab/ci/configure_windows_intelclassic_ninja.cmake
@@ -0,0 +1 @@
+include("${CMAKE_CURRENT_LIST_DIR}/configure_windows_intelcompiler_common.cmake")
diff --git a/.gitlab/ci/configure_windows_intelcompiler_common.cmake b/.gitlab/ci/configure_windows_intelcompiler_common.cmake
new file mode 100644
index 0000000000..55dce1d3ed
--- /dev/null
+++ b/.gitlab/ci/configure_windows_intelcompiler_common.cmake
@@ -0,0 +1,5 @@
+set(CMake_TEST_Java OFF CACHE BOOL "")
+
+set(configure_no_sccache 1)
+
+include("${CMAKE_CURRENT_LIST_DIR}/configure_external_test.cmake")
diff --git a/.gitlab/ci/configure_windows_inteloneapi_ninja.cmake b/.gitlab/ci/configure_windows_inteloneapi_ninja.cmake
new file mode 100644
index 0000000000..c2d708baf3
--- /dev/null
+++ b/.gitlab/ci/configure_windows_inteloneapi_ninja.cmake
@@ -0,0 +1 @@
+include("${CMAKE_CURRENT_LIST_DIR}/configure_windows_intelcompiler_common.cmake")
diff --git a/.gitlab/ci/env_windows_intelclassic_ninja.ps1 b/.gitlab/ci/env_windows_intelclassic_ninja.ps1
new file mode 100755
index 0000000000..99f83b9cf1
--- /dev/null
+++ b/.gitlab/ci/env_windows_intelclassic_ninja.ps1
@@ -0,0 +1,9 @@
+. .gitlab/ci/ninja-env.ps1
+. .gitlab/ci/intel-env.ps1
+
+$env:CC = "icl"
+$env:CXX = "icl"
+$env:FC = "ifort"
+
+cmd /c "icl 2>&1" | Select -First 1
+cmd /c "ifort 2>&1" | Select -First 1
diff --git a/.gitlab/ci/env_windows_inteloneapi_ninja.ps1 b/.gitlab/ci/env_windows_inteloneapi_ninja.ps1
new file mode 100755
index 0000000000..3bd1d46b48
--- /dev/null
+++ b/.gitlab/ci/env_windows_inteloneapi_ninja.ps1
@@ -0,0 +1,9 @@
+. .gitlab/ci/ninja-env.ps1
+. .gitlab/ci/intel-env.ps1
+
+$env:CC = "icx"
+$env:CXX = "icx"
+$env:FC = "ifx"
+
+cmd /c "icx 2>&1" | Select -First 1
+cmd /c "ifx 2>&1" | Select -First 1
diff --git a/.gitlab/ci/intel-env.ps1 b/.gitlab/ci/intel-env.ps1
new file mode 100755
index 0000000000..75f7286381
--- /dev/null
+++ b/.gitlab/ci/intel-env.ps1
@@ -0,0 +1,4 @@
+$pwdpath = $pwd.Path
+& "$pwsh" -File ".gitlab/ci/intel.ps1"
+Invoke-Expression -Command .gitlab/ci/vcvarsall.ps1
+Invoke-Expression -Command .gitlab/ci/intel-vars.ps1
diff --git a/.gitlab/ci/intel-vars.ps1 b/.gitlab/ci/intel-vars.ps1
new file mode 100755
index 0000000000..dde0aa26ea
--- /dev/null
+++ b/.gitlab/ci/intel-vars.ps1
@@ -0,0 +1,9 @@
+$erroractionpreference = "stop"
+
+cmd /c "`".gitlab\intel\setvars.bat`" & set" |
+foreach {
+ if ($_ -match "=") {
+ $v = $_.split("=")
+ [Environment]::SetEnvironmentVariable($v[0], $v[1])
+ }
+}
diff --git a/.gitlab/ci/intel.ps1 b/.gitlab/ci/intel.ps1
new file mode 100755
index 0000000000..2262669d89
--- /dev/null
+++ b/.gitlab/ci/intel.ps1
@@ -0,0 +1,42 @@
+$erroractionpreference = "stop"
+
+if ("$env:CMAKE_CI_BUILD_NAME" -match "(^|_)(oneapi2023\.1\.0|intel2021\.9\.0)(_|$)") {
+ # Intel oneAPI 2023.1.0
+ $version = "2023.1.0"
+ $filename = "intel-oneapi-$version-windows-1"
+ $sha256sum = "5AFCA9E0B03894565209B1295476163ABEBB1F1388E0F3EF5B4D0F9189E65BDC"
+} else {
+ throw ('unknown CMAKE_CI_BUILD_NAME: ' + "$env:CMAKE_CI_BUILD_NAME")
+}
+$tarball = "$filename.zip"
+
+$outdir = $pwd.Path
+$outdir = "$outdir\.gitlab"
+$ProgressPreference = 'SilentlyContinue'
+# This URL is only visible inside of Kitware's network. See above filename table.
+Invoke-WebRequest -Uri "https://cmake.org/files/dependencies/internal/$tarball" -OutFile "$outdir\$tarball"
+$hash = Get-FileHash "$outdir\$tarball" -Algorithm SHA256
+if ($hash.Hash -ne $sha256sum) {
+ exit 1
+}
+
+Add-Type -AssemblyName System.IO.Compression.FileSystem
+[System.IO.Compression.ZipFile]::ExtractToDirectory("$outdir\$tarball", "$outdir")
+Move-Item -Path "$outdir\$filename" -Destination "$outdir\intel"
+Remove-Item "$outdir\$tarball"
+
+$compiler = "$outdir\intel\compiler"
+$bin = "$compiler\$version\windows\bin"
+$null = New-Item -ItemType Junction -Path "$compiler\latest" -Target "$compiler\$version"
+$null = New-Item -ItemType HardLink -Path "$bin\icx-cl.exe" -Target "$bin\icx.exe"
+$null = New-Item -ItemType HardLink -Path "$bin\icx-cc.exe" -Target "$bin\icx.exe"
+$null = New-Item -ItemType HardLink -Path "$bin\icpx.exe" -Target "$bin\icx.exe"
+$bin = "$compiler\$version\windows\bin-llvm"
+$null = New-Item -ItemType HardLink -Path "$bin\clang-cl.exe" -Target "$bin\clang.exe"
+$null = New-Item -ItemType HardLink -Path "$bin\clang-cpp.exe" -Target "$bin\clang.exe"
+$null = New-Item -ItemType HardLink -Path "$bin\clang++.exe" -Target "$bin\clang.exe"
+$null = New-Item -ItemType HardLink -Path "$bin\lld-link.exe" -Target "$bin\lld.exe"
+$null = New-Item -ItemType HardLink -Path "$bin\ld.lld.exe" -Target "$bin\lld.exe"
+$null = New-Item -ItemType HardLink -Path "$bin\llvm-lib.exe" -Target "$bin\llvm-ar.exe"
+Clear-Variable -Name bin
+Clear-Variable -Name compiler
diff --git a/.gitlab/os-windows.yml b/.gitlab/os-windows.yml
index f1e86ad3e5..07a479e045 100644
--- a/.gitlab/os-windows.yml
+++ b/.gitlab/os-windows.yml
@@ -222,6 +222,22 @@
variables:
CMAKE_CONFIGURATION: windows_msvc_v71_nmake
+.windows_intelclassic_ninja:
+ extends:
+ - .windows_ninja
+ - .windows_vcvarsall_vs2022_x64
+
+ variables:
+ CMAKE_CONFIGURATION: windows_intelclassic_ninja
+
+.windows_inteloneapi_ninja:
+ extends:
+ - .windows_ninja
+ - .windows_vcvarsall_vs2022_x64
+
+ variables:
+ CMAKE_CONFIGURATION: windows_inteloneapi_ninja
+
.windows_openwatcom:
extends: .windows
diff --git a/Tests/CompileFeatures/default_dialect.c b/Tests/CompileFeatures/default_dialect.c
index b990e53258..c696c83f3e 100644
--- a/Tests/CompileFeatures/default_dialect.c
+++ b/Tests/CompileFeatures/default_dialect.c
@@ -20,7 +20,8 @@
# error Buildsystem error
# endif
# if defined(__STDC_VERSION__) && \
- !(defined(__SUNPRO_C) && __STDC_VERSION__ == 199409L)
+ !(__STDC_VERSION__ == 199409L && \
+ (defined(__INTEL_COMPILER) || defined(__SUNPRO_C)))
# error Unexpected __STDC_VERSION__ definition
# endif
#endif
diff --git a/Tests/RunCMake/RunCMake.cmake b/Tests/RunCMake/RunCMake.cmake
index 8e85f6cf46..b8efe35e30 100644
--- a/Tests/RunCMake/RunCMake.cmake
+++ b/Tests/RunCMake/RunCMake.cmake
@@ -175,7 +175,7 @@ function(run_cmake test)
"|Your license to use PGI[^\n]*expired"
"|Please obtain a new version at"
"|contact PGI Sales at"
- "|icp?c: remark #10441: The Intel\\(R\\) C\\+\\+ Compiler Classic \\(ICC\\) is deprecated"
+ "|ic(p?c|l): remark #10441: The Intel\\(R\\) C\\+\\+ Compiler Classic \\(ICC\\) is deprecated"
"|[^\n]*install_name_tool: warning: changes being made to the file will invalidate the code signature in:"
"|[^\n]*xcodebuild[^\n]*DVTCoreDeviceEnabledState: DVTCoreDeviceEnabledState_Disabled set via user default"