how tto run vcpkg package manager in classic mode?


I want to download libraries to a system wide installed directory NOT using manifests! that is, how to call vcpkg new in classic mode??
In a console, preferably one elevated to administrator, issue vcpkg command-line instructions. Such as vcpkg install.

https://learn.microsoft.com/en-us/vcpkg/users/classic-mode

I use exclusively what is apparently called "classic mode", I don't use manifests.

But then I only consume libraries, never create one for distribution.

https://learn.microsoft.com/en-us/vcpkg/

I install packages I want to use, I like to install for x86-windows, x64-windows & x64-windows-static if available. I start an console instance in my vcpkg install dir and issue commands. If I wanted to install the 7-zip vcpkg library:

vcpkg install 7zip:x86-windows 7zip:x64-windows 7zip:x64-windows-static

Actually any installs or updates I do I pipe off to a text file, appending the text of the install/update so I don't actually see the process in the console window. So my actual command is:

vcpkg install 7zip:x86-windows 7zip:x64-windows 7zip:x64-windows-static >> install.txt

Periodically I check for any possible updates to my already installed libs by issuing the git pull command, followed by bootstrap-vcpkg -disableMetrics, then a vcpkg update command after getting the latest list of libraries. Example:
D:\Programming\vcpkg>vcpkg update
Using local portfile versions. To update the local portfiles, use `git pull`.
The following packages differ from their port versions:
	libpng:x64-windows               1.6.39#1 -> 1.6.40
To update these packages and all dependencies, run
.\vcpkg upgrade'
To only remove outdated packages, run
.\vcpkg remove --outdated

The number of libraries might end up being more than the one(s) listed in the update command. The libraries that were actually updated with that previous update list:
The following packages will be rebuilt:
  * fltk[core,opengl]:x64-windows -> 1.3.8#5
  * fltk[core,opengl]:x64-windows-static -> 1.3.8#5
  * fltk[core,opengl]:x86-windows -> 1.3.8#5
  * fontconfig:x64-windows -> 2.14.2#1
  * fontconfig:x64-windows-static -> 2.14.2#1
  * fontconfig:x86-windows -> 2.14.2#1
  * freetype[brotli,bzip2,core,png,zlib]:x64-windows -> 2.12.1#4
  * freetype[brotli,bzip2,core,png,zlib]:x64-windows-static -> 2.12.1#4
  * freetype[brotli,bzip2,core,png,zlib]:x86-windows -> 2.12.1#4
  * libpng:x64-windows -> 1.6.40
  * libpng:x64-windows-static -> 1.6.40
  * libpng:x86-windows -> 1.6.40
  * mygui:x64-windows -> 3.4.3
  * mygui:x64-windows-static -> 3.4.3
  * mygui:x86-windows -> 3.4.3
  * sdl2-image:x64-windows -> 2.6.3
  * sdl2-image:x64-windows-static -> 2.6.3
  * sdl2-image:x86-windows -> 2.6.3
  * sdl2-ttf:x64-windows -> 2.20.2
  * sdl2-ttf:x64-windows-static -> 2.20.2
  * sdl2-ttf:x86-windows -> 2.20.2
  * sfml:x64-windows -> 2.6.1
  * sfml:x64-windows-static -> 2.6.1
  * sfml:x86-windows -> 2.6.1
  * wxwidgets[core,debug-support,sound]:x64-windows -> 3.2.3
  * wxwidgets[core,debug-support,sound]:x64-windows-static -> 3.2.3
  * wxwidgets[core,debug-support,sound]:x86-windows -> 3.2.3
Additional packages (*) will be modified to complete this operation.

When you have libraries that can be updated you issue the upgrade command, piped to append to my installation documentation text file:
D:\Programming\vcpkg>vcpkg upgrade --no-dry-run >> install.txt

Total install time for this packages to be updated: 46 minutes. With minimal intervention on my part except to issue a few console commands.

Why do I check for a newer version of vcpkg every time I check for library updates? Eventually previous versions of vcpkg will stop working as updates are processed, the exe needs to be updated as well.

After every newly installed or updated package(s) or I also keep an updated copy of what libraries I have installed:
vcpkg list > vcpkg-list.txt

Maybe I am using "manifest mode" with these console commands, but I doubt it. Being a keyboard warrior from DOS I prefer the method I use.
vcpkg is not strictly a Windows package management app, it can be used with Linux or MacOS. Yes, it might be something created and maintained by MS, but it is cross platform.

An idea MS has embraced recently.
1
2
3
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\vcpkg>vcpkg install 7zip:x64-windows
Could not locate a manifest (vcpkg.json) above the current working directory.
This vcpkg distribution does not have a classic mode instance.



I can't seem to run in classic mode --- should I clone vcpkg from github and build it?

how do I get a vcpkg distribution with a classic mode instance??

SEE: This vcpkg distribution does not have a classic mode instance.
Last edited on
Topic archived. No new replies allowed.