Tôi muốn nhắm mục tiêu phiên bản CMake cụ thể cũ hơn phiên bản tôi đang sử dụng (liên quan đến this question, tức là sử dụng chính xác cmake_minimum_required()
), và sẽ rất tuyệt có thể xác định các tính năng để tránh xa, ví dụ.Tìm phiên bản CMake nào được giới thiệu trong
Có thể tìm phiên bản đầu tiên mà một tính năng nhất định (biến, hàm, thuộc tính, ...) đã được giới thiệu trong CMake không?
Theo như tôi có thể biết, tài liệu CMake không trực tiếp bao gồm thông tin này (ngoại trừ gián tiếp thông qua ghi chú phát hành). Một ví dụ tuyệt vời về cách làm việc này có thể là tài liệu API Qt (ví dụ: xem tài liệu cho QCryptographicHash).
EDIT: Tôi tạo ra một repo git với một phiên bản sửa đổi của các giải pháp được cung cấp bởi Florian: https://github.com/mbitsnbites/cmake-minver
Sẽ rất tuyệt nếu đây là một phần của tài liệu. Cho đến nay tôi nghĩ rằng chỉ có một cái gì đó giống như [Ma trận tương thích phiên bản CMake] (https://cmake.org/Wiki/CMake_Version_Compatibility_Matrix) (không được cập nhật nữa). Xem thêm [tại đây] (https://cmake.org/pipermail/cmake/2015-October/061747.html). Tôi thường chỉ kiểm tra các lệnh/chính sách/etc. tính khả dụng với ví dụ: 'if (COMMAND ...)'. Một số dự án chỉ cung cấp phiên bản CMake theo yêu cầu của riêng họ. – Florian
Đó là một thất bại lớn trong tài liệu của CMake. Bạn có thể thấy rằng "thủ công" khi đọc một trang: số phiên bản là một phần của url, vì vậy bạn có thể kiểm tra cùng một url với số phiên bản trước đó cho đến khi trang không khả dụng. Đó là khó khăn, nhưng AFAIK không có cách nào khác (cập nhật) cách – wasthishelpful
Cách tiếp cận được mô tả bởi Daniele Domenichelli chắc chắn là thú vị, mặc dù tôi đã hy vọng cho một giải pháp "chính thức" hơn. Có lẽ giải pháp tốt nhất là chỉ cần cài đặt phiên bản mục tiêu của CMake và xây dựng dự án của tôi bằng cách sử dụng nó hầu hết thời gian? –