From 6549019ae19cecbea524782054dca0e99cb833b8 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Thu, 7 Mar 2024 17:56:41 +1100 Subject: [PATCH] Cleanup: use STREQUAL instead of MATCHES for exact comparisons MATCHES takes a REGEX and searches the input for a match, this isn't necessary for CMAKE_SYSTEM_PROCESSOR & CMAKE_*_COMPILER_ID. --- CMakeLists.txt | 28 +++++++++---------- .../build_environment/cmake/flex.cmake | 2 +- .../build_environment/cmake/options.cmake | 2 +- build_files/cmake/macros.cmake | 16 +++++------ build_files/cmake/packaging.cmake | 2 +- .../cmake/platform/platform_apple.cmake | 4 +-- .../cmake/platform/platform_unix.cmake | 6 ++-- .../cmake/platform/platform_win32.cmake | 8 +++--- extern/CMakeLists.txt | 2 +- extern/bullet2/CMakeLists.txt | 2 +- extern/lzma/CMakeLists.txt | 2 +- extern/quadriflow/CMakeLists.txt | 2 +- extern/vulkan_memory_allocator/CMakeLists.txt | 2 +- intern/cycles/CMakeLists.txt | 10 +++---- intern/cycles/kernel/CMakeLists.txt | 4 +-- intern/ghost/CMakeLists.txt | 2 +- source/blender/imbuf/CMakeLists.txt | 2 +- .../blender/imbuf/intern/oiio/CMakeLists.txt | 2 +- source/blender/io/usd/CMakeLists.txt | 4 +-- source/blender/makesrna/intern/CMakeLists.txt | 4 +-- source/blender/render/hydra/CMakeLists.txt | 4 +-- source/creator/CMakeLists.txt | 2 +- 22 files changed, 56 insertions(+), 56 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index ea580075538..5e71bf3ce80 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -123,13 +123,13 @@ if(CMAKE_COMPILER_IS_GNUCC) The minimum supported version of GCC is 11.0.0, found ${CMAKE_C_COMPILER_VERSION}" ) endif() -elseif(CMAKE_C_COMPILER_ID MATCHES "Clang") +elseif(CMAKE_C_COMPILER_ID STREQUAL "Clang") if(CMAKE_COMPILER_IS_GNUCC AND ("${CMAKE_C_COMPILER_VERSION}" VERSION_LESS "8.0")) message(FATAL_ERROR "\ The minimum supported version of CLANG is 8.0, found ${CMAKE_C_COMPILER_VERSION}" ) endif() -elseif(CMAKE_CXX_COMPILER_ID MATCHES MSVC) +elseif(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC") if(MSVC_VERSION VERSION_LESS "1928") # MSVC_VERSION is an internal version number, it doesn't map to something # the end user would recognize as a version. Because of this, for MSVC we do @@ -645,7 +645,7 @@ mark_as_advanced(WITH_CYCLES_PRECOMPUTE) mark_as_advanced(CYCLES_TEST_DEVICES) # NVIDIA CUDA & OptiX -if(NOT APPLE AND NOT (WIN32 AND CMAKE_SYSTEM_PROCESSOR MATCHES ARM64)) +if(NOT APPLE AND NOT (WIN32 AND CMAKE_SYSTEM_PROCESSOR STREQUAL "ARM64")) option(WITH_CYCLES_DEVICE_CUDA "Enable Cycles NVIDIA CUDA compute support" ON) option(WITH_CYCLES_DEVICE_OPTIX "Enable Cycles NVIDIA OptiX support" ON) mark_as_advanced(WITH_CYCLES_DEVICE_CUDA) @@ -680,7 +680,7 @@ When set, this path will be used at runtime to compile OptiX kernels." endif() # AMD HIP -if(NOT APPLE AND NOT (WIN32 AND CMAKE_SYSTEM_PROCESSOR MATCHES ARM64)) +if(NOT APPLE AND NOT (WIN32 AND CMAKE_SYSTEM_PROCESSOR STREQUAL "ARM64")) option(WITH_CYCLES_DEVICE_HIP "Enable Cycles AMD HIP support" ON) option(WITH_CYCLES_HIP_BINARIES "Build Cycles AMD HIP binaries" OFF) # Radeon VII (gfx906) not currently working with HIP SDK, so left out of the list. @@ -707,7 +707,7 @@ if(APPLE) endif() # oneAPI -if(NOT APPLE AND NOT (WIN32 AND CMAKE_SYSTEM_PROCESSOR MATCHES ARM64)) +if(NOT APPLE AND NOT (WIN32 AND CMAKE_SYSTEM_PROCESSOR STREQUAL "ARM64")) option(WITH_CYCLES_DEVICE_ONEAPI "Enable Cycles oneAPI compute support" OFF) option(WITH_CYCLES_ONEAPI_BINARIES "\ Enable Ahead-Of-Time compilation for Cycles oneAPI device" @@ -913,7 +913,7 @@ if(UNIX) option(WITH_LINKER_GOLD "Use ld.gold linker which is usually faster than ld.bfd" ON) mark_as_advanced(WITH_LINKER_GOLD) endif() - if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_C_COMPILER_ID MATCHES "Clang") + if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_C_COMPILER_ID STREQUAL "Clang") option(WITH_LINKER_LLD "Use ld.lld linker which is usually faster than ld.gold" OFF) mark_as_advanced(WITH_LINKER_LLD) option(WITH_LINKER_MOLD "Use ld.mold linker which is usually faster than ld.gold & ld.lld" OFF) @@ -933,7 +933,7 @@ Can cause linking issues due to too large binary size." ) mark_as_advanced(WITH_COMPILER_ASAN_EXTERN) -if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_C_COMPILER_ID MATCHES "Clang") +if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_C_COMPILER_ID STREQUAL "Clang") if(WITH_COMPILER_ASAN) set(_asan_defaults "\ -fsanitize=address \ @@ -1008,7 +1008,7 @@ if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_C_COMPILER_ID MATCHES "Clang") endif() endif() -if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_C_COMPILER_ID MATCHES "Clang") +if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_C_COMPILER_ID STREQUAL "Clang") option(WITH_COMPILER_SHORT_FILE_MACRO "\ Make paths in macros like __FILE__ relative to top level source and build directories." ON @@ -1941,7 +1941,7 @@ if(CMAKE_COMPILER_IS_GNUCC) ) endif() -elseif(CMAKE_C_COMPILER_ID MATCHES "Clang") +elseif(CMAKE_C_COMPILER_ID STREQUAL "Clang") add_check_c_compiler_flags( C_WARNINGS @@ -2049,7 +2049,7 @@ elseif(CMAKE_C_COMPILER_ID MATCHES "Clang") CXX_WARN_NO_UNDEF_PREFIX -Wno-undef-prefix ) -elseif(CMAKE_C_COMPILER_ID MATCHES "Intel") +elseif(CMAKE_C_COMPILER_ID STREQUAL "Intel") add_check_c_compiler_flags( C_WARNINGS @@ -2070,7 +2070,7 @@ elseif(CMAKE_C_COMPILER_ID MATCHES "Intel") # Disable numbered, false positives. string(APPEND C_WARNINGS " -wd188,186,144,913,556,858,597,177,1292,167,279,592,94,2722,3199") string(APPEND CXX_WARNINGS " -wd188,186,144,913,556,858,597,177,1292,167,279,592,94,2722,3199") -elseif(CMAKE_C_COMPILER_ID MATCHES "MSVC") +elseif(CMAKE_C_COMPILER_ID STREQUAL "MSVC") # most msvc warnings are C & C++ set(_WARNINGS # warning level: @@ -2164,7 +2164,7 @@ set(CMAKE_CXX_EXTENSIONS OFF) # This is because sse2neon requires it. if(MSVC) string(APPEND CMAKE_CXX_FLAGS " /Zc:__cplusplus") - if(CMAKE_SYSTEM_PROCESSOR MATCHES ARM64) + if(CMAKE_SYSTEM_PROCESSOR STREQUAL "ARM64") string(APPEND CMAKE_CXX_FLAGS " /Zc:preprocessor") string(APPEND CMAKE_C_FLAGS " /Zc:preprocessor") endif() @@ -2174,8 +2174,8 @@ endif() # Clang on windows copies this behavior and does not support these switches if( CMAKE_COMPILER_IS_GNUCC OR - (CMAKE_C_COMPILER_ID MATCHES "Clang" AND (NOT MSVC)) OR - (CMAKE_C_COMPILER_ID MATCHES "Intel") + (CMAKE_C_COMPILER_ID STREQUAL "Clang" AND (NOT MSVC)) OR + (CMAKE_C_COMPILER_ID STREQUAL "Intel") ) # Use C11 + GNU extensions, works with GCC, Clang, ICC string(APPEND CMAKE_C_FLAGS " -std=gnu11") diff --git a/build_files/build_environment/cmake/flex.cmake b/build_files/build_environment/cmake/flex.cmake index 626689d7d74..6c55206ea49 100644 --- a/build_files/build_environment/cmake/flex.cmake +++ b/build_files/build_environment/cmake/flex.cmake @@ -3,7 +3,7 @@ # SPDX-License-Identifier: GPL-2.0-or-later # Generated configuration files use an old `aclocal-1.15` on RockyLinux8. -if(CMAKE_SYSTEM_NAME MATCHES "Linux") +if(CMAKE_SYSTEM_NAME STREQUAL "Linux") set(_autoconf_cmd_optional ./autogen.sh &&) else() set(_autoconf_cmd_optional) diff --git a/build_files/build_environment/cmake/options.cmake b/build_files/build_environment/cmake/options.cmake index 1073fa50cd8..47bf54338fb 100644 --- a/build_files/build_environment/cmake/options.cmake +++ b/build_files/build_environment/cmake/options.cmake @@ -41,7 +41,7 @@ message("PATCH_DIR = ${PATCH_DIR}") message("BUILD_DIR = ${BUILD_DIR}") if(WIN32) - if(CMAKE_SYSTEM_PROCESSOR MATCHES ARM64) + if(CMAKE_SYSTEM_PROCESSOR STREQUAL "ARM64") set(BLENDER_PLATFORM_ARM ON) set(BLENDER_PLATFORM_WINDOWS_ARM ON) endif() diff --git a/build_files/cmake/macros.cmake b/build_files/cmake/macros.cmake index 7737e4989fd..9edde52d0fb 100644 --- a/build_files/cmake/macros.cmake +++ b/build_files/cmake/macros.cmake @@ -542,7 +542,7 @@ macro(TEST_SSE_SUPPORT include(CheckCSourceRuns) # message(STATUS "Detecting SSE support") - if(CMAKE_COMPILER_IS_GNUCC OR (CMAKE_C_COMPILER_ID MATCHES "Clang")) + if(CMAKE_COMPILER_IS_GNUCC OR (CMAKE_C_COMPILER_ID STREQUAL "Clang")) set(${_sse_flags} "-msse") set(${_sse2_flags} "-msse2") elseif(MSVC) @@ -554,7 +554,7 @@ macro(TEST_SSE_SUPPORT set(${_sse_flags} "/arch:SSE") set(${_sse2_flags} "/arch:SSE2") endif() - elseif(CMAKE_C_COMPILER_ID MATCHES "Intel") + elseif(CMAKE_C_COMPILER_ID STREQUAL "Intel") set(${_sse_flags} "") # icc defaults to -msse set(${_sse2_flags} "") # icc defaults to -msse2 else() @@ -679,7 +679,7 @@ macro(remove_strict_flags) add_cxx_flag("${CXX_REMOVE_STRICT_FLAGS}") endif() - if(CMAKE_C_COMPILER_ID MATCHES "Clang") + if(CMAKE_C_COMPILER_ID STREQUAL "Clang") remove_cc_flag( "-Wunused-parameter" "-Wunused-variable" @@ -710,7 +710,7 @@ macro(remove_extra_strict_flags) ) endif() - if(CMAKE_C_COMPILER_ID MATCHES "Clang") + if(CMAKE_C_COMPILER_ID STREQUAL "Clang") remove_cc_flag( "-Wunused-parameter" ) @@ -731,7 +731,7 @@ macro(remove_strict_c_flags_file filenames) foreach(_SOURCE ${ARGV}) if(CMAKE_COMPILER_IS_GNUCC OR - (CMAKE_C_COMPILER_ID MATCHES "Clang")) + (CMAKE_C_COMPILER_ID STREQUAL "Clang")) set_source_files_properties( ${_SOURCE} PROPERTIES COMPILE_FLAGS "${C_REMOVE_STRICT_FLAGS}" @@ -749,7 +749,7 @@ macro(remove_strict_cxx_flags_file remove_strict_c_flags_file(${filenames} ${ARHV}) foreach(_SOURCE ${ARGV}) if(CMAKE_COMPILER_IS_GNUCC OR - (CMAKE_CXX_COMPILER_ID MATCHES "Clang")) + (CMAKE_CXX_COMPILER_ID STREQUAL "Clang")) set_source_files_properties( ${_SOURCE} PROPERTIES COMPILE_FLAGS "${CXX_REMOVE_STRICT_FLAGS}" @@ -765,8 +765,8 @@ endmacro() # External libs may need 'signed char' to be default. macro(remove_cc_flag_unsigned_char) if(CMAKE_COMPILER_IS_GNUCC OR - (CMAKE_C_COMPILER_ID MATCHES "Clang") OR - (CMAKE_C_COMPILER_ID MATCHES "Intel")) + (CMAKE_C_COMPILER_ID STREQUAL "Clang") OR + (CMAKE_C_COMPILER_ID STREQUAL "Intel")) remove_cc_flag("-funsigned-char") elseif(MSVC) remove_cc_flag("/J") diff --git a/build_files/cmake/packaging.cmake b/build_files/cmake/packaging.cmake index 4ed6b5a91a3..fd26f77cd4b 100644 --- a/build_files/cmake/packaging.cmake +++ b/build_files/cmake/packaging.cmake @@ -62,7 +62,7 @@ else() set(CPACK_PACKAGE_FILE_NAME ${PROJECT_NAME_LOWER}-${MAJOR_VERSION}.${MINOR_VERSION}.${PATCH_VERSION}-git${CPACK_DATE}.${BUILD_REV}-${PACKAGE_ARCH}) endif() -if(CMAKE_SYSTEM_NAME MATCHES "Linux") +if(CMAKE_SYSTEM_NAME STREQUAL "Linux") # RPM packages include(build_files/cmake/RpmBuild.cmake) if(RPMBUILD_FOUND) diff --git a/build_files/cmake/platform/platform_apple.cmake b/build_files/cmake/platform/platform_apple.cmake index 2e381d33f8c..e0fe8bb9722 100644 --- a/build_files/cmake/platform/platform_apple.cmake +++ b/build_files/cmake/platform/platform_apple.cmake @@ -350,7 +350,7 @@ endif() # CMake FindOpenMP doesn't know about AppleClang before 3.12, so provide custom flags. if(WITH_OPENMP) - if(CMAKE_C_COMPILER_ID MATCHES "Clang") + if(CMAKE_C_COMPILER_ID STREQUAL "Clang") # Use OpenMP from our precompiled libraries. message(STATUS "Using ${LIBDIR}/openmp for OpenMP") set(OPENMP_CUSTOM ON) @@ -408,7 +408,7 @@ set(CMAKE_CXX_FLAGS_DEBUG "-g") if(CMAKE_OSX_ARCHITECTURES MATCHES "x86_64" OR CMAKE_OSX_ARCHITECTURES MATCHES "i386") set(CMAKE_CXX_FLAGS_RELEASE "-O2 -mdynamic-no-pic -msse -msse2 -msse3 -mssse3") set(CMAKE_C_FLAGS_RELEASE "-O2 -mdynamic-no-pic -msse -msse2 -msse3 -mssse3") - if(NOT CMAKE_C_COMPILER_ID MATCHES "Clang") + if(NOT CMAKE_C_COMPILER_ID STREQUAL "Clang") string(APPEND CMAKE_C_FLAGS_RELEASE " -ftree-vectorize -fvariable-expansion-in-unroller") string(APPEND CMAKE_CXX_FLAGS_RELEASE " -ftree-vectorize -fvariable-expansion-in-unroller") endif() diff --git a/build_files/cmake/platform/platform_unix.cmake b/build_files/cmake/platform/platform_unix.cmake index 28759c49d58..f2dcfd0b7e3 100644 --- a/build_files/cmake/platform/platform_unix.cmake +++ b/build_files/cmake/platform/platform_unix.cmake @@ -649,7 +649,7 @@ if(CMAKE_DL_LIBS) list(APPEND PLATFORM_LINKLIBS ${CMAKE_DL_LIBS}) endif() -if(CMAKE_SYSTEM_NAME MATCHES "Linux") +if(CMAKE_SYSTEM_NAME STREQUAL "Linux") if(NOT WITH_PYTHON_MODULE) # binreloc is linux only set(BINRELOC_INCLUDE_DIRS ${CMAKE_SOURCE_DIR}/extern/binreloc/include) @@ -997,7 +997,7 @@ if(CMAKE_COMPILER_IS_GNUCC) endif() # CLang is the same as GCC for now. -elseif(CMAKE_C_COMPILER_ID MATCHES "Clang") +elseif(CMAKE_C_COMPILER_ID STREQUAL "Clang") set(PLATFORM_CFLAGS "-pipe -fPIC -funsigned-char -fno-strict-aliasing -ffp-contract=off") if(WITH_LINKER_MOLD AND _IS_LINKER_DEFAULT) @@ -1043,7 +1043,7 @@ elseif(CMAKE_C_COMPILER_ID MATCHES "Clang") endif() # Intel C++ Compiler -elseif(CMAKE_C_COMPILER_ID MATCHES "Intel") +elseif(CMAKE_C_COMPILER_ID STREQUAL "Intel") # think these next two are broken find_program(XIAR xiar) if(XIAR) diff --git a/build_files/cmake/platform/platform_win32.cmake b/build_files/cmake/platform/platform_win32.cmake index acd8c2409b8..70e956d4ece 100644 --- a/build_files/cmake/platform/platform_win32.cmake +++ b/build_files/cmake/platform/platform_win32.cmake @@ -10,7 +10,7 @@ if(NOT MSVC) message(FATAL_ERROR "Compiler is unsupported") endif() -if(CMAKE_C_COMPILER_ID MATCHES "Clang") +if(CMAKE_C_COMPILER_ID STREQUAL "Clang") set(MSVC_CLANG ON) set(VC_TOOLS_DIR $ENV{VCToolsRedistDir} CACHE STRING "Location of the msvc redistributables") set(MSVC_REDIST_DIR ${VC_TOOLS_DIR}) @@ -265,7 +265,7 @@ set(PLATFORM_LINKFLAGS_RELEASE "${PLATFORM_LINKFLAGS} ${PDB_INFO_OVERRIDE_LINKER string(APPEND CMAKE_STATIC_LINKER_FLAGS " /ignore:4221") if(CMAKE_CL_64) - if(CMAKE_SYSTEM_PROCESSOR MATCHES ARM64) + if(CMAKE_SYSTEM_PROCESSOR STREQUAL "ARM64") string(PREPEND PLATFORM_LINKFLAGS "/MACHINE:ARM64 ") else() string(PREPEND PLATFORM_LINKFLAGS "/MACHINE:X64 ") @@ -278,7 +278,7 @@ if(NOT DEFINED LIBDIR) # Setup 64bit and 64bit windows systems if(CMAKE_CL_64) message(STATUS "64 bit compiler detected.") - if(CMAKE_SYSTEM_PROCESSOR MATCHES ARM64) + if(CMAKE_SYSTEM_PROCESSOR STREQUAL "ARM64") set(LIBDIR_BASE "windows_arm64") else() set(LIBDIR_BASE "windows_x64") @@ -636,7 +636,7 @@ if(NOT WITH_WINDOWS_FIND_MODULES) if(NOT BOOST_VERSION) message(FATAL_ERROR "Unable to determine Boost version") endif() - if(CMAKE_SYSTEM_PROCESSOR MATCHES ARM64) + if(CMAKE_SYSTEM_PROCESSOR STREQUAL "ARM64") set(BOOST_POSTFIX "vc143-mt-a64-${BOOST_VERSION}") set(BOOST_DEBUG_POSTFIX "vc143-mt-gyd-a64-${BOOST_VERSION}") set(BOOST_PREFIX "") diff --git a/extern/CMakeLists.txt b/extern/CMakeLists.txt index 30842f32441..3c727446836 100644 --- a/extern/CMakeLists.txt +++ b/extern/CMakeLists.txt @@ -14,7 +14,7 @@ if(CMAKE_COMPILER_IS_GNUCC) remove_cc_flag( "-Wmisleading-indentation" ) -elseif(CMAKE_C_COMPILER_ID MATCHES "Clang") +elseif(CMAKE_C_COMPILER_ID STREQUAL "Clang") remove_cc_flag( "-Weverything" ) diff --git a/extern/bullet2/CMakeLists.txt b/extern/bullet2/CMakeLists.txt index 6f90869d990..63a49231eb6 100644 --- a/extern/bullet2/CMakeLists.txt +++ b/extern/bullet2/CMakeLists.txt @@ -3,7 +3,7 @@ # SPDX-License-Identifier: GPL-2.0-or-later # avoid noisy warnings -if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_C_COMPILER_ID MATCHES "Clang") +if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_C_COMPILER_ID STREQUAL "Clang") remove_cc_flag( "-Wall" ) diff --git a/extern/lzma/CMakeLists.txt b/extern/lzma/CMakeLists.txt index fdee58401df..d73b4a6605e 100644 --- a/extern/lzma/CMakeLists.txt +++ b/extern/lzma/CMakeLists.txt @@ -3,7 +3,7 @@ # SPDX-License-Identifier: GPL-2.0-or-later # avoid noisy warnings -if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_C_COMPILER_ID MATCHES "Clang") +if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_C_COMPILER_ID STREQUAL "Clang") add_c_flag( "-Wno-self-assign" ) diff --git a/extern/quadriflow/CMakeLists.txt b/extern/quadriflow/CMakeLists.txt index d918fbfe950..b363e3cfc13 100644 --- a/extern/quadriflow/CMakeLists.txt +++ b/extern/quadriflow/CMakeLists.txt @@ -3,7 +3,7 @@ # SPDX-License-Identifier: GPL-2.0-or-later # avoid noisy warnings -if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_C_COMPILER_ID MATCHES "Clang") +if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_C_COMPILER_ID STREQUAL "Clang") add_c_flag( "-Wno-unused-result" ) diff --git a/extern/vulkan_memory_allocator/CMakeLists.txt b/extern/vulkan_memory_allocator/CMakeLists.txt index cc3220695e0..b6af2238009 100644 --- a/extern/vulkan_memory_allocator/CMakeLists.txt +++ b/extern/vulkan_memory_allocator/CMakeLists.txt @@ -27,7 +27,7 @@ set(LIB blender_add_lib(extern_vulkan_memory_allocator "${SRC}" "${INC}" "${INC_SYS}" "${LIB}") -if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_C_COMPILER_ID MATCHES "Clang") +if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_C_COMPILER_ID STREQUAL "Clang") target_compile_options(extern_vulkan_memory_allocator PRIVATE "-Wno-nullability-completeness" ) diff --git a/intern/cycles/CMakeLists.txt b/intern/cycles/CMakeLists.txt index 9080ff2be44..9f4a18efef5 100644 --- a/intern/cycles/CMakeLists.txt +++ b/intern/cycles/CMakeLists.txt @@ -77,7 +77,7 @@ elseif(NOT WITH_CPU_SIMD OR (SUPPORT_NEON_BUILD AND SSE2NEON_FOUND)) set(CXX_HAS_SSE42 FALSE) set(CXX_HAS_AVX FALSE) set(CXX_HAS_AVX2 FALSE) -elseif(WIN32 AND MSVC AND NOT CMAKE_CXX_COMPILER_ID MATCHES "Clang") +elseif(WIN32 AND MSVC AND NOT CMAKE_CXX_COMPILER_ID STREQUAL "Clang") set(CXX_HAS_SSE42 TRUE) set(CXX_HAS_AVX TRUE) set(CXX_HAS_AVX2 TRUE) @@ -116,7 +116,7 @@ elseif(WIN32 AND MSVC AND NOT CMAKE_CXX_COMPILER_ID MATCHES "Clang") string(APPEND CMAKE_CXX_FLAGS_RELEASE " /Ox") string(APPEND CMAKE_CXX_FLAGS_RELWITHDEBINFO " /Ox") string(APPEND CMAKE_CXX_FLAGS_MINSIZEREL " /Ox") -elseif(CMAKE_COMPILER_IS_GNUCC OR (CMAKE_CXX_COMPILER_ID MATCHES "Clang")) +elseif(CMAKE_COMPILER_IS_GNUCC OR (CMAKE_CXX_COMPILER_ID STREQUAL "Clang")) check_cxx_compiler_flag(-msse4.2 CXX_HAS_SSE42) check_cxx_compiler_flag(-mavx CXX_HAS_AVX) check_cxx_compiler_flag(-mavx2 CXX_HAS_AVX2) @@ -150,7 +150,7 @@ elseif(CMAKE_COMPILER_IS_GNUCC OR (CMAKE_CXX_COMPILER_ID MATCHES "Clang")) string(APPEND CMAKE_CXX_FLAGS " ${CYCLES_KERNEL_FLAGS}") endif() -elseif(WIN32 AND CMAKE_CXX_COMPILER_ID MATCHES "Intel") +elseif(WIN32 AND CMAKE_CXX_COMPILER_ID STREQUAL "Intel") check_cxx_compiler_flag(/QxSSE4.2 CXX_HAS_SSE42) check_cxx_compiler_flag(/arch:AVX CXX_HAS_AVX) check_cxx_compiler_flag(/QxCORE-AVX2 CXX_HAS_AVX2) @@ -162,7 +162,7 @@ elseif(WIN32 AND CMAKE_CXX_COMPILER_ID MATCHES "Intel") set(CYCLES_AVX2_KERNEL_FLAGS "/QxCORE-AVX2") endif() endif() -elseif(CMAKE_CXX_COMPILER_ID MATCHES "Intel") +elseif(CMAKE_CXX_COMPILER_ID STREQUAL "Intel") check_cxx_compiler_flag(-xsse4.2 CXX_HAS_SSE42) check_cxx_compiler_flag(-xavx CXX_HAS_AVX) check_cxx_compiler_flag(-xcore-avx2 CXX_HAS_AVX2) @@ -398,7 +398,7 @@ else() endif() # Warnings -if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_C_COMPILER_ID MATCHES "Clang") +if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_C_COMPILER_ID STREQUAL "Clang") add_check_cxx_compiler_flags( CMAKE_CXX_FLAGS _has_no_error_unused_macros "-Wno-error=unused-macros" diff --git a/intern/cycles/kernel/CMakeLists.txt b/intern/cycles/kernel/CMakeLists.txt index 8ef143c69bb..3deccd425df 100644 --- a/intern/cycles/kernel/CMakeLists.txt +++ b/intern/cycles/kernel/CMakeLists.txt @@ -1152,7 +1152,7 @@ if(WITH_COMPILER_ASAN) # GCC hangs compiling the big kernel files with asan and release, so disable by default. string(APPEND CMAKE_CXX_FLAGS_RELWITHDEBINFO " -fno-sanitize=all") string(APPEND CMAKE_CXX_FLAGS_DEBUG " -fno-sanitize=vptr") - elseif(CMAKE_C_COMPILER_ID MATCHES "Clang") + elseif(CMAKE_C_COMPILER_ID STREQUAL "Clang") # With OSL, Cycles disables rtti in some modules, which then breaks at linking # when trying to use vptr sanitizer (included into 'undefined' general option). string(APPEND CMAKE_CXX_FLAGS_RELWITHDEBINFO " -fno-sanitize=vptr") @@ -1171,7 +1171,7 @@ if(CXX_HAS_AVX2) endif() # Warnings to avoid using doubles in the kernel. -if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_C_COMPILER_ID MATCHES "Clang") +if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_C_COMPILER_ID STREQUAL "Clang") add_check_cxx_compiler_flags( CMAKE_CXX_FLAGS _has_cxxflag_float_conversion "-Werror=float-conversion" diff --git a/intern/ghost/CMakeLists.txt b/intern/ghost/CMakeLists.txt index 92e7cbf1617..05abc77e92e 100644 --- a/intern/ghost/CMakeLists.txt +++ b/intern/ghost/CMakeLists.txt @@ -382,7 +382,7 @@ elseif(WITH_GHOST_X11 OR WITH_GHOST_WAYLAND) DEPENDS ${INC_DST}/${_name}-client-protocol.h ) - if(CMAKE_C_COMPILER_ID MATCHES "Clang") + if(CMAKE_C_COMPILER_ID STREQUAL "Clang") # Prevent warnings/failure to compile with generated `WL_PRIVATE` declarations. set_source_files_properties( "${INC_DST}/${_name}-client-protocol.c" diff --git a/source/blender/imbuf/CMakeLists.txt b/source/blender/imbuf/CMakeLists.txt index 4c179a88941..c02870489f3 100644 --- a/source/blender/imbuf/CMakeLists.txt +++ b/source/blender/imbuf/CMakeLists.txt @@ -103,7 +103,7 @@ endif() # Keep until APPLE/ARM libraries are updated. if(APPLE OR WIN32) - if(CMAKE_OSX_ARCHITECTURES MATCHES arm64 OR CMAKE_SYSTEM_PROCESSOR MATCHES ARM64) + if(CMAKE_OSX_ARCHITECTURES MATCHES arm64 OR CMAKE_SYSTEM_PROCESSOR STREQUAL "ARM64") list(APPEND INC_SYS ${IMATH_INCLUDE_DIRS} ) diff --git a/source/blender/imbuf/intern/oiio/CMakeLists.txt b/source/blender/imbuf/intern/oiio/CMakeLists.txt index ed1fa1a0604..e14110196ab 100644 --- a/source/blender/imbuf/intern/oiio/CMakeLists.txt +++ b/source/blender/imbuf/intern/oiio/CMakeLists.txt @@ -46,7 +46,7 @@ endif() # Keep until APPLE/ARM libraries are updated. if(APPLE OR WIN32) - if(CMAKE_OSX_ARCHITECTURES MATCHES arm64 OR CMAKE_SYSTEM_PROCESSOR MATCHES ARM64) + if(CMAKE_OSX_ARCHITECTURES MATCHES arm64 OR CMAKE_SYSTEM_PROCESSOR STREQUAL "ARM64") list(APPEND INC_SYS ${IMATH_INCLUDE_DIRS} ) diff --git a/source/blender/io/usd/CMakeLists.txt b/source/blender/io/usd/CMakeLists.txt index d2c0c9a3183..eaf2944ecbf 100644 --- a/source/blender/io/usd/CMakeLists.txt +++ b/source/blender/io/usd/CMakeLists.txt @@ -18,7 +18,7 @@ add_definitions(-DBOOST_ALL_NO_LIB) # which lead to an incompatible ABI for Clang. Using those extensions with # Clang as well works around the issue. if(UNIX AND NOT APPLE) - if(CMAKE_C_COMPILER_ID MATCHES "Clang") + if(CMAKE_C_COMPILER_ID STREQUAL "Clang") if(DEFINED LIBDIR) add_definitions(-DARCH_HAS_GNU_STL_EXTENSIONS) endif() @@ -52,7 +52,7 @@ if(WIN32) # warning alert. # Silence them by restore warn C4100 back to w4 remove_cc_flag("/w34100") - if(CMAKE_SYSTEM_PROCESSOR MATCHES ARM64) + if(CMAKE_SYSTEM_PROCESSOR STREQUAL "ARM64") # USD currently does not support the new preprocessor, # and does not use sse2neon, so we can remove it here remove_cc_flag("/Zc:preprocessor") diff --git a/source/blender/makesrna/intern/CMakeLists.txt b/source/blender/makesrna/intern/CMakeLists.txt index 3d1540c5a8e..b20b555ec02 100644 --- a/source/blender/makesrna/intern/CMakeLists.txt +++ b/source/blender/makesrna/intern/CMakeLists.txt @@ -157,11 +157,11 @@ set_source_files_properties(${GENSRC} PROPERTIES GENERATED TRUE) set(GENSRC_FLAGS) set(GENSRC_CFLAGS) set(GENSRC_CXXFLAGS) -if(CMAKE_COMPILER_IS_GNUCC OR (CMAKE_C_COMPILER_ID MATCHES "Clang")) +if(CMAKE_COMPILER_IS_GNUCC OR (CMAKE_C_COMPILER_ID STREQUAL "Clang")) set(GENSRC_CFLAGS "-Wno-missing-prototypes") set(GENSRC_CXXFLAGS "-Wno-missing-declarations") endif() -if(CMAKE_C_COMPILER_ID MATCHES "Clang") +if(CMAKE_C_COMPILER_ID STREQUAL "Clang") string(APPEND GENSRC_FLAGS " -Wno-missing-variable-declarations") elseif(MSVC) remove_cc_flag( diff --git a/source/blender/render/hydra/CMakeLists.txt b/source/blender/render/hydra/CMakeLists.txt index fa9fd282fb1..772f6fa6806 100644 --- a/source/blender/render/hydra/CMakeLists.txt +++ b/source/blender/render/hydra/CMakeLists.txt @@ -18,7 +18,7 @@ add_definitions(-DBOOST_ALL_NO_LIB) # which lead to an incompatible ABI for Clang. Using those extensions with # Clang as well works around the issue. if(UNIX AND NOT APPLE) - if(CMAKE_C_COMPILER_ID MATCHES "Clang") + if(CMAKE_C_COMPILER_ID STREQUAL "Clang") if(DEFINED LIBDIR) add_definitions(-DARCH_HAS_GNU_STL_EXTENSIONS) endif() @@ -33,7 +33,7 @@ if(WIN32) # warning alert. # Silence them by restore warn C4100 back to w4 remove_cc_flag("/w34100") - if(CMAKE_SYSTEM_PROCESSOR MATCHES ARM64) + if(CMAKE_SYSTEM_PROCESSOR STREQUAL "ARM64") # USD currently does not support the new preprocessor, # and does not use sse2neon, so we can remove it here remove_cc_flag("/Zc:preprocessor") diff --git a/source/creator/CMakeLists.txt b/source/creator/CMakeLists.txt index 54e8eab5f63..289d05c658d 100644 --- a/source/creator/CMakeLists.txt +++ b/source/creator/CMakeLists.txt @@ -1350,7 +1350,7 @@ elseif(WIN32) endif() # this will exist for 4.1 lib folders - if(CMAKE_SYSTEM_PROCESSOR MATCHES ARM64) + if(CMAKE_SYSTEM_PROCESSOR STREQUAL "ARM64") set(_openvdb_arch arm64) else() set(_openvdb_arch amd64)