Phát hành hệ thống xây dựng CMake 3.15

diễn ra phát hành trình tạo tập lệnh xây dựng mở đa nền tảng CMake 3.15, hoạt động thay thế cho Autotools và được sử dụng trong các dự án như KDE, LLVM/Clang, MySQL, MariaDB, ReactOS và Blender. Mã CMake được viết bằng C++ và được phân phối theo giấy phép BSD.

CMake đáng chú ý vì cung cấp ngôn ngữ kịch bản đơn giản, phương tiện mở rộng chức năng thông qua các mô-đun, số lượng phụ thuộc tối thiểu (không ràng buộc với M4, Perl hoặc Python), hỗ trợ bộ đệm, sự hiện diện của các công cụ để biên dịch chéo, hỗ trợ tạo bản dựng các tệp dành cho nhiều hệ thống xây dựng và trình biên dịch, tiện ích ctest và cpack hiện diện để xác định tập lệnh kiểm tra và gói xây dựng, tiện ích cmake-gui để thiết lập các tham số bản dựng một cách tương tác.

Chính cải tiến:

  • Hỗ trợ ngôn ngữ ban đầu đã được thêm vào trình tạo tập lệnh xây dựng dựa trên Ninja Nhanh, được phát triển bởi Apple;
  • Đã thêm hỗ trợ cho một biến thể của trình biên dịch Clang dành cho Windows được xây dựng bằng MSVC ABI, nhưng sử dụng các tùy chọn dòng lệnh kiểu GNU;
  • Đã thêm các biến CMAKE_MSVC_RUNTIME_LIBRARY và MSVC_RUNTIME_LIBRARY để chọn các thư viện thời gian chạy được trình biên dịch sử dụng dựa trên MSVC ABI (MS Visual Studio);
  • Đối với các trình biên dịch như MSVC, CMAKE__FLAGS theo mặc định sẽ dừng liệt kê các cờ kiểm soát cảnh báo như "/W3";
  • Đã thêm biểu thức trình tạo "COMPILE_LANG_AND_ID:" để xác định các tùy chọn trình biên dịch cho các tệp đích, sử dụng các biến CMAKE__COMPILER_ID và LANGUAGE cho mỗi tệp mã;
  • Trong các biểu thức tạo C_COMPILER_ID, CXX_COMPILER_ID,
    CUDA_COMPILER_ID, Fortran_COMPILER_ID, COMPILE_LANGUAGE,
    COMPILE_LANG_AND_ID và PLATFORM_ID đã thêm hỗ trợ để khớp một giá trị với danh sách có các thành phần được phân tách bằng dấu phẩy;

  • Đã thêm biến CMAKE_FIND_PACKAGE_PREFER_CONFIG để việc gọi find_package() sẽ tìm kiếm tệp cấu hình của gói trước, ngay cả khi có sẵn công cụ tìm kiếm;
  • Đối với các thư viện giao diện, hỗ trợ đã được thêm vào để thiết lập các thuộc tính PUBLIC_HEADER và PRIVATE_HEADER, theo đó các tiêu đề có thể được đặt bằng lệnh install(TARGETS) bằng cách chuyển các đối số PUBLIC_HEADER và PRIVATE_HEADER;
  • Đã thêm biến CMAKE_VS_JUST_MY_CODE_DEBUGGING và thuộc tính đích VS_JUST_MY_CODE_DEBUGGING để bật chế độ "Chỉ mã của tôi" trong trình gỡ lỗi Visual Studio khi biên dịch bằng MSVC cl 19.05 và các phiên bản mới hơn;
  • Mô-đun FindBoost đã được thiết kế lại, hiện hoạt động toàn diện hơn ở chế độ Cấu hình và Mô-đun khi có các mô-đun tìm kiếm khác;
  • Lệnh message() hiện hỗ trợ các kiểu NOTICE, VERBOSE,
    GỠ LỖI và TRACE;

  • Lệnh "xuất (PACKAGE)" hiện không có tác dụng gì trừ khi được bật rõ ràng thông qua biến CMAKE_EXPORT_PACKAGE_REGISTRY.

Nguồn: opennet.ru

Thêm một lời nhận xét