[Build/macOS] Exclude empty translation units and Vulkan/SPIR-V targets

This commit is contained in:
Herman S.
2026-03-27 16:12:08 +09:00
parent 24015ef164
commit a8ef7faeae
5 changed files with 48 additions and 24 deletions

View File

@@ -58,13 +58,11 @@ target_link_libraries(xenia-app PRIVATE
xenia-cpu
xenia-gpu
xenia-gpu-null
xenia-gpu-vulkan
xenia-hid
xenia-hid-nop
xenia-kernel
xenia-patcher
xenia-ui
xenia-ui-vulkan
xenia-vfs
# Third-party
aes_128
@@ -72,7 +70,6 @@ target_link_libraries(xenia-app PRIVATE
fmt
dxbc
discord-rpc
glslang-spirv
imgui
libavcodec
libavutil
@@ -81,6 +78,15 @@ target_link_libraries(xenia-app PRIVATE
xxhash
)
# Vulkan/SPIR-V backends (not macOS)
if(NOT APPLE)
target_link_libraries(xenia-app PRIVATE
xenia-gpu-vulkan
xenia-ui-vulkan
glslang-spirv
)
endif()
# Non-Android specific (always true for Windows/Linux)
target_link_libraries(xenia-app PRIVATE
xenia-app-discord

View File

@@ -1,10 +1,18 @@
add_library(xenia-gpu STATIC)
xe_platform_sources(xenia-gpu ${CMAKE_CURRENT_SOURCE_DIR})
target_include_directories(xenia-gpu PRIVATE
${PROJECT_SOURCE_DIR}/third_party/Vulkan-Headers/include
${PROJECT_SOURCE_DIR}/third_party/glslang
)
target_link_libraries(xenia-gpu PUBLIC dxbc fmt glslang-spirv snappy xxhash xenia-base xenia-ui)
if(APPLE)
# No Vulkan/SPIR-V backend on macOS — remove spirv_* sources
get_target_property(_gpu_srcs xenia-gpu SOURCES)
list(FILTER _gpu_srcs EXCLUDE REGEX "spirv_")
set_target_properties(xenia-gpu PROPERTIES SOURCES "${_gpu_srcs}")
target_link_libraries(xenia-gpu PUBLIC dxbc fmt snappy xxhash xenia-base xenia-ui)
else()
target_include_directories(xenia-gpu PRIVATE
${PROJECT_SOURCE_DIR}/third_party/Vulkan-Headers/include
${PROJECT_SOURCE_DIR}/third_party/glslang
)
target_link_libraries(xenia-gpu PUBLIC dxbc fmt glslang-spirv snappy xxhash xenia-base xenia-ui)
endif()
xe_target_defaults(xenia-gpu)
if(XENIA_BUILD_MISC)