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>. Это используется для разделения имени программы от её аргументов в строке командной строки.
См. также
© 2000–2024 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.28/command/get_filename_component.html