get_filename_component¶
获取完整文件名的特定组件。
3.20 版中已更改: 此命令已被 cmake_path()
命令取代,但 REALPATH
例外,它现在由 file(REAL_PATH)
提供,以及 PROGRAM
,现在可用于 separate_arguments(PROGRAM)
。
3.24 版中已更改: 提供查询 Windows
注册表功能的未记录功能已被 cmake_host_system_information(QUERY WINDOWS_REGISTRY) 命令取代。
get_filename_component(<var> <FileName> <mode> [CACHE])
将 <var>
设置为 <FileName>
的组件,其中 <mode>
是下列组件之一
DIRECTORY = Directory without file name
NAME = File name without directory
EXT = File name longest extension (.b.c from d/a.b.c)
NAME_WE = File name with neither the directory nor the longest extension
LAST_EXT = File name last extension (.c from d/a.b.c)
NAME_WLE = File name with neither the directory nor the last extension
PATH = Legacy alias for DIRECTORY (use for CMake <= 2.8.11)
3.14 版中已添加: 添加 LAST_EXT
和 NAME_WLE
模式。
使用正斜杠返回路径,且没有尾随斜杠。如果指定可选 CACHE
参数,则结果变量将添加到缓存。
get_filename_component(<var> <FileName> <mode> [BASE_DIR <dir>] [CACHE])
3.4 版中已添加。
将 <var>
设置为 <FileName>
的绝对路径,其中 <mode>
是下列组件之一
ABSOLUTE = Full path to file
REALPATH = Full path to existing file with symlinks resolved
如果提供的 <FileName>
是一个相对路径,则相对于给定的基础目录 <dir>
评估该路径。如果没有提供基础目录,则默认基础目录将为 CMAKE_CURRENT_SOURCE_DIR
。
使用正斜杠返回路径,且没有尾随斜杠。如果指定可选 CACHE
参数,则结果变量将添加到缓存。
get_filename_component(<var> <FileName> PROGRAM [PROGRAM_ARGS <arg_var>] [CACHE])
将在系统搜索路径中找到 <FileName>
中的程序或将其保留为完整路径。如果 PROGRAM_ARGS
与 PROGRAM
同时存在,则 <FileName>
字符串中存在的任何命令行参数都将从程序名中分离出来并存储在 <arg_var>
中。这用于在命令行字符串中将程序名与其参数分隔开来。