Випущено нове оновлення генератора сценаріїв CMake 3.15

cmake

Кілька днів тому Випущено генератор скриптів з відкритим кодом CMake 3.15 який діє як альтернатива Autotools і використовується в таких проектах, як KDE, LLVM / Clang, MySQL, MariaDB, ReactOS та Blender.

CMake - це інструмент генерації або автоматизації багатоплатформних кодів. Назва є абревіатурою для "cross platform make" (make cross platform, за межами використання "make" у назві, CMake - це окремий пакет і вищий рівень, ніж загальна система make Unix, подібний до автоінструментів.

Про CMake

CMake відрізняється тим, що надає просту мову сценаріїв, інструменти для розширення функціональності між модулями, мінімальна кількість залежностей (відсутність прив'язки до M4, Perl або Python), підтримка кешування, наявність інструментів для перехресної компіляції, підтримка створення збірних файлів для широкого спектру компіляторних систем та компіляторів.

Службові програми ctest та cpack для визначення сценаріїв тестування та створення пакунків з утилітою cmake-gui для інтерактивного налаштування параметрів збірки.

CMake використовується для управління процесом компіляції програмного забезпечення за допомогою простих і незалежних конфігураційних файлів платформи. Cmake генерує власні файли make-файлів та робочі області, які можна використовувати у бажаному середовищі розробки.

Це порівнянно із системою збірки GNU в Unix тим, що процес контролюється файлами конфігурації, у випадку CMake, який називається CMakeLists.txt.

На відміну від системи побудови GNU, яка обмежено платформами Unix, CMake підтримує генерацію файлів для різних операційних систем, що полегшує технічне обслуговування та усуває необхідність мати кілька наборів файлів для кожної платформи.

Процес побудови контролюється шляхом створення одного або декількох файлів CMakeLists.txt у кожному каталозі (включаючи підкаталоги).

Код CMake написаний на C ++ і поширюється за ліцензією BSD.

Основні нові можливості CMake 3.15

Ця нова версія підкреслюється надходженням початкової підтримки генератора мови Swift розроблений Apple, був доданий до генератора сценаріїв збірки Ninja Toolkit.

Крім цього, також надається підтримка опції компілятора Clang для Windows, яка побудована за допомогою ABI MSVC, але використовує параметри командного рядка у стилі GNU.

Розробники підкреслюють, що змінні CMAKE_MSVC_RUNTIME_LIBRARY y MSVC_RUNTIME_LIBRARY додаються для вибору бібліотек виконання, що використовуються компіляторами ABI MSVC (MS VisualStudio).

Для компіляторів, як MSVCв CMAKE__FLAGSЗа замовчуванням список прапорів керування попередженнями, наприклад "/ W3", зупинено.

З інших покращень, які було виділено в анонсі випуску цієї нової версії, ми знаходимо наступне:

  • Додано генеруючий вираз 'COMPILE_LANG_AND_ID: »Визначити параметри компілятора для цільових файлів, що використовують змінні CMAKE__COMPILER_ID y LANGUAGE для кожного кодового файлу
  • Вирази генератора C_COMPILER_ID, CXX_COMPILER_ID, CUDA_COMPILER_ID, Fortran_COMPILER_ID, COMPILE_LANGUAGE, COMPILE_LANG_AND_ID y PLATFORM_ID додати підтримку для відповідності значення списку, розділених комами елементів
  • Додано змінну CMAKE_FIND_PACKAGE_PREFER_CONFIG, в якому виклик find_package () буде спочатку шукати файл конфігурації пакета, навіть якщо доступний модуль пошуку
  • Для бібліотек інтерфейсу додана підтримка налаштування властивостей PUBLIC_HEADER y PRIVATE_HEADER, заголовки якого можна налаштувати командою install (TARGETS), що передає аргументи PUBLIC_HEADER y PRIVATE_HEADER
  • Додано змінну CMAKE_VS_JUST_MY_CODE_DEBUGGING та властивість призначення VS_JUST_MY_CODE_DEBUGGING щоб увімкнути режим «Просто мій код» у налагоджувачі Visual Studio під час компіляції за допомогою MSVC cl 19.05 та новіших версій.
  • Модуль FindBoost був перероблений, який зараз більш повно працює в конфігурації та режимах модулів за наявності інших модулів пошуку
  • До команди message () додана підтримка типів NOTICE, VERBOSE, DEBUG та TRACE
  • Команда "експортувати (ПАКЕТ)" тепер нічого не робить, поки вона явно не ввімкнена через змінну CMAKE_EXPORT_PACKAGE_REGISTRY.

Якщо ви хочете дізнатися більше про це, ви можете проконсультуватися за наступним посиланням.


Будьте першим, щоб коментувати

Залиште свій коментар

Ваша електронна адреса не буде опублікований. Обов'язкові для заповнення поля позначені *

*

*

  1. Відповідальний за дані: Мігель Анхель Гатон
  2. Призначення даних: Контроль спаму, управління коментарями.
  3. Легітимація: Ваша згода
  4. Передача даних: Дані не передаватимуться третім особам, за винятком юридичних зобов’язань.
  5. Зберігання даних: База даних, розміщена в мережі Occentus Networks (ЄС)
  6. Права: Ви можете будь-коли обмежити, відновити та видалити свою інформацію.