Skip to content

Commit 93374c6

Browse files
committed
Fix Xcode-14.2 compatible issue
1 parent 018e3c4 commit 93374c6

1 file changed

Lines changed: 20 additions & 1 deletion

File tree

cmake/Modules/AXBuildHelpers.cmake

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -522,14 +522,33 @@ function(ax_setup_app_config app_name)
522522
if(XCODE AND AX_ENABLE_AUDIO AND ALSOFT_OSX_FRAMEWORK)
523523
# Embedded soft_oal embedded framework
524524
# XCODE_LINK_BUILD_PHASE_MODE BUILT_ONLY
525-
# ???Xcode limition: XCODE_EMBED_FRAMEWORKS_CODE_SIGN_ON_COPY works for first app
525+
# !Please use latest cmake to avoid strange issue, at least cmake 4.0.0+
526526
message(STATUS "Embedding framework soft_oal to ${app_name}...")
527527
set_target_properties(${app_name} PROPERTIES
528528
XCODE_LINK_BUILD_PHASE_MODE KNOWN_LOCATION
529529
XCODE_EMBED_FRAMEWORKS OpenAL
530530
XCODE_EMBED_FRAMEWORKS_CODE_SIGN_ON_COPY ON
531531
XCODE_EMBED_FRAMEWORKS_REMOVE_HEADERS_ON_COPY ON
532532
)
533+
534+
# Detecting Xcode version
535+
execute_process(
536+
COMMAND xcodebuild -version
537+
OUTPUT_VARIABLE XCODE_VERSION_RAW
538+
OUTPUT_STRIP_TRAILING_WHITESPACE
539+
)
540+
string(REGEX MATCH "Xcode ([0-9]+\\.[0-9]+)" _match "${XCODE_VERSION_RAW}")
541+
set(XCODE_VERSION "${CMAKE_MATCH_1}")
542+
543+
message(STATUS "Detected Xcode version: ${XCODE_VERSION}")
544+
if(XCODE_VERSION VERSION_LESS_EQUAL "14.2")
545+
message(STATUS
546+
"Detected Xcode ${XCODE_VERSION} (<= 14.2): "
547+
"manually adding framework search path: ${CMAKE_BINARY_DIR}/build/<CONFIG>")
548+
set(_AX_FRAMEWORK_OUT_DIR "${CMAKE_BINARY_DIR}/build")
549+
set_property(TARGET ${app_name} APPEND PROPERTY
550+
XCODE_ATTRIBUTE_FRAMEWORK_SEARCH_PATHS "\"${_AX_FRAMEWORK_OUT_DIR}/$<CONFIG>\"")
551+
endif()
533552
endif()
534553

535554
# auto looking app shaders source dir and add to axslcc compile-list

0 commit comments

Comments
 (0)