From 1b7649604e5bd4ed870df631aa8a3468ad1d553b Mon Sep 17 00:00:00 2001 From: Brad King Date: Mon, 1 May 2023 14:44:11 -0400 Subject: Tests: Teach RunCMake to ignore Intel Classic deprecation on Windows Extend commit 29e45a94b0 (Tests: Teach RunCMake to ignore Intel Classic compiler deprecation warnings, 2022-10-03, v3.25.0-rc1~51^2~1) to cover warnings from `icl` too. --- Tests/RunCMake/RunCMake.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Tests/RunCMake/RunCMake.cmake b/Tests/RunCMake/RunCMake.cmake index 8e85f6c..b8efe35 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" -- cgit v0.12 From a5fd03a53dda9faf4d2ef9a6a276e0aa4b5bd323 Mon Sep 17 00:00:00 2001 From: Brad King Date: Mon, 1 May 2023 14:45:29 -0400 Subject: Tests: Teach CompileFeatures to tolerate __STDC_VERSION__ on Intel Classic --- Tests/CompileFeatures/default_dialect.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Tests/CompileFeatures/default_dialect.c b/Tests/CompileFeatures/default_dialect.c index b990e53..c696c83 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 -- cgit v0.12 From 1b44973343d8a61ee30cfe9dc94b3b3c838689c6 Mon Sep 17 00:00:00 2001 From: Brad King Date: Mon, 1 May 2023 14:01:22 -0400 Subject: gitlab-ci: Add job testing IntelLLVM 2023.1.0 compilers on Windows --- .gitlab-ci.yml | 15 ++++++++ .gitlab/.gitignore | 1 + .../configure_windows_intelcompiler_common.cmake | 5 +++ .../ci/configure_windows_inteloneapi_ninja.cmake | 1 + .gitlab/ci/env_windows_inteloneapi_ninja.ps1 | 9 +++++ .gitlab/ci/intel-env.ps1 | 4 +++ .gitlab/ci/intel-vars.ps1 | 9 +++++ .gitlab/ci/intel.ps1 | 42 ++++++++++++++++++++++ .gitlab/os-windows.yml | 8 +++++ 9 files changed, 94 insertions(+) create mode 100644 .gitlab/ci/configure_windows_intelcompiler_common.cmake create mode 100644 .gitlab/ci/configure_windows_inteloneapi_ninja.cmake create mode 100755 .gitlab/ci/env_windows_inteloneapi_ninja.ps1 create mode 100755 .gitlab/ci/intel-env.ps1 create mode 100755 .gitlab/ci/intel-vars.ps1 create mode 100755 .gitlab/ci/intel.ps1 diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index ac8e168..a2abf09 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1178,6 +1178,21 @@ t:windows-clang16.0-gnu-nmake: CMAKE_CI_BUILD_NAME: windows_clang16.0_gnu_nmake 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 381d8fe..852dfa6 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_intelcompiler_common.cmake b/.gitlab/ci/configure_windows_intelcompiler_common.cmake new file mode 100644 index 0000000..55dce1d --- /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 0000000..c2d708b --- /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_inteloneapi_ninja.ps1 b/.gitlab/ci/env_windows_inteloneapi_ninja.ps1 new file mode 100755 index 0000000..3bd1d46 --- /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 0000000..75f7286 --- /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 0000000..dde0aa2 --- /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 0000000..5051633 --- /dev/null +++ b/.gitlab/ci/intel.ps1 @@ -0,0 +1,42 @@ +$erroractionpreference = "stop" + +if ("$env:CMAKE_CI_BUILD_NAME" -match "(^|_)oneapi2023\.1\.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 f1e86ad..62542cc 100644 --- a/.gitlab/os-windows.yml +++ b/.gitlab/os-windows.yml @@ -222,6 +222,14 @@ variables: CMAKE_CONFIGURATION: windows_msvc_v71_nmake +.windows_inteloneapi_ninja: + extends: + - .windows_ninja + - .windows_vcvarsall_vs2022_x64 + + variables: + CMAKE_CONFIGURATION: windows_inteloneapi_ninja + .windows_openwatcom: extends: .windows -- cgit v0.12 From 195339e7ac605faad3cbd577a5c2a55672131d20 Mon Sep 17 00:00:00 2001 From: Brad King Date: Mon, 1 May 2023 14:02:07 -0400 Subject: gitlab-ci: Add job testing Intel 2021.9.0 compilers on Windows --- .gitlab-ci.yml | 15 +++++++++++++++ .gitlab/ci/configure_windows_intelclassic_ninja.cmake | 1 + .gitlab/ci/env_windows_intelclassic_ninja.ps1 | 9 +++++++++ .gitlab/ci/intel.ps1 | 2 +- .gitlab/os-windows.yml | 8 ++++++++ 5 files changed, 34 insertions(+), 1 deletion(-) create mode 100644 .gitlab/ci/configure_windows_intelclassic_ninja.cmake create mode 100755 .gitlab/ci/env_windows_intelclassic_ninja.ps1 diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index a2abf09..6a41406 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1178,6 +1178,21 @@ 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 diff --git a/.gitlab/ci/configure_windows_intelclassic_ninja.cmake b/.gitlab/ci/configure_windows_intelclassic_ninja.cmake new file mode 100644 index 0000000..c2d708b --- /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/env_windows_intelclassic_ninja.ps1 b/.gitlab/ci/env_windows_intelclassic_ninja.ps1 new file mode 100755 index 0000000..99f83b9 --- /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/intel.ps1 b/.gitlab/ci/intel.ps1 index 5051633..2262669 100755 --- a/.gitlab/ci/intel.ps1 +++ b/.gitlab/ci/intel.ps1 @@ -1,6 +1,6 @@ $erroractionpreference = "stop" -if ("$env:CMAKE_CI_BUILD_NAME" -match "(^|_)oneapi2023\.1\.0(_|$)") { +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" diff --git a/.gitlab/os-windows.yml b/.gitlab/os-windows.yml index 62542cc..07a479e 100644 --- a/.gitlab/os-windows.yml +++ b/.gitlab/os-windows.yml @@ -222,6 +222,14 @@ 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 -- cgit v0.12