我正在尝试将 PC-Lint Plus 合并到我的 cmake 项目中,主要是每个PC-Lint 需要一个包含要扫描文件的所有包含路径的列表。如何获取 CMake 中目标递归所需的所有包含路径的列表?.
PC-Lint 正在被调用,但由于并非所有包含都在 PC-Lint 调用中而最终死亡。
我将上面的链接转储到 Lint.cmake 中,并将其包含在我的顶级 CMake 文件中。在我的项目文件中,我添加了:
if(COMMAND add_pc_lint)
add_pc_lint(moded ${SRC_FILES})
endif(COMMAND add_pc_lint)
所以我希望这些线路:
function(add_pc_lint target)
get_directory_property(lint_include_directories INCLUDE_DIRECTORIES)
# let's get those elephants across the alps
# prepend each include directory with "-i"; also quotes the directory
set(lint_include_directories_transformed)
foreach(include_dir ${lint_include_directories})
list(APPEND lint_include_directories_transformed -i"${include_dir}")
endforeach(include_dir)
将包含目录列表拉出INCLUDE_DIRECTORIES
.
如果我添加:
message(STATUS "********************************************")
message(STATUS "Include directories - ${lint_include_directories}")
message(STATUS "********************************************")
message(STATUS "********************************************")
message(STATUS "INCLUDE_DIRECTORIES - ${INCLUDE_DIRECTORIES}")
message(STATUS "********************************************")
在 foreach 循环的正上方,lint_include_directories
两者INCLUDE_DIRECTORIES
似乎都是空的。
我需要做什么才能从 CMake 获取包含目录的完整列表,包括 fromtarget_link_libraries
和target_include_directories
,以提供给 PC-Lint Plus?