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–2021 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.22/command/get_filename_component.html