Как запретить режиму манифеста vcpkg обновлять зависимости? ⇐ C++
Как запретить режиму манифеста vcpkg обновлять зависимости?
В моей системе сборка идет очень медленно. Однако примерно каждые несколько дней или неделю VCPKG каким-то образом по собственному желанию решает начать обновление пакетов, каскадно перестраивая все зависимости. Восстановление некоторых из этих зависимостей может занять более суток. Это должно быть довольно просто: просто заблокировать VCPKG, чтобы остановить обновление, но независимо от того, что я делаю (например, устанавливая «builtin-baseline»), кажется, что есть что-то, заставляющее VCPKG автоматически обновлять информацию. Вот мой vcpkg.json.
{ "имя": "мойпроект" "строка-версии": "1.0.0", "зависимости": [ "зеромк", "cppzmq" ], "builtin-baseline": "871e20cf67ebaa80c048b868be53c8e7375c79f3" } Когда я смотрю на выходные данные cmake, мне кажется, что виновата установка vcpkg. Я предполагаю, что в режиме манифеста это вызывается каждый раз, когда я обновляю пакет cmake. Но я не хочу, чтобы это произошло.
Вот мой CMakePresets.json
{ «версия»: 3, "cmakeMinimumRequired": { «майор»: 3, «малый»: 17, "патч": 0 }, "configurePresets": [ { "имя": "По умолчанию", "displayName": "Конфигурация по умолчанию", "описание": "", "генератор": "Ниндзя", «скрыто»: правда }, { "name": "DebugTemplate", "displayName": "Шаблон отладки", "описание": "", "генератор": "Ниндзя", "binaryDir": "${sourceDir}/cmake-build-debug", "cacheVariables": { "CMAKE_BUILD_TYPE": "Отладка" }, «скрыто»: правда }, { "name": "WindowsVcpkgTemplate", "displayName": "Конфигурация Linux по умолчанию с оборудованием", "описание": "", "наследует": "По умолчанию", "cacheVariables": { "CMAKE_TOOLCHAIN_FILE": "${sourceDir}/vcpkg/scripts/buildsystems/vcpkg.cmake", "VCPKG_TARGET_TRIPLET": "x64-windows-static" }, "среда": { "TEMP": "${sourceDir}/Temp", "TMP": "${sourceDir}/Temp", "VCPKG_BINARY_SOURCES" :"clear;files,${sourceDir}/vcpkg/archives,readwrite" }, "состояние": { "тип": "равно", "lhs": "${hostSystemName}", "рс": "Окна" }, «скрыто»: правда }, { "name": "WindowsDebug", "displayName": "Конфигурация отладки Windows", "описание": "", "наследует": [ "Шаблон WindowsVcpkg", «Шаблон отладки» ] }, ] } и мой файл Cmake:
cmake_minimum_required (ВЕРСИЯ 3.17) проект(МойПроект) установить (CMAKE_CXX_STANDARD 20) если (WIN32) set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$") конециф() find_package (ТРЕБУЮТСЯ темы) find_package (ТРЕБУЕТСЯ cppzmq) add_executable(мой_проект) target_sources(my_project ЧАСТНЫЙ main.cpp) target_include_directories(my_project ЧАСТНЫЙ ./) target_link_libraries(my_project ЧАСТНЫЙ Темы::Темы cppzmq ) И мой основной файл (хотя, честно говоря, ни мой CMake, ни основной здесь вообще не нужны).
int main(){ вернуть 0; } А вот первая часть вывода cmake, когда VCPKG запускается до фактической установки:
C:\SomeDirectory\bin\cmake\win\x64\bin\cmake.exe" -DCMAKE_BUILD_TYPE=RelWithDebInfo --preset WindowsDebug -S C:\DEC\projects\adif-test-harness -B C:\ ProjectDirectory\cmake-build-debug Предустановленные переменные CMake: CMAKE_TOOLCHAIN_FILE="C:/ProjectDirectory/vcpkg/scripts/buildsystems/vcpkg.cmake" VCPKG_TARGET_TRIPLET="x64-windows-static" Предустановленные переменные среды: TEMP="C:/DEC/projects/adif-test-harness/Temp" TMP="C:/DEC/projects/adif-test-harness/Temp" VCPKG_BINARY_SOURCES="очистить;файлы,C:/ProjectDirectory/vcpkg/archives,readwrite" -- Запуск установки vcpkg Обнаружение хэша компилятора для триплета x64-Windows... Обнаружение хеша компилятора для триплета x64-windows-static... Следующие пакеты будут пересобраны: cppzmq:x64-windows-static -> 4.9.0 -- C:\ProjectDirectory\vcpkg\buildtrees\versioning_\versions\cppzmq\7f4360cc5fa484c4ecd286ef6c545bde4b01bc39 * vcpkg-cmake:x64-windows -> 2022-12-22 -- C:\ProjectDirectory\vcpkg\buildtrees\versioning_\versions\vcpkg-cmake\1913f86defd2140d0a6751be2d51952e4090efa4 * vcpkg-cmake-config:x64-windows -> 2022-02-06#1 -- C:\ProjectDirectory\vcpkg\buildtrees\versioning_\versions\vcpkg-cmake-config\8d54cc4f487d51b655abec5f9c9c3f86ca83311f Zeromq:x64-windows-static -> 4.3.4#6 -- C:\ProjectDirectory\vcpkg\buildtrees\versioning_\versions\zeromq\7bdd3a27ea013a2d3b70032245631f114198cce9 Дополнительные пакеты (*) будут изменены для завершения этой операции. Восстановлено 0 пакетов из C:/ProjectDirectory/vcpkg/archives за 1,04 мс. Используйте --debug, чтобы увидеть более подробную информацию. Есть ли способ остановить автоматический вызов установки VCPKG или остановить обновления без моего явного разрешения? Мне бы даже хватило способа передать режим манифеста vcpkg «без установки».
В моей системе сборка идет очень медленно. Однако примерно каждые несколько дней или неделю VCPKG каким-то образом по собственному желанию решает начать обновление пакетов, каскадно перестраивая все зависимости. Восстановление некоторых из этих зависимостей может занять более суток. Это должно быть довольно просто: просто заблокировать VCPKG, чтобы остановить обновление, но независимо от того, что я делаю (например, устанавливая «builtin-baseline»), кажется, что есть что-то, заставляющее VCPKG автоматически обновлять информацию. Вот мой vcpkg.json.
{ "имя": "мойпроект" "строка-версии": "1.0.0", "зависимости": [ "зеромк", "cppzmq" ], "builtin-baseline": "871e20cf67ebaa80c048b868be53c8e7375c79f3" } Когда я смотрю на выходные данные cmake, мне кажется, что виновата установка vcpkg. Я предполагаю, что в режиме манифеста это вызывается каждый раз, когда я обновляю пакет cmake. Но я не хочу, чтобы это произошло.
Вот мой CMakePresets.json
{ «версия»: 3, "cmakeMinimumRequired": { «майор»: 3, «малый»: 17, "патч": 0 }, "configurePresets": [ { "имя": "По умолчанию", "displayName": "Конфигурация по умолчанию", "описание": "", "генератор": "Ниндзя", «скрыто»: правда }, { "name": "DebugTemplate", "displayName": "Шаблон отладки", "описание": "", "генератор": "Ниндзя", "binaryDir": "${sourceDir}/cmake-build-debug", "cacheVariables": { "CMAKE_BUILD_TYPE": "Отладка" }, «скрыто»: правда }, { "name": "WindowsVcpkgTemplate", "displayName": "Конфигурация Linux по умолчанию с оборудованием", "описание": "", "наследует": "По умолчанию", "cacheVariables": { "CMAKE_TOOLCHAIN_FILE": "${sourceDir}/vcpkg/scripts/buildsystems/vcpkg.cmake", "VCPKG_TARGET_TRIPLET": "x64-windows-static" }, "среда": { "TEMP": "${sourceDir}/Temp", "TMP": "${sourceDir}/Temp", "VCPKG_BINARY_SOURCES" :"clear;files,${sourceDir}/vcpkg/archives,readwrite" }, "состояние": { "тип": "равно", "lhs": "${hostSystemName}", "рс": "Окна" }, «скрыто»: правда }, { "name": "WindowsDebug", "displayName": "Конфигурация отладки Windows", "описание": "", "наследует": [ "Шаблон WindowsVcpkg", «Шаблон отладки» ] }, ] } и мой файл Cmake:
cmake_minimum_required (ВЕРСИЯ 3.17) проект(МойПроект) установить (CMAKE_CXX_STANDARD 20) если (WIN32) set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$") конециф() find_package (ТРЕБУЮТСЯ темы) find_package (ТРЕБУЕТСЯ cppzmq) add_executable(мой_проект) target_sources(my_project ЧАСТНЫЙ main.cpp) target_include_directories(my_project ЧАСТНЫЙ ./) target_link_libraries(my_project ЧАСТНЫЙ Темы::Темы cppzmq ) И мой основной файл (хотя, честно говоря, ни мой CMake, ни основной здесь вообще не нужны).
int main(){ вернуть 0; } А вот первая часть вывода cmake, когда VCPKG запускается до фактической установки:
C:\SomeDirectory\bin\cmake\win\x64\bin\cmake.exe" -DCMAKE_BUILD_TYPE=RelWithDebInfo --preset WindowsDebug -S C:\DEC\projects\adif-test-harness -B C:\ ProjectDirectory\cmake-build-debug Предустановленные переменные CMake: CMAKE_TOOLCHAIN_FILE="C:/ProjectDirectory/vcpkg/scripts/buildsystems/vcpkg.cmake" VCPKG_TARGET_TRIPLET="x64-windows-static" Предустановленные переменные среды: TEMP="C:/DEC/projects/adif-test-harness/Temp" TMP="C:/DEC/projects/adif-test-harness/Temp" VCPKG_BINARY_SOURCES="очистить;файлы,C:/ProjectDirectory/vcpkg/archives,readwrite" -- Запуск установки vcpkg Обнаружение хэша компилятора для триплета x64-Windows... Обнаружение хеша компилятора для триплета x64-windows-static... Следующие пакеты будут пересобраны: cppzmq:x64-windows-static -> 4.9.0 -- C:\ProjectDirectory\vcpkg\buildtrees\versioning_\versions\cppzmq\7f4360cc5fa484c4ecd286ef6c545bde4b01bc39 * vcpkg-cmake:x64-windows -> 2022-12-22 -- C:\ProjectDirectory\vcpkg\buildtrees\versioning_\versions\vcpkg-cmake\1913f86defd2140d0a6751be2d51952e4090efa4 * vcpkg-cmake-config:x64-windows -> 2022-02-06#1 -- C:\ProjectDirectory\vcpkg\buildtrees\versioning_\versions\vcpkg-cmake-config\8d54cc4f487d51b655abec5f9c9c3f86ca83311f Zeromq:x64-windows-static -> 4.3.4#6 -- C:\ProjectDirectory\vcpkg\buildtrees\versioning_\versions\zeromq\7bdd3a27ea013a2d3b70032245631f114198cce9 Дополнительные пакеты (*) будут изменены для завершения этой операции. Восстановлено 0 пакетов из C:/ProjectDirectory/vcpkg/archives за 1,04 мс. Используйте --debug, чтобы увидеть более подробную информацию. Есть ли способ остановить автоматический вызов установки VCPKG или остановить обновления без моего явного разрешения? Мне бы даже хватило способа передать режим манифеста vcpkg «без установки».
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Ошибка манифеста Flutter Android: слияние манифеста не удалось с несколькими ошибками
Anonymous » » в форуме Android - 0 Ответы
- 26 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Почему cmake не находит openCV при использовании vcpkg в режиме манифеста?
Anonymous » » в форуме C++ - 0 Ответы
- 29 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Как эффективно обновлять (обновлять+вставлять) большие наборы данных с помощью Polars
Anonymous » » в форуме Python - 0 Ответы
- 25 Просмотры
-
Последнее сообщение Anonymous
-