Как я могу сказать, какая минимальная версия CMake требуется в CMakeLists.txt?
В CMakeLists.txt
В скриптах принято иметь:
cmake_minimum_required(VERSION x.y)
для соответствующего номера версии xy. Но - как вы можете сказать, что это за минимальная версия? Я не работаю со старыми версиями; и как мой дистрибутив обновляется, так и CMake, так что, возможно, я даже ввел команды, требующие более новых версий с течением времени, и я просто не знаю этого.
Я мог бы теоретически потребовать версии, которые я проверял это CMakeLists.txt
- но они довольно новые (3.5.1, 3.5.2), и я не хочу ограничивать пользователей моего кода только этим.
3 ответа
Загрузите двоичный файл CMake с https://cmake.org/files/ соответствии с заявленной минимальной требуемой версией. Вы можете распаковать их в некоторый каталог и использовать этот CMake, чтобы гарантировать, что это все еще минимальная требуемая версия. Вы можете иметь столько версий, сколько пожелаете параллельно. Не забудьте удалить каталог сборки.
Проблема, о которой вы не упомянули, но она также важна: проверьте код с более новой версией. Новые политики могут привести к десяткам предупреждений, многие проекты стараются избегать предупреждений в релизах. Так что может быть хорошо иметь последнюю версию с той же процедурой.
Там нет автоматического способа сделать это. Вот несколько подходов, которые я использовал:
- Если вы использовали CMake какое-то время, вы можете приблизительно вспомнить, какие функции новее и старше. Выберите некоторые из используемых вами функций, которые вы считаете более новыми, и прочитайте документацию, чтобы узнать, какая версия их поддерживает.
- Если вы можете установить только одну или две старые версии, этого может быть достаточно. CMake 2.8.x очень популярен, поэтому его установка и тестирование, чтобы увидеть, работает ли он (возможно, исправляет это так), была бы хорошей услугой для некоторых пользователей.
- Не беспокойся об этом. Установите минимум 2.8.10, а затем принимайте исправления или отчеты об ошибках, если у пользователей есть определенные проблемы. Маловероятно, что слишком малое значение этого числа вызовет какой-либо серьезный вред - обычно это просто приведет к появлению сообщения об ошибке, отличного от "Версия CMake слишком старая".
Вы можете просто использовать программное обеспечение nlohmann для проверки минимальной версии cmake .
Он выполнит за вас утомительный двоичный поиск версий cmake и загрузит различные версии cmake.