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.
This commit is contained in:
parent
d0fc9e2d9d
commit
6549019ae1
@ -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")
|
||||
|
@ -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)
|
||||
|
@ -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()
|
||||
|
@ -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")
|
||||
|
@ -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)
|
||||
|
@ -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()
|
||||
|
@ -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)
|
||||
|
@ -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 "")
|
||||
|
2
extern/CMakeLists.txt
vendored
2
extern/CMakeLists.txt
vendored
@ -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"
|
||||
)
|
||||
|
2
extern/bullet2/CMakeLists.txt
vendored
2
extern/bullet2/CMakeLists.txt
vendored
@ -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"
|
||||
)
|
||||
|
2
extern/lzma/CMakeLists.txt
vendored
2
extern/lzma/CMakeLists.txt
vendored
@ -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"
|
||||
)
|
||||
|
2
extern/quadriflow/CMakeLists.txt
vendored
2
extern/quadriflow/CMakeLists.txt
vendored
@ -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"
|
||||
)
|
||||
|
@ -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"
|
||||
)
|
||||
|
@ -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"
|
||||
|
@ -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"
|
||||
|
@ -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"
|
||||
|
@ -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}
|
||||
)
|
||||
|
@ -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}
|
||||
)
|
||||
|
@ -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")
|
||||
|
@ -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(
|
||||
|
@ -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")
|
||||
|
@ -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)
|
||||
|
Loading…
Reference in New Issue
Block a user