The OpenNET Project / Index page

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

29.03.2018 16:52  Релиз системы сборки CMake 3.11

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

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

Основные улучшения:

  • В генератор сборочных файлов Ninja добавлена поддержка компиляторов TI C/C++;
  • В генераторах для Visual Studio появилась возможность использования условного выражения COMPILE_LANGUAGE при определении значений COMPILE_DEFINITIONS, INCLUDE_DIRECTORIES, COMPILE_OPTIONS и file(GENERATE). В генераторе Xcode поддержка условного выражения COMPILE_LANGUAGE обеспечена для COMPILE_DEFINITIONS и INCLUDE_DIRECTORIES (в COMPILE_OPTIONS и file(GENERATE) уже поддерживалась ранее);
  • Компанды add_library() и и add_executable() теперь могут вызываться без наличия исходных текстов с расчётом, что код будет добавлен позднее при помощи команды target_sources();
  • В команду target_compile_definitions() добавлено свойство INTERFACE_COMPILE_DEFINITIONS, в команду target_compile_features() - INTERFACE_COMPILE_FEATURES, в target_compile_options() - INTERFACE_COMPILE_OPTIONS, в target_include_directories() - INTERFACE_INCLUDE_DIRECTORIES, в target_sources() - INTERFACE_SOURCES, в target_link_libraries() - INTERFACE_LINK_LIBRARIES;
  • В свойстве исходных файлов "COMPILE_DEFINITIONS" добавлена поддержка выражений генератора;
  • Свойство исходных файлов COMPILE_OPTIONS добавлено в список опций, передаваемых компилятору;
  • При использовании свойств AUTOMOC или AUTOUIC, CMake теперь параллельно запускает несколько процессов moc или uic для сокращения времени сборки. Число процессов определяется через переменную CMAKE_AUTOGEN_PARALLEL и свойство AUTOGEN_PARALLEL (по умолчанию выставляются в значения, соответствующие числу CPU).


  1. Главная ссылка к новости (https://blog.kitware.com/cmake...)
  2. OpenNews: Релиз системы сборки CMake 3.10
  3. OpenNews: Релиз системы сборки CMake 3.9
  4. OpenNews: Доступна система сборки Meson 0.42, на которую переходят systemd, GTK+ и GNOME
  5. OpenNews: Доступен сборочный инструментарий Qbs 1.10, развиваемый проектом Qt
  6. OpenNews: Релиз генератора файлов сборки GNU Automake 1.16
Лицензия: CC-BY
Тип: Программы
Ключевые слова: cmake, build
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Ajax/Линейный | Показать все | RSS
 
  • 1.1, Аноним, 18:49, 29/03/2018 [ответить] [смотреть все]    [к модератору]
  • –5 +/
    ха-ха, рядом новость про QBS!
     
  • 1.2, Аноним, 18:56, 29/03/2018 [ответить] [смотреть все]     [к модератору]
  • –2 +/
    да ну нах usr ports devel cmake Makefile LIB_DEPENDS libcurl so ftp curl ... весь текст скрыт [показать]
     
     
  • 2.3, Аноним, 19:40, 29/03/2018 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • –1 +/
    Пуссиэкзешники должны страдать https packages debian org ru sid cmake Замшелы... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.7, Аноним, 20:52, 29/03/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    и что вы мне этой ссылкой хотели показать, кроме того что еще и по-английски не ... весь текст скрыт [показать]
     
     
  • 4.8, Аноним, 20:58, 29/03/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +2 +/
    А компилятор без компилятора ты уже собрал ... весь текст скрыт [показать]
     
     
  • 5.10, Аноним, 21:04, 29/03/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    слив засчитан То есть факт звиздежа про миниимум зависимостей вместо аж двух... весь текст скрыт [показать]
     
     
  • 6.11, anonymous, 21:49, 29/03/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +3 +/
    Ты эта, runtime от buildtime зависимости отличай и make clean не забывай делать ... весь текст скрыт [показать]
     
     
  • 7.24, Аноним, 10:23, 30/03/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +1 +/
    вам там показали кучу чудовищного уродливого bloatware, от которого зависит Но ... весь текст скрыт [показать]
     
     
  • 8.34, Аноним, 13:55, 30/03/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • –1 +/
    Теоретически На деле же 8230 Это не ты выше цитату приводил Ну то есть не со... весь текст скрыт [показать]
     
     
  • 9.35, Аноним, 16:45, 30/03/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    ну так что вы хотите Одни неумельцы тащат в продукт поделки других Я ж говор... весь текст скрыт [показать]
     
     
  • 10.40, Аноним, 17:52, 30/03/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Так я ж соглашаюсь не надо эту бяку в рот И в другие физиологические отверстия... весь текст скрыт [показать]
     
     
  • 11.42, Аноним, 19:09, 30/03/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    ну так это и есть способ рассказать automake, что тебе от него нужно а что из э... весь текст скрыт [показать]
     
     
  • 12.45, Аноним, 11:03, 31/03/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • –1 +/
    Ничего там не перемешивали Просто первый этап генерацию новых и подкладывание ... весь текст скрыт [показать]
     
  • 6.17, Аноним, 01:44, 30/03/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +4 +/
    Неплохо у бздунов бомбануло Аноним правда другой был, но сказанул все верно Фа... весь текст скрыт [показать]
     
     
  • 7.20, Ivan_83, 02:19, 30/03/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • –1 +/
    У пакетов есть как минимум одна проблема они собраны с какими то опциями, и час... весь текст скрыт [показать]
     
     
  • 8.25, Аноним, 10:38, 30/03/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • –2 +/
    и проблема, и напряг - но когда тебе нужно что-то нестандартное или просто отсут... весь текст скрыт [показать]
     
     
  • 9.30, Аноним, 12:28, 30/03/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +1 +/
    Так ты уже собрал свой любимый проприетарный шланг c помощью шланга, питона, нин... весь текст скрыт [показать]
     
     
  • 10.37, Аноним, 16:59, 30/03/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • –1 +/
    ты будешь удивлен, но тот что в base system freebsd - собирается без шланга ну,... весь текст скрыт [показать]
     
     
  • 11.43, Аноним, 22:58, 30/03/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    А голый cmake собираем привожу ваш же комментарий usr ports devel cmake Make... весь текст скрыт [показать]
     
     
  • 12.48, Аноним, 21:11, 01/04/2018 [^] [ответить] [смотреть все]    [к модератору]  
  • –1 +/
    просто опечатка. Там make. Обычный такой bsd make.
     
  • 9.33, Аноним, 13:16, 30/03/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • –1 +/
    Синтаксис cmake местами, может, и странноват, но зато предельно простой, если не... весь текст скрыт [показать]
     
     
  • 10.39, Аноним, 17:11, 30/03/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    на фоне необходимости уметь собственный код писать переносимо - это такая мелочь... весь текст скрыт [показать]
     
  • 6.32, Аноним, 12:47, 30/03/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +2 +/
    Дорогой бздун, ты слился на незнании матчасти еще при копипасте частей мейк-файл... весь текст скрыт [показать]
     
     
  • 7.38, Аноним, 17:01, 30/03/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    я рад за вас, что вы выучили массу абсолютно ненужных заклинаний Типикал юзер c... весь текст скрыт [показать]
     
     
  • 8.44, Аноним, 23:01, 30/03/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Т е типикал бздun маны своей же билдсистемы в глаза не видел man ports Яснопон... весь текст скрыт [показать]
     
     
  • 9.49, Аноним, 21:22, 01/04/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    когда-то видел, запоминать всю эту километровую муру - это для вас, мальчики с ф... весь текст скрыт [показать]
     
  • 3.16, Аноним, 00:15, 30/03/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Ага, ещё лучше ... весь текст скрыт [показать]
     
  • 2.5, Аноним, 20:48, 29/03/2018 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • –2 +/
    Обломайся, ему всё равно нужен make А чем собирается make Вот тут полностью со... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.6, Аноним, 20:50, 29/03/2018 [^] [ответить] [смотреть все]    [к модератору]  
  • –2 +/
    > ему всё равно нужен make

    Ах да, извини. gmake, конечно же.


     
  • 3.9, Аноним, 21:00, 29/03/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • –2 +/
    gmake еще oldschool - там не было принято старательно _удалять_ из дистрибутивно... весь текст скрыт [показать]
     
     
  • 4.12, Аноним, 22:21, 29/03/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Шта Это где это так стало принято Не, я понимаю, что хипстота автокрэпом польз... весь текст скрыт [показать]
     
     
  • 5.26, Аноним, 10:44, 30/03/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • –1 +/
    да везде Старательно добавят в gitignore как будто он у них меняется и буду... весь текст скрыт [показать]
     
     
  • 6.28, Аноним, 11:22, 30/03/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    То есть пруфа не будет В gitignore его добавляют совершенно правильно В гите ... весь текст скрыт [показать]
     
     
  • 7.29, Аноним, 11:24, 30/03/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Да-да, даже в олдскульном gmake https git savannah gnu org cgit make git ... весь текст скрыт [показать]
     
  • 4.13, Аноним, 22:23, 29/03/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +1 +/
    Это тот, который под винду только msvc можно собрать Кул стори ... весь текст скрыт [показать]
     
  • 2.14, atnt, 22:59, 29/03/2018 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • +/
    Может быть это проблема порта и должно быть BUILD_DEPENDS ... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.18, Ivan_83, 02:13, 30/03/2018 [^] [ответить] [смотреть все]    [к модератору]  
  • –1 +/
    Оно и подразумевает что при билде только используется.
     
  • 2.19, Ivan_83, 02:16, 30/03/2018 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • +2 +/
    Автотулс остой полный, как по мне Нужно обязательно 100500 файлов насоздавать ч... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.27, Аноним, 10:48, 30/03/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +1 +/
    Если пытаться что-то из этого выпилить - оно у тебя может и получится, только ра... весь текст скрыт [показать]
     
  • 2.36, debdeb, 16:55, 30/03/2018 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • –1 +/
    Где вы это нашли В архиве cmake-3 11 0 tar gz нет ни одного makefile а Во вр... весь текст скрыт [показать] [показать ветку]
     
  • 2.46, Аноним, 13:52, 31/03/2018 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • –1 +/
    Ага, gettext, который тянет libxml, который тянет питон ... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.47, Аноним, 13:57, 31/03/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • –1 +/
    Но его можно отключить, если собирать rhash без поддержки иностранных языков ... весь текст скрыт [показать]
     
  • 3.50, Аноним, 21:28, 01/04/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    dependency hell сам по себе - это отдельная болячка, хоть и менее чудовищная чем... весь текст скрыт [показать]
     
  • 1.21, anonimm, 05:59, 30/03/2018 [ответить] [смотреть все]    [к модератору]  
  • +/
    Отличная система сборки, имеет хорошую поддержку в QtCreator и других IDE (говорят, даже VSCode). Крупные проекты уже оценили; не понимаю тех, кто не хочет переходить с autotools или тех, кто предпочитает голый Makefile.
     
  • 1.31, anonymous, 12:36, 30/03/2018 [ответить] [смотреть все]    [к модератору]  
  • –1 +/
    >Число процессов определяется через переменную CMAKE_AUTOGEN_PARALLEL

    через make -jN сделать не судьба видимо.

     
     
  • 2.41, anonymous, 18:09, 30/03/2018 [^] [ответить] [смотреть все] [показать ветку]    [к модератору]  
  • +/
    AUTOGEN и AUTOMOC работают там, где нет make.
     
     
  • 3.51, Аноним, 21:29, 01/04/2018 [^] [ответить] [смотреть все]    [к модератору]  
  • +/
    > AUTOGEN и AUTOMOC работают там, где нет make.

    в винде, да?

     

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


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