get_filename_component
Получение определённого компонента полного имени файла.
Изменено в версии 3.20: Эта команда заменена командой cmake_path(), за исключением REALPATH , теперь предоставляемой командой file(REAL_PATH) и PROGRAM , теперь доступной в команде separate_arguments(PROGRAM).
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>. Это используется для разделения имени программы от её аргументов в строке командной строки.
© 2000–2022 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.23/command/get_filename_component.html