Обновить
21
Максим@fshp

Scala developer

14
Подписчики
Отправить сообщение
Ну CMake в этом плане довольно гибкое средство. Можно вообще LLVM прикрутить и будет вам счастье. Он не привязан к конкретному набору компиляторов, хоть по умолчанию и GNU набор использует.
Всегда пожалуйста. Не было статей, не было. А тут что-то двоих сразу пропёрло.
Я не претендую на специалиста по CMake, я лишь попытался описать то, с чем сам сталкивался. Знаете, при выставленном флаге REQUIRED и не установленной библиотеке ветка if выполнялась все равно. debian sid/wheezy. Может я и не умею готовить CMake, но таким образом я отгородил себя от ошибок на стадии сборки. Не забывайте, статья все-таки для новичков.
И да, ваш пример красив, есть куда расти.
1. Заведено 4 CMakeLists.txt — 3 подпроекта: движок и логика в виде библиотек, лаунчер. Все это объедятся одним родительским проектом.

2. Личные предпочтения. Возможно, я тоже предпочту XML, если вы мне подскажете хороший инструментарий.

3. Начальство бывает разное, некоторое и код иногда просматривает, а некоторое и само свои проекты имеет.
Имея лишь начальные знания английского языка, любое ключевое слово не остается для меня загадкой.
Все функции имеют более или менее унифицированный способ вызова — на первом месте всегда стоит объект, подвергающийся обработке. Разное количество параметров — уж извините, для разных действий необходимы различные параметры.

Поддержка чужих CMakeLists.txt сходна с поддержкой любого кода: превосходный код — незамысловатая поддержка, индусский код — тихий ужас.

Тормозная компиляция это проблема не CMake. Она ничего сама не компилирует.

За ссылку спасибо.
1. В нашем проекте используется пачка статических библиотек, Ogre, Xml2, OpenAL, SDL, Boost и ещё несколько. Всё это разбито на 3 подпроекта + главный проектный файл, итого 181 сточка. Необходимо учитывать, что сюда входит список исходников.

2. C XML вы тоже что-то путаете. Слишком весомый. JSON это да. Но есть одно «но»: JSON это стандарт rfc4627, датируемый 2006 годом, первые версии CMake появились в 2003. Поэтому за основу был взять Bash.

3. Тут вы правы, но когда начальство требует, что бы проект открывался в CodeBlocks, это экономит кучу времени.
12 ...
164

Информация

В рейтинге
7 463-й
Откуда
Воронеж, Воронежская обл., Россия
Дата рождения
Зарегистрирован
Активность