我只想从返回的运行时依赖项列表中排除一个绝对路径。我使用了正则表达式,但是我搞不清楚CMake的正则表达式格式。它在在线检查器中有效,但在Cmake中无效。
如何仅排除此路径“/lib 64”?
下面的代码:
install(CODE [[
file(GET_RUNTIME_DEPENDENCIES
EXECUTABLES $<TARGET_FILE:myApp1> $<TARGET_FILE:myApp2> $<TARGET_FILE:myApp3>
RESOLVED_DEPENDENCIES_VAR RESOLVED_DEPS
UNRESOLVED_DEPENDENCIES_VAR UNRESOLVED_DEPS
CONFLICTING_DEPENDENCIES_PREFIX CONFLICTING_DEPENDENCIES
POST_EXCLUDE_REGEXES "^(\/lib64)$"
)
...
]]
产生警告:
when parsing string
^(\/lib64)$
Invalid escape sequence \/
如果我将其更改为“^(/lib 64)$”-它只是不排除它...
1条答案
按热度按时间e3bfsja21#
我猜您希望排除该目录中的文件 ; 因此您可能需要类似
"^/lib64/[^/]*$"
的内容如果还想匹配子目录,那么
[^/]*$
部分是多余的;则仅在前缀"^/lib64/"
上进行匹配就足够了。