我使用cmake和Xcode生成一個C++/C 「項目」(MY_PROJECT)和一些C++/C 「目標」(一個是二進制的,其餘的都是庫)CMake的頂級Xcode項目屬性
我的CMakeLists.txt看起來是這樣的:
project(my_project)
add_subdirectory(library_projectA)
add_subdirectory(library_projectB)
add_subdirectory(binary_project)
每個子目錄具有的CMakeLists.txt有兩種:
add_library(library_projectA)
或者
add_executable(binary_project)
它生成頂級my_project.xcodeproj,它引用子項目。
Xcode中有這樣分層財產繼承(左領域的接管權領域的優先級):
目標,項目,默認
我想改變「工程」領域,即用於MY_PROJECT。這應該會影響所有目標。
我已經試過這樣:
add_custom_target(my_project)
add_target_properties(my_project PROPERTIES XCODE_ATTRIBUTE_ONLY_ACTIVE_ARCH "NO")
但是,這是行不通的。
需要注意的是,如果我把這個「目標」之一:
add_target_properties(binary_project PROPERTIES XCODE_ATTRIBUTE_ONLY_ACTIVE_ARCH "NO")
那麼這個工作,但僅適用於「目標」
如果這是不明確的,我會很高興提供一個工作的例子,但這將需要一些時間...
在任何人都知道的一個更快的解決整個問題的機會,我想全新安裝的Xcode沒有拿出這個(或任何其他)警告:
項目'my_project'覆蓋了體系結構設置。這將刪除設置並允許Xcode自動選擇 基於可用於活動平臺的硬件和 部署目標的體系結構。
不幸的是,這並沒有消除警告OP正在談論,並迫使我們使用修復XCode建議,由於某些奇怪的原因刪除了一堆其他設置。 – Samaursa