Опа, релизнулся смак 4.2 (42).
Из самых вкусных вещей это поддержка вышедшей студии 2026 и (ВНЕЗАПНО) системы сборки FASTBuild , которая применяется в некоторых компаниях для распределенной сборки и расширенного контроля за собранным кэшем (знаю, что меня читает народ , что у себя в геймдеве использует её, и мучается со своими смак-врапперами, радуйтесь: ща можно просто сгенерировать и забиндить доп имеющиеся).
Также официально добавлена поддержка сборки под Emscripten (интеграция с апстримом стала лучше), те, кто собираются под васм, тоже рекомендую обновляться.
Любителям модулей и
Теперь можно явно очищать значения в кэше через
Остальные нововведения не такие (субъективно) большие, но все равно немного улучшают жизнь:
-
- линтеры теперь можно отключать через свойство цели SKIP_LINTING - удобно для временного отключения для определенных целей сборки;
- новые команды
- Новые свойства для контроля имени объектных файлов при сборке и установке
- Новые свойства для контроля пулов сборки и префиксов имён файлов объединенной сборки JOB_POOL_COMPILE и UNITY_BUILD_FILENAME_PREFIX - думаю, фастбилд чутка поспособствовал этим свойствам, у него было похожее "из коробки";
- модуль ExternalProject теперь может задавать переменные окружения - полезно для кривых кастомных билдов, которые игнорят заданные смаком компиляторы и прочие флажки;
- "модель кода" (абстракция смака с метаинфой для тулинга и IDE-шек) теперь также хранит метаинфу про импортированные таргеты - полезно для пакетников, чтобы они могли проверить корректность импортированных таргетов зависимостей.
- встроенные Find-модули теперь консистентно возвращают инфу о том, что пакет найден, в
- генератор для 2015-й студии признан устаревшим, и его удалят в следующем релизе, можно использовать 2017-ю студию с v140-тулсетом;
И куча другого, смотрите заметки тут: https://cmake.org/cmake/help/latest/release/4.2.html
Пишите в комментариях, если интересно что-то разобрать, или дополнить то, что я не отметил, или если где увидели неточность.
Версия поста v1.2.1(микро-фиксы; ссылки; find-модули; 2015 студия)
@AlexFailsChannel
#длиннопостик #cmake #длиннопостик@AlexFailsChannel
Из самых вкусных вещей это поддержка вышедшей студии 2026 и (ВНЕЗАПНО) системы сборки FASTBuild , которая применяется в некоторых компаниях для распределенной сборки и расширенного контроля за собранным кэшем (знаю, что меня читает народ , что у себя в геймдеве использует её, и мучается со своими смак-врапперами, радуйтесь: ща можно просто сгенерировать и забиндить доп имеющиеся).
Также официально добавлена поддержка сборки под Emscripten (интеграция с апстримом стала лучше), те, кто собираются под васм, тоже рекомендую обновляться.
Любителям модулей и
import std авторы добавили способ насильно задать путь до жсонины с метаинфой по модулю std , ибо апстримы компиляторов, дистрибутивов , к сожалению, пока что не смогли устаканить нормальные пути (см., например, баг в llvm)Теперь можно явно очищать значения в кэше через
set(CACHE{<var>}) и unset(CACHE{<var>}). Порой бывает, что значение переменной в кэше и при выполнении скрипта не совпадают (иногда бывает при работе с депсами), и это раньше через форс-кэширование, сейчас добавили явный механизмОстальные нововведения не такие (субъективно) большие, но все равно немного улучшают жизнь:
-
cmake -E copy[directory]_if_newer - новая команда для копирования файла/каталога , если он новее;- линтеры теперь можно отключать через свойство цели SKIP_LINTING - удобно для временного отключения для определенных целей сборки;
- новые команды
string(REGEX QUOTE) и cmake_language(TRACE) для поиска точно по строке и переключения трассировки соответственно;- Новые свойства для контроля имени объектных файлов при сборке и установке
OBJECT_NAME, INSTALL_OBJECT_NAME (у этого есть ещё пара доп ручек, см доку);- Новые свойства для контроля пулов сборки и префиксов имён файлов объединенной сборки JOB_POOL_COMPILE и UNITY_BUILD_FILENAME_PREFIX - думаю, фастбилд чутка поспособствовал этим свойствам, у него было похожее "из коробки";
- модуль ExternalProject теперь может задавать переменные окружения - полезно для кривых кастомных билдов, которые игнорят заданные смаком компиляторы и прочие флажки;
- "модель кода" (абстракция смака с метаинфой для тулинга и IDE-шек) теперь также хранит метаинфу про импортированные таргеты - полезно для пакетников, чтобы они могли проверить корректность импортированных таргетов зависимостей.
- встроенные Find-модули теперь консистентно возвращают инфу о том, что пакет найден, в
<PackageName_FOUND> вместо <PACKAGENAME_FOUND>, старые переменные доступны, но помечены устаревшими- генератор для 2015-й студии признан устаревшим, и его удалят в следующем релизе, можно использовать 2017-ю студию с v140-тулсетом;
И куча другого, смотрите заметки тут: https://cmake.org/cmake/help/latest/release/4.2.html
Пишите в комментариях, если интересно что-то разобрать, или дополнить то, что я не отметил, или если где увидели неточность.
Версия поста v1.2.1
@AlexFailsChannel
#длиннопостик #cmake #длиннопостик@AlexFailsChannel
👍10❤5🤔1💊1
Forwarded from veselcraft (Vladimir Barinov)
Please open Telegram to view this post
VIEW IN TELEGRAM
😁11❤2
Forwarded from Разработка ждёт балета
Очень прикольная задумка: The UNIX Pipe Card Game. Идея в том, чтобы обучить кого-то искусству pipes. Игроки по очереди тянут карточки и пытаются из них составить последовательность, которая решит поставленную задачу.
#game #unix #bash
#game #unix #bash
🔥9🤔2❤1
Forwarded from Новости Linux
Утверждён стандарт C++26
Комитет ISO по стандартизации языка C++ завершил утвердил финальным вариант спецификации, образующей международный стандарт "C++26". Представленные в спецификации возможности частично уже поддерживаются в компиляторах GCC, Clang и Microsoft Visual C++. Поддерживающие C++26 стандартные библиотеки реализованы в рамках проекта Boost.
Читать полностью
#OpenNet
@linux_potok
Комитет ISO по стандартизации языка C++ завершил утвердил финальным вариант спецификации, образующей международный стандарт "C++26". Представленные в спецификации возможности частично уже поддерживаются в компиляторах GCC, Clang и Microsoft Visual C++. Поддерживающие C++26 стандартные библиотеки реализованы в рамках проекта Boost.
Читать полностью
#OpenNet
@linux_potok
🔥13
Alex Fails Some News Channel
#cppref #your_taking_too_long @AlexFailsChannel
Господа, мы дождались! Это не учебная тревога! Cppreference.com снова ожил!
#cppref #its_alive #walking_dead #your_taking_too_long
#cppref #its_alive #walking_dead #your_taking_too_long
🔥12
Forwarded from ttldtor_posts (Sad Catoly)
This media is not supported in your browser
VIEW IN TELEGRAM
Ямайская Сейлор Мун ❤️ ❤️ ❤️
🔥4💩2❤1😁1😱1