Реліз системи збирання CMake 3.18

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

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

Основні поліпшення:

  • Для мови CUDA забезпечена можливість збирання за допомогою Clang на платформах, відмінних від Windows. Роздільна компіляція CUDA поки що не підтримується на жодній платформі.
  • Додана підтримка профілювання сценаріїв CMake, використовуючи опції «profiling-output» і «profiling-format».
  • У команди add_library() і add_executable() додано підтримку створення цілей-псевдонімів (Alias ​​Targets), що посилаються на неглобальні імпортовані цілі.
  • Додано команду cmake_language() для мета-операцій над скриптованими або вбудованими командами.
  • Додано підкоманда file(CONFIGURE), аналогічну за функціональністю команді configure_file(), але з передачею вмісту у формі рядка, а не посилання на файл.
  • У команди find_program(), find_library(), find_path() і find_file() додана опція REQUIRED, яка наказує зупинити обробку з помилкою, якщо нічого не було знайдено.
  • Додана змінна CMAKE_CUDA_ARCHITECTURES для вказівки архітектури CUDA (встановлюється автоматично, якщо змінна CMAKE_CUDA_COMPILER_ID приймає значення NVIDIA).
  • Додано властивість «UNITY_BUILD_MODE» для вибору в генераторах алгоритму групування вихідних файлів, що включаються (BATCH, GROUP).
  • Додано модуль CheckLinkerFlag для перевірки коректності прапорів компонування.
  • Додані вирази генератора $ , $ , $ та $ .
  • В утиліту ctest додано змінну CTEST_RESOURCE_SPEC_FILE для вказівки файлу зі специфікацією ресурсів.

Джерело: opennet.ru

Додати коментар або відгук