gpt4 book ai didi

cmake - 将文件夹下的所有文件添加到 CMake glob?

转载 作者:行者123 更新时间:2023-12-04 03:07:02 34 4
gpt4 key购买 nike

我刚刚读过这个:

CMake - Automatically add all files in a folder to a target?

答案建议使用文件 glob,例如:

file(GLOB "*.h" "*.cpp")

现在,如果我希望我的目标依赖于某个文件夹下某种类型的所有文件 - 可能在多个子文件夹中怎么办?我尝试使用
execute_process(COMMAND find src/baz/ -name "*.cpp" OUTPUT_VARIABLE BAR)

进而
add_executable(foo ${BAR}

但这给了我错误:

找不到源文件:
  src/baz/some/file/here

src/baz/some/other_file/here

src/baz/some/other_file/here2

(是的,有那个间距。)

我在这里做错了什么?

最佳答案

把我的评论变成答案

如果要为文件添加递归搜索,请使用 file(GLOB_RECURSE ...)

file(GLOB_RECURSE source_list "*.cpp" "*.hpp")

你的第二个例子将转化为
file(GLOB_RECURSE BAR "src/baz/*.cpp")

引用文献
  • file(...)
  • Specify source files globally with GLOB?
  • 关于cmake - 将文件夹下的所有文件添加到 CMake glob?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35411489/

    34 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com