The OpenNET Project / Index page

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



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

"Релиз системы сборки CMake 3.9"  +/
Сообщение от opennews (ok) on 19-Июл-17, 13:55 
Состоялся (https://blog.kitware.com/cmake-3-9-0-available-for-download/) релиз кроссплатформенного открытого генератора сценариев сборки CMake 3.9 (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.9/release/3.9.html#new-features):

-  В генераторы сборочных сценариев для Visual Studio 2010+ добавлена поддержка сборки проектов на языке CUDA (ранее CUDA поддерживался только генераторами Makefile и Ninja);


-  CMake теперь учитывает особенности стандартов Си/Си++ и связанные с ними мета-функции для компиляторов, вызываемых при указании идентификаторов "Cray", "PGI" и "XL";

-  Представлен модуль "CheckIPOSupported", предназначенный для проверки обеспечения поддержки в инструментарии межпроцедурных оптимизаций (IPO). IPO поддерживаются для компиляторов GCC и Clang;


-  В генераторе для Visual Studio 14 2015 учтены изменения инструментария
v140, внесённые в очередном обновлении  VS 2015. В частности изменён набор значений для настройки GenerateDebugInformation, используемой при включении отладочного режима (-DEBUG)  в компоновщике;

-  В генераторы для Visual Studio 2010+ добавлена поддержка языка  "ASM_NASM", включаемая при установке "nasm";
-  В генераторе "Xcode" появилась поддержка Xcode 9 и возможность создания схем сборки для Xcode, активируемая через переменную "CMAKE_XCODE_GENERATE_SCHEME";

-  Команда add_library() с опцией IMPORTED теперь может использоваться для  библиотек объектов (Object Librarie). В команду install(TARGETS) добавлена опция OBJECTS” для указания пути для установки библиотек объектов. В команду install(EXPORT) добавлена поддержка экспорта библиотек объектов;

-  Для библиотек объектов реализовано свойство CUDA_PTX_COMPILATION, обеспечивающее компиляцию в файлы .ptx, вместо обычных объектных файлов;

-  Добавлено свойство BUILD_WITH_INSTALL_NAME_DIR и связанная с ним одноимённая переменная для управления включением свойства INSTALL_NAME_DIR для исполняемых файлов в сборочном дереве;

-  Добавлен модуль GoogleTest, предоставляющий средства для использования функции gtest_add_tests(), независимо от модуля FindGTest;

-  Файлы с исходными текстами в зависимых сборках теперь компилируются без ожидания окончания связывания других зависимостей;
-  В команды   add_custom_command() и file(GENERATE) добавлена поддержка выражений генератора и свойств TARGET_OBJECTS.

URL: https://blog.kitware.com/cmake-3-9-0-available-for-download/
Новость: https://www.opennet.ru/opennews/art.shtml?num=46884

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

Оглавление

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


1. "Релиз системы сборки CMake 3.9"  –2 +/
Сообщение от Iaaa (ok) on 19-Июл-17, 13:55 
И снова, как обычно, хана обратной совместимости. Мои скрипты, что отлично бегают под 3.5.1 и 3.8.0-rc3 под 3.9 отваливаются.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Релиз системы сборки CMake 3.9"  +6 +/
Сообщение от Крутой аноним on 19-Июл-17, 14:16 
> И снова, как обычно, хана обратной совместимости.

ИМХО конечно, но там крутая обратная совместимость.
Все ломающие изменения делаются через policy,
отключите/включите policy ломающую ваш код и все.

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

4. "Релиз системы сборки CMake 3.9"  +/
Сообщение от Iaaa (ok) on 19-Июл-17, 14:33 
спасибо, я посмотрю. оно не горит, конечно, но будет полезно.
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

3. "Релиз системы сборки CMake 3.9"  –2 +/
Сообщение от anonymous (??) on 19-Июл-17, 14:20 
Совсем недавно перевёл крупный проект (250+ файлов CMakeLists.txt) с cmake 2.8 на cmake 3.5. В проекте используется кодогенерация, понаписана куча cmake-макросов и функций. При портировании пара затыков была, но в целом переход дался достаточно легко. ЧЯДНТ?
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

5. "Релиз системы сборки CMake 3.9"  +10 +/
Сообщение от Iaaa (ok) on 19-Июл-17, 14:34 
> ЧЯДНТ?

Мне кажется, что довольно глупо подтверждать отсутствие проблем тулсета тем, что лично у вас их не возникло.

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

6. "Релиз системы сборки CMake 3.9"  +9 +/
Сообщение от hoopoe email(ok) on 19-Июл-17, 15:00 
да ладно, тут многие так делают :)
Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

9. "Релиз системы сборки CMake 3.9"  +1 +/
Сообщение от anonymous (??) on 19-Июл-17, 15:21 
Практически любой инструмент можно использовать так, что в итоге огребёшь неприятностей. Довольно глупо (как минимум, не конструктивно) потом ходить по форумам и рассказывать, что это инструмент во всём виноват.
Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

25. "Релиз системы сборки CMake 3.9"  +3 +/
Сообщение от Кто здесь on 19-Июл-17, 22:20 
ИМХО, такая обратная связь нужна. Она показывает, что проблемы есть. Потом кто-нибудь сможет нагуглить и потратить на удары головой об стол не 8 часов, а полчаса.
Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

11. "Релиз системы сборки CMake 3.9"  –1 +/
Сообщение от Аноним (??) on 19-Июл-17, 16:28 
> Мне кажется, что довольно глупо подтверждать отсутствие проблем тулсета тем, что лично
> у вас их не возникло.

Резал хлеб и порезался, забивал гвоздь и отбил пальцы, ел салат - выбил зуб и проколол язык, пил чай и обварился. Написал бы на опеннете, что ножи, молотки, вилки и кружки проблемны, но решил сначала поменять лампочку …


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

31. "Релиз системы сборки CMake 3.9"  –1 +/
Сообщение от Клыкастый (ok) on 25-Июл-17, 15:39 
> ел салат - выбил зуб и проколол язык

Никогда не доверял салатам!

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

15. "Релиз системы сборки CMake 3.9"  +1 +/
Сообщение от Аноним (??) on 19-Июл-17, 18:13 
> ЧЯДНТ

Например, делаете 250 CMakeLists.txt.

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

26. "Релиз системы сборки CMake 3.9"  +1 +/
Сообщение от Аноныч on 19-Июл-17, 22:28 
> Совсем недавно перевёл крупный проект (250+ файлов...

Да, крупный проект. Хелловорлд с рюшечками.

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

29. "Релиз системы сборки CMake 3.9"  +/
Сообщение от Аноним (??) on 21-Июл-17, 22:00 
OpenCV - это вам не helloworld, но даже там столько модулей не наберётся
Ответить | Правка | ^ к родителю #26 | Наверх | Cообщить модератору

7. "Релиз системы сборки CMake 3.9"  +/
Сообщение от Аноним (??) on 19-Июл-17, 15:02 
Кто пользуется, может будет интересно посмотреть мой проект пакетного менеджера на основе симейка https://cppan.org/.
Больших анонсов не было, но работает вполне стабильно.
Документации пока не так много, примеры использования есть в репозиториях организации на гитхабе (tests, examples).
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

20. "Релиз системы сборки CMake 3.9"  +/
Сообщение от Аноним (??) on 19-Июл-17, 19:23 
Для Windows в CMake встроена возможность находить зависимости (через реестр), собранные через CMake. На практике не видел, но документацию на эти вещи находил. В Linux используется pkg-config. В чём суть вашего проекта?
Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

24. "Релиз системы сборки CMake 3.9"  +/
Сообщение от Egor Pugin on 19-Июл-17, 20:36 
Управление зависимостями: автоматическая загрузка, сборка в любых необходимых конфигурациях (зависит от проекта верхнего уровня). Время добавления зависимости минимально.
Ответить | Правка | ^ к родителю #20 | Наверх | Cообщить модератору

8. "Релиз системы сборки CMake 3.9"  +/
Сообщение от yekm email(ok) on 19-Июл-17, 15:14 
Кстати вот Boost собрался на cmake, если кто ещё не в курсе. http://boost.2283326.n4.nabble.com/CMake-Announcement-from-B...
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

10. "Релиз системы сборки CMake 3.9"  +4 +/
Сообщение от anonymous (??) on 19-Июл-17, 15:28 
Прекрасно. Нынешняя система сборки буста - это отдельное направление уличной магии.
Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

12. "Релиз системы сборки CMake 3.9"  –1 +/
Сообщение от kravich (ok) on 19-Июл-17, 16:45 
огонь, давно пора
Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

18. "Релиз системы сборки CMake 3.9"  +1 +/
Сообщение от nobody (??) on 19-Июл-17, 19:19 
Прям так и "собрался", ага... Многие активные суппортеры высказались против,                         пока не увидят полностью рабочее решение на CMake. Бустовая система сборки - тот ещё кошмар, конечно, но задачи проекта решает пока хорошо.
Правильно писать: "Boost собрался попробовать cmake". Решения о переходе никто не принимал и не утверждал
Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

13. "Релиз системы сборки CMake 3.9"  +/
Сообщение от Alex (??) on 19-Июл-17, 17:10 
А может кто подсказать на каких форумах можно найти хорошо знающих людей по cmake? Столкнулся с проблемой линкования внешне собранной либы. На Киберфоруме тишина, на убунтушном форуме тешина)
Короче печаль
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

14. "Релиз системы сборки CMake 3.9"  +1 +/
Сообщение от Аноним (??) on 19-Июл-17, 17:36 
stackoverflow
Ответить | Правка | ^ к родителю #13 | Наверх | Cообщить модератору

21. "Релиз системы сборки CMake 3.9"  +/
Сообщение от Аноним (??) on 19-Июл-17, 19:47 
заходи на UFO
Ответить | Правка | ^ к родителю #13 | Наверх | Cообщить модератору

22. "Релиз системы сборки CMake 3.9"  +/
Сообщение от Аноним (??) on 19-Июл-17, 20:13 
не знаю на счет форумов, но вот ссылки, которые я храню как полезные и помогшие в свое время:

https://rix0r.nl/blog/2015/08/13/cmake-guide/

https://schneide.wordpress.com/2016/04/08/modern-cmake-with-.../

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

https://github.com/toeb/moderncmake/blob/master/Modern%...

https://cmake.org/cmake/help/latest/manual/cmake-packages.7....

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

28. "Релиз системы сборки CMake 3.9"  –1 +/
Сообщение от Аноним (??) on 21-Июл-17, 01:01 
Порядок библиотечек поменяй и все взлетит. Это недостаток у gcc или даже линкера
Ответить | Правка | ^ к родителю #13 | Наверх | Cообщить модератору

32. "Релиз системы сборки CMake 3.9"  –1 +/
Сообщение от Alexey (??) on 25-Июл-17, 21:42 
Да уже все перебробовал. И разные способы подключения. Вообще не идет. Все время проблема с линковкой и все.
Даже на форуме за помощь деньги предлагал знатокам,что с сmake давно работает) как то не прошло)
Если вы его хорошо знаете то давайте, может вы окажете помощь)
Ответить | Правка | ^ к родителю #28 | Наверх | Cообщить модератору

30. "Релиз системы сборки CMake 3.9"  +/
Сообщение от д2н on 22-Июл-17, 13:35 
#cmake на freenode
Ответить | Правка | ^ к родителю #13 | Наверх | Cообщить модератору

17. "Релиз системы сборки CMake 3.9"  –1 +/
Сообщение от Аноним (??) on 19-Июл-17, 18:56 
> В генераторы сборочных сценариев для Visual Studio 2010+ добавлена поддержка сборки проектов на языке CUDA (ранее CUDA поддерживался только генераторами Makefile и Ninja);

Кстати. Заметил либу cublas в 300-мегабайтном CUDA Toolkit-е. Все либы называются cuda-что-то-там, и только в этой от "cuda" оставили только "cu". Похоже, в NVIDIA есть русские, которые подсказали что будет звучать неблагозвучно: Куда, блас? Вот и стало просто Кублас. А в Fedora русских нет, судя по Pidora!

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

19. "Релиз системы сборки CMake 3.9"  +1 +/
Сообщение от nobody (??) on 19-Июл-17, 19:23 
> для библиотек объектов

Долго пытался понять о чём речь... Может корректнее по-русски "Библиотеки объектных файлов"? Вместо кальки с английского "Object Libraries"

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

27. "Релиз системы сборки CMake 3.9"  +1 +/
Сообщение от Аноним (??) on 19-Июл-17, 23:58 
«Библиотека объектных файлов» тоже так себе формулировка. Все таки обычно библиотеки функций, типов и т.п.

А в тексте имеется в виду специфичные для cmake библиотеки:

add_library(Lib OBJECT ${Lib_srcs})

Которые на самом деле не являются библиотеками в обычном понимании. Хотя и очень похожи.

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

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

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




Спонсоры:
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

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