Windows: Enable OpenMP on ARM64, and quiet new noisy warning

New versions of LLVM now ship with OpenMP for these devices, so enable accordingly.

The disabled warning was causing substantial spam in buildbot logs.

Pull Request: https://projects.blender.org/blender/blender/pulls/134583
This commit is contained in:
Anthony Roberts
2025-02-20 11:24:22 +01:00
parent d29ef95c3c
commit 8ff405bc06

View File

@@ -411,10 +411,17 @@ option(WITH_OPENMP "Enable OpenMP (has to be supported by the compiler)" ON)
if(UNIX AND NOT APPLE)
option(WITH_OPENMP_STATIC "Link OpenMP statically (only used by the release environment)" OFF)
mark_as_advanced(WITH_OPENMP_STATIC)
elseif(WIN32 AND CMAKE_C_COMPILER_ID MATCHES "Clang" AND CMAKE_SYSTEM_PROCESSOR STREQUAL "ARM64")
# At time of testing (LLVM 18.1.6) OMP is not included in public LLVM builds for Windows ARM64
set(WITH_OPENMP OFF)
set(WITH_OPENMP_STATIC OFF)
elseif(WIN32 AND CMAKE_C_COMPILER_ID MATCHES "Clang" AND CMAKE_SYSTEM_PROCESSOR STREQUAL "ARM64" AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 19.1)
# Prior to LLVM 19.1, OpenMP was not included in public LLVM builds for Windows ARM64
if(WITH_OPENMP)
if(WITH_STRICT_BUILD_OPTIONS)
message(SEND_ERROR "OpenMP enabled, but LLVM ${CMAKE_CXX_COMPILER_VERSION} detected, minimum of 19.1 required for OpenMP functionality")
else()
message(STATUS "Disabling OpenMP, LLVM ${CMAKE_CXX_COMPILER_VERSION} detected, minimum of 19.1 required for OpenMP functionality")
endif()
set(WITH_OPENMP OFF)
set(WITH_OPENMP_STATIC OFF)
endif()
endif()
if(WITH_GHOST_X11)
@@ -2228,6 +2235,8 @@ elseif(CMAKE_C_COMPILER_ID MATCHES "Clang")
# And some additional ones that came up when using LLVM 18.1.8 on Windows ARM64
C_WARN_CLANG_CL_SWITCH_DEFAULT -Wno-switch-default
C_WARN_CLANG_CL_NAN_INFINITY_DISABLED -Wno-nan-infinity-disabled
# And another from 19.1.5
C_WARN_CLANG_CL_PRE_C11_COMPAT -Wno-pre-c11-compat
)
add_check_cxx_compiler_flags(
@@ -2362,6 +2371,8 @@ elseif(CMAKE_C_COMPILER_ID MATCHES "Clang")
# And some additional ones that came up when using LLVM 18.1.8 on Windows ARM64
CXX_WARN_CLANG_CL_SWITCH_DEFAULT -Wno-switch-default
CXX_WARN_CLANG_CL_NAN_INFINITY_DISABLED -Wno-nan-infinity-disabled
# And another from 19.1.5
CXX_WARN_CLANG_CL_PRE_C11_COMPAT -Wno-pre-c11-compat
)
endif()