我使用 Cmake 和 Xcode 来生成一个 c++/c“项目”(my_project) 和一些 c++/c“目标”(一个是二进制文件,其余的是库)
我的 CMakeLists.txt 看起来像这样:
project(my_project)
add_subdirectory(library_projectA)
add_subdirectory(library_projectB)
add_subdirectory(binary_project)
每个子目录都有一个 CMakeLists.txt,其中包含:
add_library(library_projectA)
Or
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 自动选择
基于可用于活动平台的硬件的架构和
部署目标。