【问题标题】:Is there a way to find directory path using regex on cmake?有没有办法在 cmake 上使用正则表达式查找目录路径?
【发布时间】:2021-01-27 17:06:02
【问题描述】:

我查遍了,但找不到答案。

假设我有这样的目录路径:{MY_PATH}/AAA_unknown_pattern/other/inside/files.../

如何在不知道“unknown_pattern”和其他内部文件的情况下获取路径“{MY_PATH}/AAA_unknown_pattern”

MY_PATH 是已知的,我也知道目录以“AAA_”开头

我使用正则表达式尝试了类似的方法,但它不起作用:

get_filename_component(TEST "${MY_PATH }/^AAA_" DIRECTORY)

message("test: ${TEST}") 显示“C:/path/until/here/^AAA_”而不是正确的路径。

这一切的原因是因为我想拆分之后得到unknown_pattern . 谢谢。

【问题讨论】:

  • 命令get_filename_component 不接受正则表达式,您可以通过阅读文档了解这一点。如果要通过 globbing 列出文件,请使用 file(GLOB) 命令。
  • 感谢您的回答,它让我受益匪浅,并且可以弄清楚。我使用了文件 (GLOB TEST RELATIVE ${MY_PATH} ${PLUGINS_DIR}/AAA*) 现在 TEST 包含 AAA{other_characters} 目录名

标签: regex cmake path


【解决方案1】:

多亏了 Tsyvarev,我可以使用

file(GLOB TEST RELATIVE ${MY_PATH} ${MY_PATH}/AAA*)
MESSAGE("TEST=${TEST}")

它打印整个 AAA{other_chars} 目录名称

【讨论】:

    猜你喜欢
    • 2022-11-19
    • 1970-01-01
    • 2013-02-26
    • 2021-03-19
    • 2023-01-23
    • 1970-01-01
    • 1970-01-01
    • 2011-12-06
    • 1970-01-01
    相关资源
    最近更新 更多