The OpenNET Project / Index page

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

форумы  правила/FAQ  поиск  регистрация  вход/выход  слежка  RSS
"Релиз системы сборки CMake 3.8"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Релиз системы сборки CMake 3.8"  +/
Сообщение от opennews (??) on 12-Апр-17, 09:46 
Состоялся (https://blog.kitware.com/cmake-ups-support-for-popular-progr.../) релиз кроссплатформенного открытого генератора сценариев сборки CMake 3.8 (http://www.cmake.org/), выступающего в качестве альтернативы Autotools и используемого в таких проектах, как KDE, LLVM/Clang, MySQL, MariaDB, ReactOS и Blender. Код  CMake написан на языке C++  и распространяется под лицензией BSD.

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

Основные улучшения (https://cmake.org/cmake/help/v3.8/release/3.8.html#new-features):


-  Добавлена поддержка сборки проектов на языке CUDA через генераторы  Makefile и Ninja для  Linux, macOS и Windows;
-  Добавлена поддержка сборки проектов на языке C#  через генератор сценариев сборки для Visual Studio;
-  В средствах для настройки параметров компилятора (Compile Features) реализована возможность определения мета-флагов, которые изменяют режим работы компилятора  в привязке к специфичным языковым стандартам, например, "cxx_std_11" для C++ 11;
-  "Compile Features" теперь учитывает особенности стандарта C++ 17, но набор мета-флагов "cxx_std_17" для него пока остаётся пустым;

-  В "Compile Features" добавлена поддержка особенностей компиляторов Intel C++ версий с 12.1 по 17.0 для UNIX и Windows;

-  В генераторы сценариев сборки для Visual Studio 2013+
в блок "CMAKE_GENERATOR_TOOLSET" добавлена поддержка опции "host=x64"  для указания использования 64-разрядного инструментария на 64-разрядных системах;

-  В генераторах для Visual Studio обеспечен импорт в генерируемый проект файлов MSBuild через передачу в target_link_libraries() файлов с расширением .targets;

-  В команду try_compile() добавлена опция для выбора языкового стандарта, который будет использоваться в генерируемом тестовом проекте. В  try_compile() также теперь учитывается переменная окружения CMAKE_CXX_STANDARD;
-  Добавлено свойство "BUILD_RPATH" и связанная с ним переменная   "CMAKE_BUILD_RPATH",  позволяющие указать собственный путь RPATH для сохранения исполняемых файлов в процессе сборки;
-  Добавлено новое выражение генератора "$‹IF:cond,true-value,false-value ›", возвращающее значение "true-value", если условие "cond" истинно (1) или "false-value" - ложно (0);
-  В свойство "COMPILE_FLAGS" добавлена поддержка выражений генератора.


URL: https://blog.kitware.com/cmake-ups-support-for-popular-progr.../
Новость: https://www.opennet.ru/opennews/art.shtml?num=46363

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Релиз системы сборки CMake 3.8"  +1 +/
Сообщение от Аноним (??) on 12-Апр-17, 09:46 
Полезная инфа по CMake:

https://github.com/toeb/moderncmake

https://www.slideshare.net/DanielPfeifer1/cmake-48475415

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

3. "Релиз системы сборки CMake 3.8"  –2 +/
Сообщение от Аноним (??) on 12-Апр-17, 11:02 
>https://github.com/toeb/moderncmake/blob/master/sample03/CMa...
>https://github.com/toeb/moderncmake/blob/master/sample03/ext...

Ясно, понятно.

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

4. "Релиз системы сборки CMake 3.8"  –1 +/
Сообщение от Аноним (??) on 12-Апр-17, 11:19 
https://github.com/toeb/moderncmake/raw/master/Modern%2...
Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

5. "Релиз системы сборки CMake 3.8"  –2 +/
Сообщение от Andrey Mitrofanov on 12-Апр-17, 11:42 
> https://github.com/toeb/moderncmake/raw/master/Modern%2...

У модного паренька нет правильной ссылки/хостилки http://thetoeb.de/2016/08/30/modern-cmake-presentation/ с человечим Content-Type: application/pdf или как там, а не даунлоадом или веб-ещё-0 ги-хаба или гу-дока?  ...."Ясно, понятно."

Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

2. "Релиз системы сборки CMake 3.8"  –7 +/
Сообщение от Аноним (??) on 12-Апр-17, 10:38 
> "Compile Features" теперь учитывает особенности стандарта C++ 17, но набор мета-флагов "cxx_std_17" для него пока остаётся пустым;

Какое дело системе сборки до специфичных флагов компилятора?

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

6. "Релиз системы сборки CMake 3.8"  +7 +/
Сообщение от Аноним (??) on 12-Апр-17, 11:44 
> Какое дело системе сборки до специфичных флагов компилятора?

Ты не поверишь -- система сборки генерирует мэйкфайлы, которые будут вызывать компиляторы со специфичными флагами.

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

7. "Релиз системы сборки CMake 3.8"  –4 +/
Сообщение от Аноним (??) on 12-Апр-17, 12:03 
>

Если не дошло, то разъясню: специфичные флаги компилятору --- прерогатива автора. И должны указываться автором. Для передачи флагов CMAKE_C_FLAGS вполне достаточно. Не дело сборочной системы совать [специфичные] флаги по своему усмотрению, а именно эту попытку я и подозреваю.

Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

8. "Релиз системы сборки CMake 3.8"  +2 +/
Сообщение от Аноним (??) on 12-Апр-17, 12:25 
Это так, если вы хотите затачивать ваши сценарии подо все компиляторы на свете. А кто-то просто хочет сказать "включить C++14", а система сборки должна сама понять, что нужно подсунуть конкретному компилятору, чтобы выполнить это требование.
Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

11. "Релиз системы сборки CMake 3.8"  –1 +/
Сообщение от Andrey Mitrofanov on 12-Апр-17, 13:12 
> Это так, если вы хотите затачивать ваши сценарии подо все компиляторы на
> должна сама понять, что нужно подсунуть конкретному компилятору, чтобы выполнить это

Автокрэп не нужон, говорили https://xkcd.com/927/ они...

Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

14. "Релиз системы сборки CMake 3.8"  –1 +/
Сообщение от BlackRaven86 email(ok) on 12-Апр-17, 13:21 
Кто говорил?
Когда-то был нужен, сейчас его заменил CMake.
Ответить | Правка | ^ к родителю #11 | Наверх | Cообщить модератору

15. "Релиз системы сборки CMake 3.8"  –2 +/
Сообщение от Аноним (??) on 12-Апр-17, 13:44 
> Когда-то был нужен, сейчас его заменил CMake.

Это точно ;) --- cmake реализует идеи аналогичные autotools и порождает проблемы, аналогичные проблемам autotools.

Он пока не добрался до уровня крапа вроде libtool; и авторы, использующие CMake нечасто тащат такое чудесное чудо как glib. Собственно, пока это и уменьшает проблемность.

Ответить | Правка | ^ к родителю #14 | Наверх | Cообщить модератору

16. "Релиз системы сборки CMake 3.8"  –1 +/
Сообщение от ваноним on 12-Апр-17, 14:16 
да ваще, жуть! а месье знает что-нибудь лучше? или может сам сделал что-нибудь лучше?
Ответить | Правка | ^ к родителю #15 | Наверх | Cообщить модератору

17. "Релиз системы сборки CMake 3.8"  +/
Сообщение от Аноним (??) on 12-Апр-17, 14:21 
> да ваще, жуть! а месье знает что-нибудь лучше? или может сам сделал что-нибудь лучше?

Да.

Ответить | Правка | ^ к родителю #16 | Наверх | Cообщить модератору

19. "Релиз системы сборки CMake 3.8"  +/
Сообщение от BlackRaven86 email(ok) on 12-Апр-17, 15:08 
Примеры в студию.
Ответить | Правка | ^ к родителю #17 | Наверх | Cообщить модератору

23. "Релиз системы сборки CMake 3.8"  –2 +/
Сообщение от Аноним (??) on 12-Апр-17, 18:32 
> Примеры в студию.

А площадка-то соответствует?

Ответить | Правка | ^ к родителю #19 | Наверх | Cообщить модератору

26. "Релиз системы сборки CMake 3.8"  +/
Сообщение от BlackRaven86 email(ok) on 12-Апр-17, 18:47 
А это и не важно. Вы утверждаете, что знаете или сделали лучше. Предоставьте доказательства.
Ответить | Правка | ^ к родителю #23 | Наверх | Cообщить модератору

29. "Релиз системы сборки CMake 3.8"  +/
Сообщение от ... on 13-Апр-17, 12:16 
Meson
Ответить | Правка | ^ к родителю #19 | Наверх | Cообщить модератору

30. "Релиз системы сборки CMake 3.8"  +/
Сообщение от Аноним (??) on 13-Апр-17, 14:02 
Спасибо за ссылку, но здесь я сильно расхожусь с авторами meson уже на уровне целеполагания.
Ответить | Правка | ^ к родителю #29 | Наверх | Cообщить модератору

31. "Релиз системы сборки CMake 3.8"  +/
Сообщение от 35е63ку on 14-Апр-17, 00:51 
>>> Meson is also available in the Python Package Index and can be installed with pip3 install meson.

На помойку ибо не взлетит. Кросплатформленная система сборки не должна зависеть от этого http://i.imgur.com/W5Nx6qg.png

Ответить | Правка | ^ к родителю #29 | Наверх | Cообщить модератору

32. "Релиз системы сборки CMake 3.8"  –1 +/
Сообщение от Аноним (??) on 14-Апр-17, 16:13 

> На помойку ибо не взлетит. Кросплатформленная система сборки не должна зависеть от
> этого http://i.imgur.com/W5Nx6qg.png

Странно, я собирал готовый пакет на тридцатник.
Стольник - это если включить тесты, ИДЕ, доки. Я понимаю, что "С:\" по ссылке уже намекает, но это ж из какого места должны расти руки, чтобы раздуть все это до 780МБ?

Ответить | Правка | ^ к родителю #31 | Наверх | Cообщить модератору

36. "Релиз системы сборки CMake 3.8"  +/
Сообщение от 35е63ку on 20-Апр-17, 02:55 
>> На помойку ибо не взлетит. Кросплатформленная система сборки не должна зависеть от
>> этого http://i.imgur.com/W5Nx6qg.png
> Странно, я собирал готовый пакет на тридцатник.
> Стольник - это если включить тесты, ИДЕ, доки. Я понимаю, что "С:\"
> по ссылке уже намекает, но это ж из какого места должны
> расти руки, чтобы раздуть все это до 780МБ?

У разработчиков питона нужно спросить.

Ответить | Правка | ^ к родителю #32 | Наверх | Cообщить модератору

34. "Релиз системы сборки CMake 3.8"  –1 +/
Сообщение от ваноним on 16-Апр-17, 21:29 
Поставьте себе уже человеческую ОСь.
ЗЫ
* dev-lang/python-2.7.13
         Total files : 4548
         Total size  : 66.50 MiB
* dev-lang/python-3.4.6
         Total files : 5133
         Total size  : 80.20 MiB
* dev-lang/python-3.6.1
         Total files : 6907
         Total size  : 101.17 MiB
Ответить | Правка | ^ к родителю #31 | Наверх | Cообщить модератору

37. "Релиз системы сборки CMake 3.8"  +/
Сообщение от 35е63ку on 20-Апр-17, 02:55 
>[оверквотинг удален]
>          Total files :
> 5133
>          Total size  
> : 80.20 MiB
>  * dev-lang/python-3.6.1
>          Total files :
> 6907
>          Total size  
> : 101.17 MiB
>Cross-platform

Ответить | Правка | ^ к родителю #34 | Наверх | Cообщить модератору

35. "Релиз системы сборки CMake 3.8"  –1 +/
Сообщение от ваноним on 16-Апр-17, 21:30 
чем эта поделка принципиально лучше cmake?
Ответить | Правка | ^ к родителю #29 | Наверх | Cообщить модератору

39. "Релиз системы сборки CMake 3.8"  +/
Сообщение от adolfus (ok) on 27-Апр-17, 15:00 
И она автоматом подключит для винд гoвнoпpиложeние "K" про "безопасные строки".
Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

10. "Релиз системы сборки CMake 3.8"  +2 +/
Сообщение от Аноним (??) on 12-Апр-17, 13:03 
> специфичные флаги компилятору --- прерогатива автора

Как расшифровывается буковка C в слове cmake, ты, видимо, не в курсе?
Автор не знает заранее, каким компилятором будет собираться код, и какие специфичные флаги этот компилятор понимает. Подставить эти флаги — дело как раз системы сборки. И делает она это, разумеется, не по своему усмотрению, а на основании значения переменной CMAKE_CXX_STANDARD и/или CMAKE_CXX_STANDARD_REQUIRED, которую устанавливает как раз таки автор.

Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

9. "Релиз системы сборки CMake 3.8"  +/
Сообщение от BlackRaven86 email(ok) on 12-Апр-17, 12:57 
Как включить в кроссплатформенном проекте поддержку C++14, например?
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

12. "Релиз системы сборки CMake 3.8"  +1 +/
Сообщение от Аноним (??) on 12-Апр-17, 13:12 
> CMake примечателен предоставлением простого языка сценариев

Да, язык там знатный. Ознакомившись с ним, выбрал autotools.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

13. "Релиз системы сборки CMake 3.8"  +3 +/
Сообщение от Аноним (??) on 12-Апр-17, 13:18 
У autotools-то всё зашибок с синтаксисом, ага. Чудесные макросы, чудесный выхлоп Makefile, - всё замечательно!
Ответить | Правка | ^ к родителю #12 | Наверх | Cообщить модератору

18. "Релиз системы сборки CMake 3.8"  +/
Сообщение от Аноним (??) on 12-Апр-17, 15:06 
на БАСИК похож же)
Ответить | Правка | ^ к родителю #12 | Наверх | Cообщить модератору

20. "Релиз системы сборки CMake 3.8"  –1 +/
Сообщение от Аноним (??) on 12-Апр-17, 16:17 
M4 чувак!!! Застрелиться.
Ответить | Правка | ^ к родителю #12 | Наверх | Cообщить модератору

22. "Релиз системы сборки CMake 3.8"  +2 +/
Сообщение от Аноним (??) on 12-Апр-17, 17:55 
Анон который не смог в M4 - не анон.

1337

Ответить | Правка | ^ к родителю #20 | Наверх | Cообщить модератору

38. "Релиз системы сборки CMake 3.8"  +/
Сообщение от ваноним on 21-Апр-17, 20:40 
Не анон тот, кто смог М4 и... ему понравилось.
Ответить | Правка | ^ к родителю #22 | Наверх | Cообщить модератору

21. "Релиз системы сборки CMake 3.8"  –1 +/
Сообщение от Аноним (??) on 12-Апр-17, 16:27 
Hint: прежде чем выбирать какой-то инструмент, ознакомься с _этим_ инструментом, а не с конкурирующим.
Ответить | Правка | ^ к родителю #12 | Наверх | Cообщить модератору

24. "Релиз системы сборки CMake 3.8"  –3 +/
Сообщение от Аноним (??) on 12-Апр-17, 18:35 
лучше посмотри на Ninja
Ответить | Правка | ^ к родителю #12 | Наверх | Cообщить модератору

28. "Релиз системы сборки CMake 3.8"  –1 +/
Сообщение от Аноним (??) on 13-Апр-17, 04:19 
лучше посмотри на цмейк, паря. https://cmake.org/cmake/help/latest/manual/cmake-generators....

The cmake(1) command-line tool --help output lists available generators on the current platform.
...
Ninja
...

Ответить | Правка | ^ к родителю #24 | Наверх | Cообщить модератору

25. "Релиз системы сборки CMake 3.8"  +/
Сообщение от Аноним (??) on 12-Апр-17, 18:44 
Кто-нибудь знает область применения $‹IF:cond,true-value,false-value ›? Не совсем понятно, для чего это сделано.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

27. "Релиз системы сборки CMake 3.8"  +/
Сообщение от Аноним (??) on 12-Апр-17, 21:35 
Вероятно, для передачи значений сторонним системам сборки и прочим программам, в которых булевый тип имеет представление значений не такое как cmake

True/False
1/0
Enable/Disable

Ответить | Правка | ^ к родителю #25 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

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