- Назначение утилиты umba-hcp
- Использование утилиты umba-hcp
- Опции утилиты umba-hcp
- Параметры утилиты umba-hcp
- Сборка и отладка проекта
Данная утилита предназначена для копирования зависимостей заданного файла(ов). Утилита считывает исходный файл,
производит его разбор (лексический анализ), и производит обработку всех директив include
.
Производится попытка найти каждый файл, указанный в директиве include
. При нахождении файла его содержимое обрабатывается
аналогичным способом.
Разбор заголовочных C
/C++
файлов производится согласно синтаксису языка, и содержимое коментариев и строковых литералов
не учитывается при разборе.
Утилита umba-hcp
сделана по мотивам утилиты boost bcp
, но, в отличие от утилиты bcp
, не привязана
к библиотеке boost и может быть использована с произвольными исходниками.
Синтаксис использования утилиты umba-hcp
:
umba-hcp [OPTIONS] FILE [FILE...]
Утилита umba-hcp
обрабатывает следующие опции (OPTIONS):
- -IPATH[;PATH...] - разделяемый символом
;
(под *nix - также используется символ:
) список каталогов поиска включаемых файлов. - -oPATH - путь, по которому будут скопированы найденные зависимости.
- -A, --all - обрабатывать все директивы
include
. - -S, --system - обрабатывать только системные директивы
include
(использующие угловые скобки). - -U, --user - обрабатывать только пользовательские директивы
include
(использующие двойные кавычки). При обработке пользовательских директивinclude
поиск включаемого файла производится вначале относительно того каталога, в котором расположен включающий файл.
В качестве параметров утилита umba-hcp
принимает список файлов (FILE [FILE...]) для сканирования зависимостей.
В качестве аргумента можно задать имя файла с исходными текстами, который использует извлекаемую библиотеку. При этом, если данный файл не входит в пути поиска библиотек, то он не будет скопирован в выходной каталог. Также, при этом, будут скопированны все файлы, подключаемые в данном исходнике. Поэтому лучше задавать в качестве параметров только непосредственно файлы извлекаемых библиотек.
Для сборки проекта требуются внешние библиотеки. Внешние библиотеки не подгружаются автоматически.
Для их подгрузки требуется выполнить скрипт _libs/_clone_libs.bat
.
Для генерации сборочных скриптов и их сборки при помощи MSBuild
предназначены файлы:
.bat/cmake_generate_all_msvc2017.bat
.bat/cmake_generate_all_msvc2019.bat
.bat/cmake_generate_all_msvc2022.bat
.bat/cmake_build_all_msvc2017.bat
.bat/cmake_build_all_msvc2019.bat
.bat/cmake_build_all_msvc2022.bat
Для запуска VSCode предназначен файл _start_code.bat
.
VSCode с плагином "CMake Tools" сам обнаружит CMakeLists.txt
. Следует выбрать подходящий тулчейн
и можно начинать работу.
Для запуска MSVC предназначен файл _start_msvc.bat
.
По умолчанию будет сгенерированна и открыта в 2019ой студии конфигурация x86
.
Для того, чтобы открывалась другая студия с другой конфигурацией, следует
переименовать файл setup_msvc.bat.example
в setup_msvc.bat
и настроить нужную конфигурацию там.