CMake, Xcode, and Entitlements.plist

Our project uses CMake, which generates a .xcodeproj bundle. Our project has an existing network extension (Transparent Proxy Provider); I'm trying to add a second one, which is a packet filter. Xcode is extremely unhappy:

error: Multiple commands produce '/Build/mybuild/Entitlements.plist'
    note: Target 'PacketFilter' (project 'project') has write command with output /Build/mybuild/Entitlements.plist
    note: Target 'ProxyProvier' (project 'project') has write command with output /Build/mybuild/Entitlements.plist

My problem is: I can't tell what is generating the Entitlements.plist file! If I build each of those two targets separately, it does get generated. But if I search for "Entitlements" in the bundle, there is nothing. So I am unable to tell what is going on.

Each of the extension targets has their own entitlements file -- each of them has their own CMakeLists.txt file, and has this setting:

    XCODE_ATTRIBUTE_CODE_SIGN_ENTITLEMENTS "${CMAKE_CURRENT_BINARY_DIR}/${TARGET}.entitlements"

but something -- and I assume it's CMake, although I can't find anything that does that -- is producing a rule somewhere that says it creates Entitlements.plist. And it's doing it outside of the project.xcodeproj bundle?

How can I track this down and/or fix it?

Answered by kithrup in 766668022

Found it -- DerivedFile directory was set to the same for both.

Accepted Answer

Found it -- DerivedFile directory was set to the same for both.

CMake, Xcode, and Entitlements.plist
 
 
Q