@@ -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