Satu lagi alternatif, jika Anda bekerja dengan Appstore, memerlukan "Hak" dan karena itu perlu ditautkan dengan Apple-Framework.
Agar Hak dapat bekerja (mis. GameCenter) Anda harus memiliki "Tautan Biner dengan Perpustakaan" -buildstep dan kemudian menautkan dengan "GameKit.framework". CMake "menyuntikkan" pustaka pada "level rendah" ke dalam baris perintah, oleh karena itu Xcode tidak benar - benar mengetahuinya, dan karena itu Anda tidak akan mengaktifkan GameKit di layar Kapabilitas.
Salah satu cara untuk menggunakan CMake dan memiliki "Tautan dengan Binari" -buildstep adalah dengan membuat xcodeproj dengan CMake, lalu gunakan 'sed' untuk 'mencari & mengganti' dan menambahkan GameKit dengan cara yang disukai XCode ...
Skripnya terlihat seperti ini (untuk 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
simpan ini ke "gamecenter.sed" dan kemudian "terapkan" seperti ini (ini mengubah xcodeproj Anda!)
sed -i.pbxprojbak -f gamecenter.sed myproject.xcodeproj/project.pbxproj
Anda mungkin harus mengubah perintah skrip agar sesuai dengan kebutuhan Anda.
Peringatan: kemungkinan akan rusak dengan versi Xcode yang berbeda karena format proyek dapat berubah, nomor unik (hardcode) mungkin tidak benar-benar unik - dan umumnya solusi oleh orang lain lebih baik - jadi kecuali Anda perlu Mendukung Appstore + Hak (dan build otomatis), jangan lakukan ini.
Ini adalah bug CMake, lihat http://cmake.org/Bug/view.php?id=14185 dan http://gitlab.kitware.com/cmake/cmake/issues/14185
link_directories
tidak disarankan, bahkan dalam dokumentasinya sendiri. Saya pikir akan lebih baik di sini untuk menyelesaikanfind_library
panggilan gagal di pertanyaan awal, atau menggunakan solusi @ Andre.