treballant en metal

This commit is contained in:
2025-09-10 23:14:18 +02:00
parent 7f00942517
commit c6c4aebab1
8 changed files with 751 additions and 9 deletions

View File

@@ -97,6 +97,11 @@ set(EXTERNAL_SOURCES
source/external/gif.cpp
)
# Añadir archivos específicos para macOS (Metal)
if(APPLE)
list(APPEND EXTERNAL_SOURCES source/external/jail_shader_metal.mm)
endif()
# Añadir jail_audio.cpp solo si el audio está habilitado
if(NOT DISABLE_AUDIO)
list(APPEND EXTERNAL_SOURCES source/external/jail_audio.cpp)
@@ -147,6 +152,23 @@ elseif(APPLE)
target_compile_definitions(${PROJECT_NAME} PRIVATE MACOS_BUILD)
target_compile_options(${PROJECT_NAME} PRIVATE -Wno-deprecated)
set(CMAKE_OSX_ARCHITECTURES "arm64")
# Enlazar frameworks de Metal para macOS
find_library(METAL_FRAMEWORK Metal)
find_library(QUARTZCORE_FRAMEWORK QuartzCore)
find_library(COREFOUNDATION_FRAMEWORK CoreFoundation)
find_library(FOUNDATION_FRAMEWORK Foundation)
if(METAL_FRAMEWORK AND QUARTZCORE_FRAMEWORK AND COREFOUNDATION_FRAMEWORK AND FOUNDATION_FRAMEWORK)
target_link_libraries(${PROJECT_NAME} PRIVATE
${METAL_FRAMEWORK}
${QUARTZCORE_FRAMEWORK}
${COREFOUNDATION_FRAMEWORK}
${FOUNDATION_FRAMEWORK})
message(STATUS "Metal frameworks encontrados y enlazados")
else()
message(WARNING "Algunos frameworks de Metal no se encontraron - OpenGL será usado como fallback")
endif()
elseif(UNIX AND NOT APPLE)
target_compile_definitions(${PROJECT_NAME} PRIVATE LINUX_BUILD)
endif()