кроссплатформенная сборка проектов Cmake |
Здравствуйте, гость ( Вход | Регистрация )
кроссплатформенная сборка проектов Cmake |
Eugene.Makunin |
9.2.2013, 20:15
Сообщение
#1
|
Новичок Группа: Новичок Сообщений: 3 Регистрация: 9.2.2013 Пользователь №: 3705 Спасибо сказали: 0 раз(а) Репутация: 0 |
Всем привет. Появилось желание написать пару приложений, используя С++, QT, Boost и еще парочку библиотек в образовательных целях.
С целью прокачивания скила разработчика хочу собрать полученные программы под разными платфомами и компиляторами. Пока же использую Cmake, SVN, Visual Studio 2010, которые установлены у меня на машине под windows. Возникли некоторые вопросы: 1) Как организовать структуру репозитория? 2) Как и куда ложить библиотеку (пусть к примеру QT будет) и как затем писать CMakeList чтобы не пересобирать ее при каждом билде а сделать это 1 раз (если я правильно понимаю билдить нужно ее будет под каждую платформу, и хранить разные версии в разных папках?) ? 3) Как использовать одну и ту же собранную библиотеку в разных подпроектах, чтобы не дублировать ее. В общем хочу получить нечто такое: Структура, которая позволит постороннему человеку сделать checkout и сразу же начать что-нибудь писать не забивая себе голову подключением библиотек. З.Ы. Гуглил, читал форумы но толком не понял что да как, может если кто-нибудь сталкивался объяснит на пальцах Как собрать проекты немного представляю, но мучают вышеописанные вопросы. |
|
|
Iron Bug |
10.2.2013, 13:05
Сообщение
#2
|
Профессионал Группа: Модератор Сообщений: 1611 Регистрация: 6.2.2009 Из: Yekaterinburg Пользователь №: 533 Спасибо сказали: 219 раз(а) Репутация: 12 |
в самом простом варианте пересобирать Qt и Boost не потребуется. обычно пересобирать их нужно, когда что-то нестандартное используется. а для начального проекта такого точно не будет.
поэтому для юзера, который что-то использует, проще всего скачать готовые библиотеки под его платформу и заголовочники и на этой базе что-то там делать. поэтому лучше всего ориентироваться на стандартные настройки библиотек. что касается репозитория, то в нём должен быть только код твоей библиотеки. Qt и Boost человек скачает с серверов разработчиков. если в библиотеке есть зависимости от внешних библиотек, то лучше всего выносить их в глобальные переменные или в какой-то конфиг, где можно разом задать пути до уже установленных библиотек на конкретном компе. |
|
|
Текстовая версия | Сейчас: 23.4.2024, 9:44 |