CMake или Waf для проекта D - PullRequest
       39

CMake или Waf для проекта D

13 голосов
/ 09 октября 2010

Мы ищем адекватный инструмент сборки для настольного приложения с графическим интерфейсом для написания на D (используя Qt toolkit), состоящий из нескольких нативных библиотек, использующих C-lib сторонних производителей.Он должен основываться на Linux (нативная разработка) и Mac, а также на Windows.Мы могли бы принять Code :: Blocks в качестве IDE.

Waf уже поддерживает язык D, в то время как CMake только получает его cmaked2 .

CMake использует специальный язык, в то время как Waf - чистый Python ... Otoh, CMake через CPack может создавать пакеты в нескольких форматах, а также установщик GUI, например, для Windoze.

Любые плюсы и минусы и что бы вы использовали?

Мы исключили Scons по соображениям скорости и autoconf, поэтому, пожалуйста, совет только против CMake / waf.

Обновление: Хотя мы не получили никакого ответа, мы былипроводил исследования в других местах, читал и тестировал и решил использовать Waf (1.6. Релиз не за горами).

Ответы [ 2 ]

9 голосов
/ 15 октября 2010

Waf очень быстрый и был выбран в качестве системы сборки для Samba (http://samba.org/). Он также используется во многих проприетарных проектах, потому что он позволяет вам делать сумасшедшие вещи, которые невозможны в Make / CMake.

5 голосов
/ 13 октября 2010

Я бы / действительно использовал CMake

Я видел, что CMake использовался во многих местах, чем Waf.Самое главное, что в проекте KDE сейчас используется CMake.

Я провел некоторое исследование по поиску кода Google:
* * * * * * * * * * * * * * * * * * * * * * * * * *
*.* 36,914 CMakeLists.txt .

Так что CMake определенно более популярен.

Я также пытался использовать тренды Google, чтобы увидеть, какие набирающие обороты CMake или Waf набирают оборотыЯ не добился успеха, так как Waf слишком общий термин (т. Е. W ife A cceptance F actor ) и "Waf build"вообще не отображается в тенденциях Google.

Scons, как известно, имеет ужасные проблемы с производительностью.Поскольку Waf является производным от Scons, я беспокоюсь о его производительности.

Наконец, CMake имеет ужасный синтаксис, а Waf имеет красивый синтаксис.Поскольку вы идете с D, похоже, что вы готовы пойти по проторенному пути для превосходных инструментов.В этом случае Ваф может быть идеальной подгонкой.

...