Думаю никто не будет спорить, что писать программный код в IDE намного удобней, чем, скажем, в vim или каком-либо другом «просто редакторе». Тут и подсветка синтаксиса (справедливости ради надо отметить, что она есть практически во всех редакторах) и автодополнение и тесная связь с отладчиком. Иногда документация. Ну в общем множество разных приятных вещей.
Но так уж исторически сложилось, что описание параметров сборки каждая IDE хранит по-своему. Зачастую в совершенно неприглядном виде. Это не создаёт проблем если разработка ведётся на целевой платформе. А если код кроссплатформенный? И на других платформах (да пусть даже хоть на одной из них) нужная IDE отсутствует?
Неприятно.
Вот и я столкнулся с такой проблемой: на рабочем месте у меня стоит мак (в качестве IDE использую XCode), а пишу я сетевой код, который должен работать на большом спектре оборудования, начиная с iPhone и заканчивая Sony PS.
XCode вполне неплохая IDE. Никаких серьёзных претензий к ней нет. Ну кроме странного формата «проекта».
Но оказывается всё не так плохо, как кажется на первый взгяд. И после нескольких неочевидных, но очень простых действий мы можем приучить XCode к GNU Make. При этом мы получаем как удобную IDE, так и всю мощь make. А уж make есть на таких платформах, о которых я даже не слышал.
Приступаем.
Запускаем XCode и в меню «File» выбираем пункт «New Project».
Далее при выборе «template» выбираем «Other»->«External Build System»
Как обычно вводим имя проекта.
На данном этапе у нас есть шаблон проекта. Хорошо. Продолжаем.
В меню «Project» выбираем пункт «New Target».
В появившемся окне выбираем «Other»->«External Target». Жмём кнопку «Next» и получаем новое окно, где вводим имя target`a (Вводите любое — это не имеет никакого отношения к именам файлов и т.п. Это лишь указывает как target будет именоваться в XCode)
Дважды кликаем на новый target и в поле «Directory» указываем директорию, в которой находится Makefile.
Далее в меню «Progect» с помощью пункта «Set Active Target» делаем наш новый target активным.Старый target можно с чистой совестью удалить.
Теперь добавляем в проект исходный код обычным способом.
Без копирования! Пусть остаётся на своём месте.
В меню «Project» выбираем пункт «New Custom Executable» и в графе «Executable Path» указываем путь к директории, куда Make соберёт ваш проект. Ну и добавим название файла в конце.
Т.е. необходимо ввести путь к результирующему исполняемому файлу.
Нажимаем «Finish» и можем пользоваться.
Дальнейшие действия никак не отличаются от обычного использования XCode.
Данный «рецепт» перепроверялся для версий XCode 3.2.3 и 3.2.4. Скриншоты я не привожу умышленно, поскольку алгоритм работает и для намного более старых версий IDE, но интерфейс несколько отличается.
Пользуйтесь на здоровье!
Но так уж исторически сложилось, что описание параметров сборки каждая IDE хранит по-своему. Зачастую в совершенно неприглядном виде. Это не создаёт проблем если разработка ведётся на целевой платформе. А если код кроссплатформенный? И на других платформах (да пусть даже хоть на одной из них) нужная IDE отсутствует?
Неприятно.
Вот и я столкнулся с такой проблемой: на рабочем месте у меня стоит мак (в качестве IDE использую XCode), а пишу я сетевой код, который должен работать на большом спектре оборудования, начиная с iPhone и заканчивая Sony PS.
XCode вполне неплохая IDE. Никаких серьёзных претензий к ней нет. Ну кроме странного формата «проекта».
Но оказывается всё не так плохо, как кажется на первый взгяд. И после нескольких неочевидных, но очень простых действий мы можем приучить XCode к GNU Make. При этом мы получаем как удобную IDE, так и всю мощь make. А уж make есть на таких платформах, о которых я даже не слышал.
Приступаем.
Создаём шаблон проекта
Запускаем XCode и в меню «File» выбираем пункт «New Project».
Далее при выборе «template» выбираем «Other»->«External Build System»
Как обычно вводим имя проекта.
На данном этапе у нас есть шаблон проекта. Хорошо. Продолжаем.
Создаём новый «target»
В меню «Project» выбираем пункт «New Target».
В появившемся окне выбираем «Other»->«External Target». Жмём кнопку «Next» и получаем новое окно, где вводим имя target`a (Вводите любое — это не имеет никакого отношения к именам файлов и т.п. Это лишь указывает как target будет именоваться в XCode)
Дважды кликаем на новый target и в поле «Directory» указываем директорию, в которой находится Makefile.
Далее в меню «Progect» с помощью пункта «Set Active Target» делаем наш новый target активным.Старый target можно с чистой совестью удалить.
Добавляем в проект исходный код
Теперь добавляем в проект исходный код обычным способом.
Без копирования! Пусть остаётся на своём месте.
Указываем путь к исполняемому файлу
В меню «Project» выбираем пункт «New Custom Executable» и в графе «Executable Path» указываем путь к директории, куда Make соберёт ваш проект. Ну и добавим название файла в конце.
Т.е. необходимо ввести путь к результирующему исполняемому файлу.
Нажимаем «Finish» и можем пользоваться.
Готово!
Дальнейшие действия никак не отличаются от обычного использования XCode.
Данный «рецепт» перепроверялся для версий XCode 3.2.3 и 3.2.4. Скриншоты я не привожу умышленно, поскольку алгоритм работает и для намного более старых версий IDE, но интерфейс несколько отличается.
Пользуйтесь на здоровье!