FindSubversion
Извлечение информации из рабочей копии Subversion
Модуль определяет следующие переменные:
Subversion_SVN_EXECUTABLE - path to svn command line client Subversion_VERSION_SVN - version of svn command line client Subversion_FOUND - true if the command line client was found SUBVERSION_FOUND - same as Subversion_FOUND, set for compatibility reasons
Минимальная необходимая версия Subversion может быть указана с использованием стандартного синтаксиса, например find_package(Subversion 1.4).
Если исполняемый файл командной строки клиента найден, определяются две макросы:
Subversion_WC_INFO(<dir> <var-prefix> [IGNORE_SVN_FAILURE]) Subversion_WC_LOG(<dir> <var-prefix>)
Subversion_WC_INFO извлекает информацию о рабочей копии Subversion в заданном месте. Эта макрос определяет следующие переменные, если выполнение команды Subversion info в <dir> завершилось успешно; в противном случае генерируется сообщение об SEND_ERROR.
Новая функция в версии 3.13: Ошибка может быть проигнорирована, если указать опцию IGNORE_SVN_FAILURE, которая приводит к тому, что эти переменные остаются неопределёнными.
<var-prefix>_WC_URL - url of the repository (at <dir>) <var-prefix>_WC_ROOT - root url of the repository <var-prefix>_WC_REVISION - current revision <var-prefix>_WC_LAST_CHANGED_AUTHOR - author of last commit <var-prefix>_WC_LAST_CHANGED_DATE - date of last commit <var-prefix>_WC_LAST_CHANGED_REV - revision of last commit <var-prefix>_WC_INFO - output of command `svn info <dir>'
Subversion_WC_LOG извлекает сообщение журнала о базовом пересмотре рабочей копии Subversion в заданном месте. Эта макрос определяет переменную:
<var-prefix>_LAST_CHANGED_LOG - last log of base revision
Пример использования:
find_package(Subversion)
if(SUBVERSION_FOUND)
Subversion_WC_INFO(${PROJECT_SOURCE_DIR} Project)
message("Current revision is ${Project_WC_REVISION}")
Subversion_WC_LOG(${PROJECT_SOURCE_DIR} Project)
message("Last changed log is ${Project_LAST_CHANGED_LOG}")
endif()
© 2000–2021 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.22/module/FindSubversion.html