Я использую Cmake с Xcode для создания С++/c "project" (my_project) и некоторых С++/c "целей" (один из них является двоичным, остальные - библиотеки)
My 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 имеет это наследование иерархического свойства (левые поля имеют приоритет над правыми полями):
Цель, проект, по умолчанию
Я хотел бы изменить поля Project, т.е. для 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")
Тогда это работает, но только для этого "Target"
Если это не ясно, я был бы рад предоставить рабочий пример, но это займет немного времени...
О том, что кто-то знает о более быстром решении всей проблемы, я бы хотел, чтобы чистая установка Xcode не придумала это (или любое другое) предупреждение:
Проект 'my_project' переопределяет параметр Архитектуры. Это будет удалите настройку и разрешите Xcode автоматически выбирать Архитектуры, основанные на оборудовании, доступном для активной платформы и цели развертывания.