dSYM file not copied when archiving

Hi,

I use CMake to generate iOS/macOS Xcode projects for an app.

When archiving to upload beta builds to TestFlight, the dSYMsdirectory in the .xcarchive is simply empty.

The dSYM file is properly generated but it seems it’s not copied into the archive folder.

I tried various flags combinations in my CMakeLists.txt but so far I can’t get it to work properly.

So far I have :

set_target_properties(${TARGET_NAME} PROPERTIES
    # [...] other non-related properties
    XCODE_ATTRIBUTE_SKIP_INSTALL "NO"
    XCODE_ATTRIBUTE_DEBUG_INFORMATION_FORMAT "dwarf-with-dsym"
    XCODE_ATTRIBUTE_GCC_GENERATE_DEBUGGING_SYMBOLS "YES"
    XCODE_ATTRIBUTE_DEPLOYMENT_POSTPROCESSING "YES"
    XCODE_ATTRIBUTE_ENABLE_STDEBUG_INFORMATION_FORMAT "dwarf-with-dsym"
    #XCODE_ATTRIBUTE_DWARF_DSYM_FILE_SHOULD_ACCOMPANY_PRODUCT "YES"

The dSYM is properly created in the current CMake build artifacts directory, it’s just not copied in the archive.

Also, when I set XCODE_ATTRIBUTE_DWARF_DSYM_FILE_SHOULD_ACCOMPANY_PRODUCT to YES, the archive is somewhat corrupt but the dSYM file is included right where the .app file is, which isn’t even where it should be placed.

I’m using CMake 3.26.0 and Xcode 14.2 on a Mac M1 running macOS Ventura 13.2.1.

What am I missing ?

Thanks in advance!

Update. Adding this will fix the dSYM issue :

XCODE_ATTRIBUTE_CONFIGURATION_BUILD_DIR "$(inherited)"

Hope this helps someone else !

Cheers.