CMake 中把相对路径转换成绝对路径
get_filename_component(<VAR> <FileName>
<COMP> [BASE_DIR <BASE_DIR>]
[CACHE])
Set <VAR>
to the absolute path of <FileName>
, where <COMP>
is one of:
ABSOLUTE
= Full path to file REALPATH
= Full path to existing file with symlinks resolved
If the provided <FileName>
is a relative path, it is evaluated relative to the given base directory <BASE_DIR>
. If no base directory is provided, the default base directory will be CMAKE_CURRENT_SOURCE_DIR
.
Paths are returned with forward slashes and have no trailing slashes. If the optional CACHE
argument is specified, the result variable is added to the cache.
CMake 中把绝对路径转换成相对路径
To convert an absolute path to a file into a relative paths, you might use the file command:
file(RELATIVE_PATH <variable> <directory> <file>)
Compute the relative path from a <directory>
to a <file>
and store it in the <variable>
.
file(RELATIVE_PATH buildDirRelFilePath "${CMAKE_BINARY_DIR}" "${myFile}")
参考
CMake: Convert relative path to absolute path, with build directory as current directory