CMAKE - 使用 get_filename_component 获取路径

Jam*_*nco 5 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})
       MESSAGE ("${ITEM_PATH}")
    endforeach()

    endmacro()
Run Code Online (Sandbox Code Playgroud)

上面输出这个

/Users/admin/main/project/module/pilot/pilot/src/proA
/Users/admin/main/project/module/pilot/guide/src/proB
Run Code Online (Sandbox Code Playgroud)

我希望它只显示从最后一级开始的路径,它应该只显示文件夹试点之后的路径,所以它应该显示类似这样的内容

pilot/src/proA
guide/src/proB
Run Code Online (Sandbox Code Playgroud)

不是完整路径

Tsy*_*rev 4

命令文件(RELATIVE_PATH)计算相对路径。用法很简单:

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}")
Run Code Online (Sandbox Code Playgroud)