get_filename_componentΒΆ
Get a specific component of a full filename.
get_filename_component(<VAR> <FileName> <COMP> [CACHE])
Set <VAR>
to a component of <FileName>
, where <COMP>
is one of:
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 without directory or longest extension
PATH = Legacy alias for DIRECTORY (use for CMake <= 2.8.11)
Paths are returned with forward slashes and have no trailing slashes.
The longest file extension is always considered. If the optional
CACHE
argument is specified, the result variable is added to the
cache.
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 slahes. If the
optional CACHE
argument is specified, the result variable is added to the
cache.
get_filename_component(<VAR> <FileName>
PROGRAM [PROGRAM_ARGS <ARG_VAR>]
[CACHE])
The program in <FileName>
will be found in the system search path or
left as a full path. If PROGRAM_ARGS
is present with PROGRAM
, then
any command-line arguments present in the <FileName>
string are split
from the program name and stored in <ARG_VAR>
. This is used to
separate a program name from its arguments in a command line string.