• get_filename_component: Get a specific component of a full filename.
      get_filename_component(VarName FileName
    PATH|ABSOLUTE|NAME|EXT|NAME_WE|REALPATH
    [CACHE])

    Set VarName to be the path (PATH), file name (NAME), file extension (EXT), file name without extension (NAME_WE) of FileName, the full path (ABSOLUTE), or the full path with all symlinks resolved (REALPATH). Note that the path is converted to Unix slashes format and has 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(VarName FileName
    PROGRAM [PROGRAM_ARGS ArgVar]
    [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 ArgVar. This is used to separate a program name from its arguments in a command line string.