[Bf-blender-cvs] [d7f482f88ec] master: CMake/macOS: Avoid passing compiler flags to try_compile.
Ankit Meel
noreply at git.blender.org
Thu Oct 8 16:21:41 CEST 2020
Commit: d7f482f88ecba7cf8f864f3bd092506c88c78f25
Author: Ankit Meel
Date: Thu Oct 8 19:47:45 2020 +0530
Branches: master
https://developer.blender.org/rBd7f482f88ecba7cf8f864f3bd092506c88c78f25
CMake/macOS: Avoid passing compiler flags to try_compile.
`APPLE` platform handles ASan compiler and linker flags using
`add_compile_options` and `add_link_options`. {rB74bcb32c9f02}
Arguments in `CMAKE_{LANG}_FLAGS{_CONFIG}` are also passed to
`try_compile` which will fail due to linker errors, since link flags
are not set. `try_compile` is used by `find_package(Boost)` for
`thread` library.
See CMP0066 [1] also.
[1] https://cmake.org/cmake/help/latest/policy/CMP0066.html
Ref D8855
===================================================================
M CMakeLists.txt
===================================================================
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 741472128a3..bcb9ab80097 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -853,11 +853,17 @@ set(PLATFORM_LINKFLAGS_DEBUG "")
if(NOT CMAKE_BUILD_TYPE MATCHES "Release")
if(WITH_COMPILER_ASAN)
- set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} ${COMPILER_ASAN_CFLAGS}")
- set(CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO} ${COMPILER_ASAN_CFLAGS}")
-
- set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} ${COMPILER_ASAN_CXXFLAGS}")
- set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} ${COMPILER_ASAN_CXXFLAGS}")
+ if(NOT APPLE)
+ # Avoid passing address sanitizer compiler flags to `try_compile`.
+ # Since linker flags are not set, all compiler checks and `find_package`
+ # calls that rely on `try_compile` will fail.
+ # See CMP0066 also.
+ set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} ${COMPILER_ASAN_CFLAGS}")
+ set(CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO} ${COMPILER_ASAN_CFLAGS}")
+
+ set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} ${COMPILER_ASAN_CXXFLAGS}")
+ set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} ${COMPILER_ASAN_CXXFLAGS}")
+ endif()
if(MSVC)
set(COMPILER_ASAN_LINKER_FLAGS "/FUNCTIONPADMIN:6")
endif()
More information about the Bf-blender-cvs
mailing list