cmake_minimum_required(VERSION 3.26)
project(gpt_oss LANGUAGES C CXX)
# If not defined externally, auto-detect
if(NOT DEFINED GPTOSS_BUILD_METAL)
if(APPLE AND CMAKE_SYSTEM_PROCESSOR MATCHES "arm64")
message(STATUS "Apple Silicon detected → enabling GPTOSS_BUILD_METAL")
set(GPTOSS_BUILD_METAL ON)
else()
message(STATUS "Non-Apple Silicon → disabling GPTOSS_BUILD_METAL")
set(GPTOSS_BUILD_METAL OFF)
endif()
else()
message(STATUS "GPTOSS_BUILD_METAL manually set to: ${GPTOSS_BUILD_METAL}")
endif()
# Now declare it as a cache variable (respects user-provided value)
set(GPTOSS_BUILD_METAL "${GPTOSS_BUILD_METAL}" CACHE BOOL "Enable Metal backend")
if(GPTOSS_BUILD_METAL)
enable_language(OBJC)
add_subdirectory(gpt_oss/metal)
endif()openai/gpt-oss
Publicmirrored fromhttps://github.com/openai/gpt-ossAvailable
CMakeLists.txt
23lines · modepreview