Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnkit Meel <ankitjmeel@gmail.com>2020-10-08 17:17:45 +0300
committerAnkit Meel <ankitjmeel@gmail.com>2020-10-08 17:20:43 +0300
commitd7f482f88ecba7cf8f864f3bd092506c88c78f25 (patch)
tree093d49f47fa6a3dad917e8640d75c176705bdd6d /CMakeLists.txt
parent4ee1332bdfff531fc54d3725a1ce008682ee772e (diff)
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
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt16
1 files changed, 11 insertions, 5 deletions
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()