CMake, Xcode и Unix Makefile
Я использовал классический генератор Makefile Unix, пока не нашел веб-страницу, объясняющую, что CMake может создать хороший файл проекта xcode с помощью "cmake -G Xcode", поэтому я запустил эту команду в своем исходном каталоге и получил хороший проект xcode. Это здорово, но я столкнулся с некоторым недостатком и задавался вопросом, есть ли у них решения:
-
теперь я не могу строить из дерева с помощью make файлов unix (я использую для запуска cmake../myproj в dir, а затем make command), это больше не работает (я полагаю, временные файлы в отвечают за проект dir)
-
некоторые из моих заголовков генерируются cmake (myproj.h.in стал myproj.h и включен в некоторые тесты, например), но я не могу найти эти файлы в проекте xcode, который я получаю.
Заранее благодарим за любые полезные советы о том, как я могу комбинировать проект xcode и make файл unix, чтобы иметь возможность использовать оба.
Ответы
Ответ 1
Я нашел ответ сам (я имею в виду спросить хорошего человека):
Используйте 2 отдельных каталога компоновки для каждого типа файлов сборки. Это гарантирует, что каждый каталог сборки имеет правильные файлы сборки и сгенерированные файлы для его использования.
В команде add_executable() в дополнение к исходным файлам также включаются заголовки и сгенерированные заголовки для тех, которые отображаются в Xcode.
Ответ 2
Вы можете использовать xcodebuild, чтобы по-прежнему иметь надлежащий проект Xcode и построить его из командной строки/оболочки script/Makefile, например.
xcodebuild -project MyProject.xcodeproj -target MyTarget -configuration Release