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.
Пути возвращаются с использованием прямых слэшей и без trailing слэшей. Если указан необязательный аргумент 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.
Пути возвращаются с использованием прямых слэшей и без trailing слэшей. Если указан необязательный аргумент CACHE, переменная результата добавляется в кэш.
get_filename_component(<var> <FileName> PROGRAM [PROGRAM_ARGS <arg_var>] [CACHE])
Программа в <FileName> будет найдена в системном пути поиска или останется полным путём. Если PROGRAM_ARGS присутствует вместе с PROGRAM, любые аргументы командной строки, присутствующие в строке <FileName>, будут разделены от имени программы и сохранены в <arg_var>. Это используется для разделения имени программы от её аргументов в строке командной строки.
См. также
© 2000–2023 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.26/command/get_filename_component.html