crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> кроссплатформенная сборка проектов 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 и сразу же начать что-нибудь писать не забивая себе голову подключением библиотек.

З.Ы. Гуглил, читал форумы но толком не понял что да как, может если кто-нибудь сталкивался объяснит на пальцах :) Как собрать проекты немного представляю, но мучают вышеописанные вопросы.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 10.2.2013, 0:15
Сообщение #2


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9634
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 769 раз(а)




Репутация:   94  


Цитата(Eugene.Makunin @ 9.2.2013, 22:15) *
В общем хочу получить нечто такое: Структура, которая позволит постороннему человеку сделать checkout и сразу же начать что-нибудь писать не забивая себе голову подключением библиотек.
с точки зрения разработки это будет совершенно не удачное решение.
Библиотека Qt, компилятор и ... это довольно специфические вещи, которые не следует помещать в хранилище прикладного проекта.
Обычно делают какой-нибудь read.me файл в котором описано от чего зависит проект, где скачать и как установить/собрать зависимые библиотеки.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Iron Bug
  опции профиля:
сообщение 10.2.2013, 13:05
Сообщение #3


Профессионал
*****

Группа: Модератор
Сообщений: 1555
Регистрация: 6.2.2009
Из: Yekaterinburg
Пользователь №: 533

Спасибо сказали: 211 раз(а)




Репутация:   12  


в самом простом варианте пересобирать Qt и Boost не потребуется. обычно пересобирать их нужно, когда что-то нестандартное используется. а для начального проекта такого точно не будет.
поэтому для юзера, который что-то использует, проще всего скачать готовые библиотеки под его платформу и заголовочники и на этой базе что-то там делать. поэтому лучше всего ориентироваться на стандартные настройки библиотек.
что касается репозитория, то в нём должен быть только код твоей библиотеки. Qt и Boost человек скачает с серверов разработчиков.
если в библиотеке есть зависимости от внешних библиотек, то лучше всего выносить их в глобальные переменные или в какой-то конфиг, где можно разом задать пути до уже установленных библиотек на конкретном компе.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 16.1.2018, 17:03