gpt4 book ai didi

CMake:获取路径减去相关元素的完整表示

转载 作者:行者123 更新时间:2023-12-04 16:48:29 24 4
gpt4 key购买 nike

我想采用一个已设置为路径元素组合(可能是绝对的和相对的)的变量并从中获取绝对路径。有点像什么 boost::filesystem::system_complete()在 C++ 中做。例如,我有类似的东西:

set(EXTERNAL_LIB_DIR "${CMAKE_SOURCE_DIR}/../external" CACHE PATH "Location of externals")

它可以工作,但在 UI 中它有点难看,因为它最终可能看起来像 C:/dev/repo/tool/../external .我想知道是否有一个 CMake 内置命令可以将其转换为 C:/dev/repo/external在我去编写一个宏来完成它之前。 find_path有点这样做,但它要求路径已经存在并且值得寻找的东西在那里。无论路径是否存在,我都希望它能够工作(例如,我可能会将它用于覆盖的 CMAKE_INSTALL_PREFIX 默认值)。

最佳答案

您可以使用:

get_filename_component(NEW_VAR ${EXTERNAL_LIB_DIR} REALPATH)

关于CMake:获取路径减去相关元素的完整表示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9809494/

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