diff options
author | Ankit Meel <ankitm> | 2020-10-19 16:15:44 +0300 |
---|---|---|
committer | Ankit Meel <ankitjmeel@gmail.com> | 2020-10-19 16:17:35 +0300 |
commit | 83124856d05ee4da605ab247e6286755690e54dd (patch) | |
tree | b65d787ccf4018397e5ddcfdd744f49ef3d87e13 /build_files | |
parent | 4d9f357bf6b5cdd54d3d0406ef9ac79b387a21b5 (diff) |
Cmake/macOS: strictly disallow searching in frameworks
This is a stricter version of the change made in
{rBbb872b25f219d1a9bc2446228b6dc}
Cmake must never look into Frameworks when the system
library guards (`without_system_libs_begin`/`without_system_libs_end`)
are present.
OpenAL didn't follow this and OpenAL.framework in Xcode would be used.
The Cmake's `FindOpenAL.cmake` looks for both library (in this case,
the .framework file), and include dir.
Precompiled libraries don't contain the former. So `find_package`
cannot be used, or it becomes the hack that {rBb2c707747da9} removed.
So hardcode the include dir path, and other variables.
Reviewed By: brecht
Differential Revision: https://developer.blender.org/D9267
Diffstat (limited to 'build_files')
-rw-r--r-- | build_files/cmake/macros.cmake | 2 | ||||
-rw-r--r-- | build_files/cmake/platform/platform_apple.cmake | 12 |
2 files changed, 7 insertions, 7 deletions
diff --git a/build_files/cmake/macros.cmake b/build_files/cmake/macros.cmake index e75505e9885..8498c68c21c 100644 --- a/build_files/cmake/macros.cmake +++ b/build_files/cmake/macros.cmake @@ -1243,7 +1243,7 @@ macro(without_system_libs_begin) set(CMAKE_IGNORE_PATH "${CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES};${CMAKE_SYSTEM_INCLUDE_PATH};${CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES};${CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES}") if(APPLE) # Avoid searching for headers in frameworks (like Mono), and libraries in LIBDIR. - set(CMAKE_FIND_FRAMEWORK LAST) + set(CMAKE_FIND_FRAMEWORK NEVER) endif() endmacro() diff --git a/build_files/cmake/platform/platform_apple.cmake b/build_files/cmake/platform/platform_apple.cmake index 36e6d71bfb2..0413b89f6bd 100644 --- a/build_files/cmake/platform/platform_apple.cmake +++ b/build_files/cmake/platform/platform_apple.cmake @@ -73,12 +73,12 @@ if(EXISTS ${LIBDIR}) endif() if(WITH_OPENAL) - find_package(OpenAL) - if(OPENAL_FOUND) - set(WITH_OPENAL ON) - else() - set(WITH_OPENAL OFF) - endif() + # Hardcoding this is better than CMake searching in `~/Library/Frameworks` + # or `/Library/Frameworks` or Xcode SDK's frameworks. + set(OPENAL_INCLUDE_DIR "${LIBDIR}/openal/include/AL") + set(OPENAL_LIBRARY) + set(OPENAL_FOUND TRUE) + print_found_status("OpenAL" "${OPENAL_INCLUDE_DIR}") endif() if(WITH_ALEMBIC) |