Un'altra alternativa, nel caso tu stia lavorando con l'Appstore, necessiti di "Entitlements" e come tale devi collegarti con un Apple-Framework.
Per i diritti al lavoro (ad esempio GameCenter) si bisogno di avere un "Link binario con le librerie" -buildstep e quindi collegare con "GameKit.framework". CMake "inietta" le biblioteche su un "basso livello" in linea di comando, quindi Xcode non realmente sanno, e come tale si non ottenere GameKit abilitata nella schermata di capacità.
Un modo per usare CMake e avere un "Link with Binaries" -buildstep è generare xcodeproj con CMake, quindi usare 'sed' per 'cercare e sostituire' e aggiungere il GameKit nel modo in cui piace a XCode ...
Lo script ha questo aspetto (per Xcode 6.3.1).
s#\/\* Begin PBXBuildFile section \*\/#\/\* Begin PBXBuildFile section \*\/\
26B12AA11C10544700A9A2BA \/\* GameKit.framework in Frameworks \*\/ = {isa = PBXBuildFile; fileRef = 26B12AA01C10544700A9A2BA \/\* GameKit.framework xxx\*\/; };#g
s#\/\* Begin PBXFileReference section \*\/#\/\* Begin PBXFileReference section \*\/\
26B12AA01C10544700A9A2BA \/\* GameKit.framework xxx\*\/ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = GameKit.framework; path = System\/Library\/Frameworks\/GameKit.framework; sourceTree = SDKROOT; };#g
s#\/\* End PBXFileReference section \*\/#\/\* End PBXFileReference section \*\/\
\
\/\* Begin PBXFrameworksBuildPhase section \*\/\
26B12A9F1C10543B00A9A2BA \/\* Frameworks \*\/ = {\
isa = PBXFrameworksBuildPhase;\
buildActionMask = 2147483647;\
files = (\
26B12AA11C10544700A9A2BA \/\* GameKit.framework in Frameworks xxx\*\/,\
);\
runOnlyForDeploymentPostprocessing = 0;\
};\
\/\* End PBXFrameworksBuildPhase section \*\/\
#g
s#\/\* CMake PostBuild Rules \*\/,#\/\* CMake PostBuild Rules \*\/,\
26B12A9F1C10543B00A9A2BA \/\* Frameworks xxx\*\/,#g
s#\/\* Products \*\/,#\/\* Products \*\/,\
26B12AA01C10544700A9A2BA \/\* GameKit.framework xxx\*\/,#g
salvalo in "gamecenter.sed" e poi "applicalo" in questo modo (cambia il tuo xcodeproj!)
sed -i.pbxprojbak -f gamecenter.sed myproject.xcodeproj/project.pbxproj
Potrebbe essere necessario modificare i comandi di script in base alle proprie esigenze.
Attenzione: è probabile che si rompa con una versione diversa di Xcode poiché il formato del progetto potrebbe cambiare, il numero univoco (codificato) potrebbe non essere realmente univoco e generalmente le soluzioni di altre persone sono migliori, quindi a meno che non sia necessario supportare l'Appstore + Autorizzazioni (e build automatizzate), non farlo.
Questo è un bug di CMake, vedere http://cmake.org/Bug/view.php?id=14185 e http://gitlab.kitware.com/cmake/cmake/issues/14185
link_directories
è sconsigliato, anche nella propria documentazione. Penso che qui sarebbe meglio risolvere lafind_library
chiamata fallita nella domanda originale, o usare la soluzione di @ Andre.