我正在使用 Cmake 浏览目录中的所有 .py 文件,并使用 Pylint 检测错误和检查编码标准。
有没有办法让我检查是否使用 cmake 安装了 Pylint?这段代码是否独立于操作系统(例如对于 Ubuntu 和 Windows)?
您应该创建一个 FindPylint.cmake 文件及其include()
目录。然后运行find_package(Pylint REQUIRED)
。
查找Pylint.cmake:
execute_process(
COMMAND pylint --version
OUTPUT_VARIABLE pylint_out
RESULT_VARIABLE pylint_error
ERROR_VARIABLE pylint_suppress)
if (NOT pylint_error)
string(REGEX MATCH "pylint .\..\.." pylint_version_string "${pylint_out}")
string(SUBSTRING "${pylint_version_string}" 7 5 pylint_version)
endif ()
if (pylint_version)
set(PYLINT_FOUND 1
CACHE INTERNAL "Pylint version ${pylint_version} found")
endif ()
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(Pylint REQUIRED_VARS pylint_version
VERSION_VAR pylint_version)
Run Code Online (Sandbox Code Playgroud)
一些解释:
No config file found, using default configuration
,因此我们通过忽略来抑制它pylint_suppress
变量来抑制它。pylint
不仅仅是版本,因此我们需要进行一些正则表达式/字符串处理。CACHE INTERNAL
变量并不是绝对必要的,但稍后可以派上用场来检查是否找到 Pylint。 归档时间: |
|
查看次数: |
1489 次 |
最近记录: |