mirror of
https://github.com/zebrajr/pytorch.git
synced 2025-12-06 00:20:18 +01:00
Summary: Pull Request resolved: https://github.com/pytorch/pytorch/pull/47635 Add macosx support for metal. The supported os version is 10.13 and above. ghstack-source-id: 116845318 Test Plan: 1. Sandcastle Tests 2. CircleCI Jobs 3. In the next diff, we'll run the person segmentation model inside a macos app Reviewed By: dreiss Differential Revision: D24825088 fbshipit-source-id: 10d7976c953e765599002dc42d7f8d248d7c9846
46 lines
1.8 KiB
CMake
46 lines
1.8 KiB
CMake
if(NOT APPLE)
|
|
return()
|
|
endif()
|
|
|
|
if(NOT USE_PYTORCH_METAL)
|
|
return()
|
|
endif()
|
|
|
|
if(IOS OR INTERN_BUILD_MOBILE)
|
|
return()
|
|
endif()
|
|
|
|
set(OSX_PLATFORM "MacOSX.platform")
|
|
exec_program(/usr/bin/xcode-select ARGS -print-path OUTPUT_VARIABLE CMAKE_XCODE_DEVELOPER_DIR)
|
|
set(XCODE_POST_43_ROOT "${CMAKE_XCODE_DEVELOPER_DIR}/Platforms/${OSX_PLATFORM}/Developer")
|
|
set(XCODE_PRE_43_ROOT "/Developer/Platforms/${OSX_PLATFORM}/Developer")
|
|
if(NOT DEFINED CMAKE_OSX_DEVELOPER_ROOT)
|
|
if(EXISTS ${XCODE_POST_43_ROOT})
|
|
set(CMAKE_OSX_DEVELOPER_ROOT ${XCODE_POST_43_ROOT})
|
|
elseif(EXISTS ${XCODE_PRE_43_ROOT})
|
|
set(CMAKE_OSX_DEVELOPER_ROOT ${XCODE_PRE_43_ROOT})
|
|
endif(EXISTS ${XCODE_POST_43_ROOT})
|
|
endif(NOT DEFINED CMAKE_OSX_DEVELOPER_ROOT)
|
|
set(CMAKE_OSX_DEVELOPER_ROOT ${CMAKE_OSX_DEVELOPER_ROOT} CACHE PATH "Location of OSX SDKs root directory")
|
|
|
|
if(NOT DEFINED CMAKE_OSX_SDK_ROOT)
|
|
file(GLOB _CMAKE_OSX_SDKS "${CMAKE_OSX_DEVELOPER_ROOT}/SDKs/*")
|
|
if(_CMAKE_OSX_SDKS)
|
|
list(SORT _CMAKE_OSX_SDKS)
|
|
list(REVERSE _CMAKE_OSX_SDKS)
|
|
list(GET _CMAKE_OSX_SDKS 0 CMAKE_OSX_SDK_ROOT)
|
|
message(STATUS "_CMAKE_OSX_SDKS: ${_CMAKE_OSX_SDKS}")
|
|
else(_CMAKE_OSX_SDKS)
|
|
message(FATAL_ERROR "No OSX SDK's found in default search path ${CMAKE_OSX_DEVELOPER_ROOT}.")
|
|
endif(_CMAKE_OSX_SDKS)
|
|
message(STATUS "Toolchain using default OSX SDK: ${CMAKE_OSX_SDK_ROOT}")
|
|
endif(NOT DEFINED CMAKE_OSX_SDK_ROOT)
|
|
set(CMAKE_OSX_SDK_ROOT ${CMAKE_OSX_SDK_ROOT} CACHE PATH "Location of the selected OSX SDK")
|
|
set(CMAKE_FRAMEWORK_PATH
|
|
${CMAKE_OSX_SDK_ROOT}/System/Library/Frameworks
|
|
${CMAKE_OSX_SDK_ROOT}/System/Library/PrivateFrameworks
|
|
${CMAKE_OSX_SDK_ROOT}/Developer/Library/Frameworks
|
|
)
|
|
message(STATUS "CMAKE_FRAMEWORK_PATH: ${CMAKE_FRAMEWORK_PATH}")
|
|
set(CMAKE_FIND_FRAMEWORK FIRST)
|