我们使用 CMake 和普通的 Unix makefile 进行构建。有一些静态分析检查,例如Cppcheck,我们在项目中的每个 C/C++ 文件上运行以在编译时捕获错误。
我为 cppcheck 创建了一个自定义目标并将其附加到“all”目标中。这会检查项目中的所有 *.c 和 *.cpp 文件。
我们希望每次更改和重新编译文件时都运行检查,并且仅针对该文件。检查应该自动运行,用户无需在 CMake 中添加额外的命令。本质上,检查应该“附加/挂钩”到正常的 CMake 命令add_library()和add_executable(). 在 CMake 中有什么办法可以做到这一点吗?
虽然add_executable(和add_library) 由 CMake 本身提供,但您可以定义具有相同名称的函数或宏,这将“隐藏”原始 CMake 函数。在你的函数/宏中,你可以使用以下划线前缀的名称调用原始 CMake 函数:
function(add_executable target_name)
# Call the original function
_add_executable(${target_name} ${ARGN})
... perform additional steps...
endfunction(add_executable target_name)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2275 次 |
| 最近记录: |