Mais uma alternativa, no caso de você estar trabalhando com a Appstore, precisa de "Direitos" e, como tal, precisa se vincular a um Apple-Framework.
Para que os Direitos funcionem (por exemplo, GameCenter), você precisa ter um build "Vincular Binário com Bibliotecas" e, em seguida, vincular com "GameKit.framework". O CMake "injeta" as bibliotecas em um "nível baixo" na linha de comando; portanto, o Xcode realmente não sabe sobre isso e, como tal, você não ativará o GameKit na tela Recursos.
Uma maneira de usar o CMake e ter um link "Link com binários" é gerar o xcodeproj com o CMake e, em seguida, usar 'sed' para 'pesquisar e substituir' e adicionar o GameKit da maneira que o XCode gosta ...
O script fica assim (para o 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
salve-o em "gamecenter.sed" e, em seguida, "aplique-o" desta maneira (ele altera seu xcodeproj!)
sed -i.pbxprojbak -f gamecenter.sed myproject.xcodeproj/project.pbxproj
Pode ser necessário alterar os comandos de script para atender às suas necessidades.
Aviso: é provável que seja diferente da versão do Xcode, pois o formato do projeto pode mudar, o número exclusivo (codificado) pode não ser realmente único - e geralmente as soluções de outras pessoas são melhores -, a menos que você precise oferecer suporte à Appstore + Direitos (e compilações automatizadas), não faça isso.
Este é um erro do CMake, consulte http://cmake.org/Bug/view.php?id=14185 e http://gitlab.kitware.com/cmake/cmake/issues/14185
link_directories
é desencorajado, mesmo em sua própria documentação. Eu acho que seria melhor aqui resolver afind_library
chamada que falhou na pergunta original ou usar a solução de @ Andre.