CMAKE-使用get\u filename\u组件获取路径
我有一个路径,我想从一个特定的路径开始获取路径 这是我目前的道路CMAKE-使用get\u filename\u组件获取路径,cmake,Cmake,我有一个路径,我想从一个特定的路径开始获取路径 这是我目前的道路 macro(MY_MACRO base) foreach(ITEM ${ARGN}) get_filename_component(ITEM_PATH ${ITEM} DIRECTORY) get_filename_component(ITEM_EXT ${ITEM} EXT) source_group("${ITEM_PATH}" FILES ${ITEM})
macro(MY_MACRO base)
foreach(ITEM ${ARGN})
get_filename_component(ITEM_PATH ${ITEM} DIRECTORY)
get_filename_component(ITEM_EXT ${ITEM} EXT)
source_group("${ITEM_PATH}" FILES ${ITEM})
MESSAGE ("${ITEM_PATH}")
endforeach()
endmacro()
上述结果表明:
/Users/admin/main/project/module/pilot/pilot/src/proA
/Users/admin/main/project/module/pilot/guide/src/proB
我希望它只显示从最后一级开始的路径
它应该只显示文件夹引导后的路径
所以它应该显示这样的东西
pilot/src/proA
guide/src/proB
不是完整路径命令计算相对路径。用法很简单:
file(RELATIVE_PATH
ITEM_PATH_REL # Output variable
"/Users/admin/main/project/module/pilot" # Base directory
${ITEM_PATH} # Absolute path to the file
)
message("Relative path: ${ITEM_PATH_REL}")
奇怪的是,为什么?当我尝试这个方法时,它说文件相对路径必须传递给文件的完整路径:是的,最后一个参数应该是完整路径。正是这一点写在了对示例的注释中。