Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
CMAKE-使用get\u filename\u组件获取路径_Cmake - Fatal编程技术网

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}")

奇怪的是,为什么?当我尝试这个方法时,它说文件相对路径必须传递给文件的完整路径:是的,最后一个参数应该是完整路径。正是这一点写在了对示例的注释中。