The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги | ]

11.06.2014 17:24  Анонсирована система сборки CMake 3.0.0

Представлен релиз написанного на языке C++ кроссплатформенного открытого генератора сценариев сборки CMake 3.0.0, выступающего в качестве альтернативы Autotools и используемого в таких проектах, как KDE, LLVM/Clang, MySQL, MariaDB, ReactOS и Blender. Код CMake распространяется под лицензией BSD.

Из достоинств CMake можно отметить простой язык сценариев, средства расширения функциональности через модули, минимальное число зависимостей (нет привязки к M4, Perl или Python), поддержка кэширования, наличие средств для кросс-компиляции, поддержка генерации файлов сборки для широкого спектра систем сборки и компиляторов, наличие утилит ctest и cpack для определения сценариев тестирования и сборки пакетов, утилита cmake-gui для интерактивной настройки параметров сборки.

Основные изменения:

  • Удалены компоненты для обеспечения совместимости со сценариями сборки, написанными для CMake 2.3 и более ранних выпусков;
  • Язык сценариев расширен поддержкой новых элементов синтаксиса, заимствованных из Lua: #[[комментарий]] и [=[аргумент]=], для которых содержимое внутри скобок воспринимается как есть, без замены переменных и обработки символов экранирования. Например, можно указать message("начало строки\\n" #[[комментарий]] "продолжение строки") или message([=[переменная ${variable}]=]);
  • Переименованы генераторы файлов сборки для Visual Studio 10 (2010) и более новых выпусков: вместо "Visual Studio 10" следует использовать "Visual Studio 10 2010", "Visual Studio 11" - "Visual Studio 11 2012", "Visual Studio 12" - "Visual Studio 12 2013". Поддержка старых имён генераторов оставлена для обеспечения совместимости;
  • Новый расширенный генератор "CodeLite", предназначенный для генерации файлов проектов CodeLite и пригодный для использования с генераторами Makefile или Ninja;
  • Новый расширенный генератор "Kate", предназначенный для генерации файлов проектов Kate и пригодный для использования с генераторами Makefile или Ninja;
  • В команду "add_library()" добавлена поддержка нового типа библиотек "INTERFACE", которые не содержат правил сборки, но могут определять требования по использованию, что, например, применимо для создания заголовочных библиотек, уточняющих ссылочные зависимости с другими библиотеками;
  • В команду "export()" добавлен новый режим "EXPORT", который получает список целей для экспорта из экспортного набора, настроенного через опцию "EXPORT" команды "install(TARGETS)". Добавленная возможность позволяет упростить экспорт из сборочного дерева тех же самых целей, которые экспортированы из установочного дерева;
  • В команду "project()" добавлена обработка переменных с номером версии, выставляемых на основании новой опции "VERSION";
  • Запрещено использование давно устаревших команд в новом коде: "subdir_depends()", "use_mangled_mesa()", "load_command()", "output_required_files()", "export_library_dependencies()", "utility_source()", "variable_requires()", "build_name()";
  • Изменён подход к нумерации версий CMake, вместо первых трёх цифр для обозначения уровня функциональных изменений теперь будут использоваться первые две цифры, третья цифра будет увеличиваться для корректирующих выпусков.


  1. Главная ссылка к новости (http://www.cmake.org/pipermail...)
  2. OpenNews: Выпуск сборочного инструментария qbs 1.2.0, развиваемого проектом Qt
  3. OpenNews: Разработчики из компании Google открыли код системы сборки Ninja
  4. OpenNews: Вышла система сборки Apache Ant 1.9.0
  5. OpenNews: Разработчики SUSE выпустили систему распределённой сборки Icecream 1.0.0
  6. OpenNews: Для GNOME-приложений представлена новая экспериментальная система сборки BuilDj
Лицензия: CC-BY
Тип: Программы
Ключевые слова: cmake, make
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Ajax/Линейный | Раскрыть все сообщения | RSS
 
  • 1.2, Аноним (-), 18:28, 11/06/2014 [ответить] [показать ветку] [···]     [к модератору]
  • +5 +/
    За такие названия генераторов хочется сделать разработчикам CMake больно 8212 ... весь текст скрыт [показать]
     
     
  • 2.3, Аноним (-), 18:46, 11/06/2014 [^] [ответить]    [к модератору]  
  • +2 +/
    Да уж, то ли дело QBS!
     
     
  • 3.17, Аноним (-), 21:23, 11/06/2014 [^] [ответить]    [к модератору]  
  • +/
    > Да уж, то ли дело QBS!

    Вот не надо на QBS наезжать. По сравнению с qmake это большой прорыв, хотя, конечно, при наличии cmake не понятно нафига оно нужно.

     
     
  • 4.35, Аноним (-), 13:31, 12/06/2014 [^] [ответить]    [к модератору]  
  • +/
    Перечитал, понял что прозвучало как сарказм. На самом деле как раз наоборот)
    Я уже почти полсотни проектов на него перевел, причем еще собираю все 3rdparty-либы им, кроме буста)
     
     
  • 5.39, qqqq (ok), 14:52, 12/06/2014 [^] [ответить]    [к модератору]  
  • +/
    >>почти полсотни проектов на него перевел

    А можно где-то глянуть на это, для расширения кругозора ?

     
     
  • 6.40, Влаидмир (?), 15:26, 12/06/2014 [^] [ответить]     [к модератору]  
  • +/
    Увы, сами проекты нет, но если желаете, то можете найти меня по нику mapron, я м... весь текст скрыт [показать]
     
  • 2.4, Константавр (ok), 19:15, 11/06/2014 [^] [ответить]     [к модератору]  
  • +1 +/
    Да, в этом вся суть опенсорса, сначала попереименовать всё более правильными и... весь текст скрыт [показать]
     
     
  • 3.12, анонко (?), 20:33, 11/06/2014 [^] [ответить]     [к модератору]  
  • +1 +/
    всё верно только это делает не только опенсорс... весь текст скрыт [показать]
     
     
  • 4.25, rshadow (ok), 04:12, 12/06/2014 [^] [ответить]    [к модератору]  
  • +/
    Я бы даже сказал что проприетарщики делают чаще. Новый продукт _должны_ покупать.
     
     
  • 5.41, Аноним (-), 15:39, 12/06/2014 [^] [ответить]     [к модератору]  
  • +/
    поэтому MS выпустив всякое гомнецо типа win8 и wp8 потом дудит в пиар-рупоры,... весь текст скрыт [показать]
     
  • 3.18, dhamp (?), 21:49, 11/06/2014 [^] [ответить]     [к модератору]  
  • +2 +/
    последний релиз в ветке 2 3 x 2 3 4 был 17 марта 2006, действительно чего-то ко... весь текст скрыт [показать]
     
  • 3.33, crypt (ok), 10:08, 12/06/2014 [^] [ответить]    [к модератору]  
  • +1 +/
    в опенсорсе разные проекты есть. а вот несовместимость cmake между версиями - эт да, задалбывает при сборке.
     
     
  • 4.57, Аноним (-), 12:37, 13/06/2014 [^] [ответить]     [к модератору]  
  • +/
    Про декларацию минимальной требуемой версии, которая автоматически настраивает p... весь текст скрыт [показать]
     
  • 1.5, Аноним (-), 19:29, 11/06/2014 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Моя самая любимая программа.
     
     
  • 2.8, chinarulezzz (ok), 20:03, 11/06/2014 [^] [ответить]    [к модератору]  
  • +3 +/
    >Моя самая любимая программа.

    смешно))

     
     
  • 3.52, Michael Shigorin (ok), 21:25, 12/06/2014 [^] [ответить]    [к модератору]  
  • –1 +/
    >>Моя самая любимая программа.
    > смешно))

    "ай лайк ту шмяк ит, шмяк ит" -- это уже не смешно!

     
  • 2.14, Аноним (-), 20:52, 11/06/2014 [^] [ответить]    [к модератору]  
  • +6 +/
    И в качестве браузера? :)

     
  • 1.6, iZEN (ok), 19:40, 11/06/2014 [ответить] [показать ветку] [···]    [к модератору]  
  • –8 +/
    CMake — лучший сборщик на FreeBSD.
     
     
  • 2.7, A.Stahl (ok), 19:58, 11/06/2014 [^] [ответить]    [к модератору]  
  • +5 +/
    А ВЛ-80 лучший электровоз на Марсе.
     
  • 2.9, Аноним (-), 20:13, 11/06/2014 [^] [ответить]    [к модератору]  
  • +1 +/
    ужс... мне жаль тебя
    https://www.google.com/search?rls=en&q=cmake+suck&ie=utf-8&oe=utf-8&channel=su
     
     
  • 3.11, iZEN (ok), 20:32, 11/06/2014 [^] [ответить]    [к модератору]  
  • –4 +/
    > ужс... мне жаль тебя

    http://demotivators.to/media/posters/3381/804244_mne-vas-zhal.jpg

     
     
  • 4.23, Аноним (-), 23:48, 11/06/2014 [^] [ответить]    [к модератору]  
  • +2 +/
    "...в каментах... интеллектуал..."
    Да, мля... Именно интеллектуалы и делают такие демотиваторы. С грубыми грамматическими ошибками.
     
     
  • 5.42, Аноним (-), 15:41, 12/06/2014 [^] [ответить]    [к модератору]  
  • +1 +/
    А вы специально 2 раза повторили, для iZEN и прочих "интеллектуалов" с IQ=50, до которых с 1 раза не доходит?
     
     
  • 6.56, iZEN (ok), 01:56, 13/06/2014 [^] [ответить]    [к модератору]  
  • –2 +/
    Ерохвост.
     
  • 2.16, Аноним (-), 21:22, 11/06/2014 [^] [ответить]    [к модератору]  
  • –1 +/
    > CMake — лучший сборщик на FreeBSD.

    FreeBSD твоя тут совершенно не при чём.
    CMake - просто лучшая на данный момент сборочная система.

     
  • 2.46, Аноним (-), 16:23, 12/06/2014 [^] [ответить]    [к модератору]  
  • +1 +/
    > CMake — лучший сборщик на FreeBSD.

    Изя, как ты мог? Он же на плюсах! А как же жабские среды? :)

     
  • 1.10, Аноним (-), 20:23, 11/06/2014 [ответить] [показать ветку] [···]    [к модератору]  
  • +2 +/
    Но, блин, почему даже небольшие проекты использующие CMake очень долго компилируются?
     
     
  • 2.15, Аноним (-), 21:20, 11/06/2014 [^] [ответить]    [к модератору]  
  • +1 +/
    Может потому что содержат много исходного кода?
     
     
  • 3.19, chinarulezzz (ok), 21:59, 11/06/2014 [^] [ответить]     [к модератору]  
  • –12 +/
    потому что Си без пол-литра не разобрать, компиляторы медленные Еще препроцессо... весь текст скрыт [показать]
     
     
  • 4.20, Аноним (-), 22:34, 11/06/2014 [^] [ответить]    [к модератору]  
  • +7 +/
    > потому что Си без пол-литра не разобрать, компиляторы медленные. Еще препроцессор,

    Как раз си компилируется быстро. Вот плюсы уже другое дело.

    > и с безопасностью туго, приходится инструменты всякие дополнительно разрабатывать

    "Бешеному дитяти ножа в руки не давати".

    > (вплоть до монстров типа valgrind)

    Монстр типа valgrind разложит по полочкам и найдет даже небольшую утечку памяти с полоборота. А у других ЯПов сравнимого инструментария просто НЕТ. Поэтому если там вдруг случаются утечки - начинается полный кластерфак.

    > и писать тучи манов "как безопасно кодить на С/C++".

    "Дypaк и огурцом порежется". Примеры всяких moinmoin и т.п. прекрасно иллюстрируют этот тезис.

    > костыль под названием Сишечка.

    Как же ты пользуешься костыльными операционками? Срочно перепиши их все на яваскрипте и бидоне, мегапрограммист хренов.

     
     
  • 5.21, chinarulezzz (ok), 23:14, 11/06/2014 [^] [ответить]     [к модератору]  
  • –9 +/
    вижу, компилирую бывает либы для си в сравнении с пакалём - меееедленно ножом ... весь текст скрыт [показать]
     
     
  • 6.26, Аноним (-), 07:13, 12/06/2014 [^] [ответить]    [к модератору]  
  • +/
    >достаточно новый код писать на легких, быстрых и понятных языках, созданными человеками для человеков, благо такие есть.

    Огласите весь список

     
     
  • 7.36, chinarulezzz (ok), 14:33, 12/06/2014 [^] [ответить]    [к модератору]  
  • –1 +/
    >>достаточно новый код писать на легких, быстрых и понятных языках, созданными человеками для человеков, благо такие есть.
    > Огласите весь список

    oberon(2)
    modula(2,3)
    go.

     
     
  • 8.44, Аноним (-), 16:15, 12/06/2014 [^] [ответить]     [к модератору]  
  • +/
    ИЧСХ пока не видно операционок на всем этом В смысле, не PoC вида ежи тоже мог... весь текст скрыт [показать]
     
     
  • 9.48, chinarulezzz (ok), 16:47, 12/06/2014 [^] [ответить]     [к модератору]  
  • –1 +/
    на одном есть это про Си и безопасность смотря для кого, но да, проектов уровн... весь текст скрыт [показать]
     
  • 8.53, Michael Shigorin (ok), 21:28, 12/06/2014 [^] [ответить]     [к модератору]  
  • +/
    Мог пропустить и, кажется, именно Вас уже спрашивал -- много ли кода на них напи... весь текст скрыт [показать]
     
     
  • 9.54, chinarulezzz (ok), 00:43, 13/06/2014 [^] [ответить]    [к модератору]  
  • +/
    я много кода читаю)) и читать эти языки (го - так себе) - интуитивно даже понятно. А сишный код говорит сам за себя.
     
  • 6.29, Ordu (ok), 09:10, 12/06/2014 [^] [ответить]     [к модератору]  
  • –2 +/
    Ну это естественно Ведь в чём не меряй скорость компиляции -- хоть в строках се... весь текст скрыт [показать]
     
     
  • 7.31, цирроз (ok), 10:01, 12/06/2014 [^] [ответить]    [к модератору]  
  • +1 +/
    >Почти все паскалисты вообще не пишут кода

    Они пишут код в школе

     
     
  • 8.45, Аноним (-), 16:16, 12/06/2014 [^] [ответить]     [к модератору]  
  • –1 +/
    Для школы паскаль хорош - зануден и приучает к порядку Но почему-то взрослому ч... весь текст скрыт [показать]
     
     
  • 9.50, цирроз (ok), 18:21, 12/06/2014 [^] [ответить]    [к модератору]  
  • +/
    Стереотипность мышления бабушек, сударь. Плюс, как правило, катастрофическое отсутствие кругозора.
    В принципе, это свойственно не только бабушкам, но и всяким адептам, знающим чисто теоретически, или весьма поверхностно тематику.
     
  • 7.37, chinarulezzz (ok), 14:34, 12/06/2014 [^] [ответить]    [к модератору]  
  • +/
    > мозговыносящий pascal-mode в emacs. Нет мода хуже, чем pascal-mode,

    fpc поддерживается?

     
  • 6.43, Аноним (-), 16:13, 12/06/2014 [^] [ответить]     [к модератору]  
  • –1 +/
    Странно И чего это никто не пишет либы на паскале И операционки не пишут Дитя... весь текст скрыт [показать]
     
     
  • 7.47, chinarulezzz (ok), 16:42, 12/06/2014 [^] [ответить]    [к модератору]  
  • –1 +/
    да, си крутой потому что на нём пишут)) чувак, мы говорим о разном. проехали)
     
  • 7.59, Аноним (59), 08:55, 16/06/2014 [^] [ответить]    [к модератору]  
  • +/
    Забавно приписывать плюсы компилятора и оптимизатора языку программирования.
     
  • 1.24, kravich (ok), 03:56, 12/06/2014 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    >Новый расширенный генератор "CodeLite"

    гуд

     
  • 1.27, Аноним (-), 07:46, 12/06/2014 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    ура !
     
  • 1.28, Pulfer (ok), 08:31, 12/06/2014 [ответить] [показать ветку] [···]    [к модератору]  
  • +1 +/
    Пока ещё сложно судить, сколько проблем переход на новую версию вызовет, но как минимум hedgewars с ним перестал собираться.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:


      Закладки на сайте
      Проследить за страницей
    Created 1996-2018 by Maxim Chirkov  
    ДобавитьПоддержатьВебмастеруГИД  
    Hosting by Ihor