Кроссплатформенная сборка - PullRequest
1 голос
/ 29 марта 2010

У меня есть приложение, в котором мы используем систему сборки, созданную вручную. Причина этого в переносимости: приложение должно быть переносимым на Linux / Mac / Windows.

Есть некоторые специфичные для порта файлы, которые не обновляются системой сборки по умолчанию.

Теперь я обновляю файлы вручную или выполняю скрипт. Тем не менее, я думаю о переходе на кроссплатформенную систему сборки, такую ​​как cmake или scons.

Есть ли проблемы с переносимостью? Будет ли это платить в долгосрочной перспективе? и если да, то какой должен быть мой выбор: "cmake", "scons" или какой-нибудь другой?

Ответы [ 2 ]

2 голосов
/ 29 марта 2010

Есть ли проблемы с переносимостью?

Только если у вас по-прежнему есть «файлы, специфичные для порта».

Будет ли он платить в долгосрочной перспективе?

Готовая полка дешевле, чем изготовленная вручную. Период. Вы должны очень, очень неохотно делать что-либо вручную. Всегда загружайте сначала, редко настраивайте и создавайте новые, только когда невозможно запустить существующий инструмент в эксплуатацию.

каким должен быть мой выбор: "cmake", "scons" или какой-то другой?

Это едва имеет значение. Вы можете бросить монету сейчас.

Вы можете скачать оба и попробовать оба. Их довольно легко выучить.

Изучив их, вы можете бросить монету.

Важно отбросить вашу систему сборки как можно быстрее. Для этого вы должны полностью выучить новый. Многие люди отказываются полностью изучать новый. Они наполовину изучают новый, а затем продолжают утверждать, что старый был как-то «лучше».

Полностью выучите новый. Полностью удалите старую. Не оглядывайся назад.

1 голос
/ 12 апреля 2010

Я выбираю cmake, потому что он может генерировать проекты XCode. Документы не так уж хороши, но есть много пользователей, так что вы можете найти решение проблем с помощью Google довольно легко. Он также поддерживает сома упаковку, что может быть удобно.

...