C++ Library Manager for Windows, Linux, and MacOS

Overview

Vcpkg: Overview

中文总览 Español 한국어 Français

Vcpkg helps you manage C and C++ libraries on Windows, Linux and MacOS. This tool and ecosystem are constantly evolving, and we always appreciate contributions!

If you've never used vcpkg before, or if you're trying to figure out how to use vcpkg, check out our Getting Started section for how to start using vcpkg.

For short description of available commands, once you've installed vcpkg, you can run vcpkg help, or vcpkg help [command] for command-specific help.

Build Status

Table of Contents

Getting Started

First, follow the quick start guide for either Windows, or macOS and Linux, depending on what you're using.

For more information, see Installing and Using Packages. If a library you need is not present in the vcpkg catalog, you can open an issue on the GitHub repo where the vcpkg team and community can see it, and potentially add the port to vcpkg.

After you've gotten vcpkg installed and working, you may wish to add tab completion to your shell.

Finally, if you're interested in the future of vcpkg, check out the manifest guide! This is an experimental feature and will likely have bugs, so try it out and open all the issues!

Quick Start: Windows

Prerequisites:

  • Windows 7 or newer
  • Git
  • Visual Studio 2015 Update 3 or greater with the English language pack

First, download and bootstrap vcpkg itself; it can be installed anywhere, but generally we recommend using vcpkg as a submodule for CMake projects, and installing it globally for Visual Studio projects. We recommend somewhere like C:\src\vcpkg or C:\dev\vcpkg, since otherwise you may run into path issues for some port build systems.

> git clone https://github.com/microsoft/vcpkg
> .\vcpkg\bootstrap-vcpkg.bat

To install the libraries for your project, run:

> .\vcpkg\vcpkg install [packages to install]

You can also search for the libraries you need with the search subcommand:

> .\vcpkg\vcpkg search [search term]

In order to use vcpkg with Visual Studio, run the following command (may require administrator elevation):

> .\vcpkg\vcpkg integrate install

After this, you can now create a New non-CMake Project (or open an existing one). All installed libraries are immediately ready to be #include'd and used in your project without additional configuration.

If you're using CMake with Visual Studio, continue here.

In order to use vcpkg with CMake outside of an IDE, you can use the toolchain file:

> cmake -B [build directory] -S . -DCMAKE_TOOLCHAIN_FILE=[path to vcpkg]/scripts/buildsystems/vcpkg.cmake
> cmake --build [build directory]

With CMake, you will still need to find_package and the like to use the libraries. Check out the CMake section for more information, including on using CMake with an IDE.

For any other tools, including Visual Studio Code, check out the integration guide.

Quick Start: Unix

Prerequisites for Linux:

Prerequisites for macOS:

First, download and bootstrap vcpkg itself; it can be installed anywhere, but generally we recommend using vcpkg as a submodule for CMake projects.

$ git clone https://github.com/microsoft/vcpkg
$ ./vcpkg/bootstrap-vcpkg.sh

To install the libraries for your project, run:

$ ./vcpkg/vcpkg install [packages to install]

You can also search for the libraries you need with the search subcommand:

$ ./vcpkg/vcpkg search [search term]

In order to use vcpkg with CMake, you can use the toolchain file:

$ cmake -B [build directory] -S . -DCMAKE_TOOLCHAIN_FILE=[path to vcpkg]/scripts/buildsystems/vcpkg.cmake
$ cmake --build [build directory]

With CMake, you will still need to find_package and the like to use the libraries. Check out the CMake section for more information on how best to use vcpkg with CMake, and CMake Tools for VSCode.

For any other tools, check out the integration guide.

Installing Linux Developer Tools

Across the different distros of Linux, there are different packages you'll need to install:

  • Debian, Ubuntu, popOS, and other Debian-based distributions:
$ sudo apt-get update
$ sudo apt-get install build-essential tar curl zip unzip
  • CentOS
$ sudo yum install centos-release-scl
$ sudo yum install devtoolset-7
$ scl enable devtoolset-7 bash

For any other distributions, make sure you're installing g++ 6 or above. If you want to add instructions for your specific distro, please open a PR!

Installing macOS Developer Tools

On macOS 10.15, the only thing you should need to do is run the following in your terminal:

$ xcode-select --install

Then follow along with the prompts in the windows that comes up.

On macOS 10.14 and previous, you'll also need to install g++ from homebrew; follow the instructions in the following section.

Installing GCC for macOS before 10.15

This will only be necessary if you're using a macOS version from before 10.15. Installing homebrew should be very easy; check out <brew.sh> for more information, but at its simplest, run the following command:

$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"

Then, in order to grab an up-to-date version of gcc, run the following:

$ brew install gcc

You'll then be able to bootstrap vcpkg along with the quick start guide

Using vcpkg with CMake

If you're using vcpkg with CMake, the following may help!

Visual Studio Code with CMake Tools

Adding the following to your workspace settings.json will make CMake Tools automatically use vcpkg for libraries:

{
  "cmake.configureSettings": {
    "CMAKE_TOOLCHAIN_FILE": "[vcpkg root]/scripts/buildsystems/vcpkg.cmake"
  }
}

Vcpkg with Visual Studio CMake Projects

Open the CMake Settings Editor, and under CMake toolchain file, add the path to the vcpkg toolchain file:

[vcpkg root]/scripts/buildsystems/vcpkg.cmake

Vcpkg with CLion

Open the Toolchains settings (File > Settings on Windows and Linux, CLion > Preferences on macOS), and go to the CMake settings (Build, Execution, Deployment > CMake). Finally, in CMake options, add the following line:

-DCMAKE_TOOLCHAIN_FILE=[vcpkg root]/scripts/buildsystems/vcpkg.cmake

Unfortunately, you'll have to add this to each profile.

Vcpkg as a Submodule

When using vcpkg as a submodule of your project, you can add the following to your CMakeLists.txt before the first project() call, instead of passing CMAKE_TOOLCHAIN_FILE to the cmake invocation.

set(CMAKE_TOOLCHAIN_FILE ${CMAKE_CURRENT_SOURCE_DIR}/vcpkg/scripts/buildsystems/vcpkg.cmake
  CACHE STRING "Vcpkg toolchain file")

This will still allow people to not use vcpkg, by passing the CMAKE_TOOLCHAIN_FILE directly, but it will make the configure-build step slightly easier.

Tab-Completion/Auto-Completion

vcpkg supports auto-completion of commands, package names, and options in both powershell and bash. To enable tab-completion in the shell of your choice, run:

> .\vcpkg integrate powershell

or

$ ./vcpkg integrate bash

depending on the shell you use, then restart your console.

Examples

See the documentation for specific walkthroughs, including installing and using a package, adding a new package from a zipfile, and adding a new package from a GitHub repo.

Our docs are now also available online at ReadTheDocs: https://vcpkg.readthedocs.io/!

See a 4 minute video demo.

Contributing

Vcpkg is an open source project, and is thus built with your contributions. Here are some ways you can contribute:

Please refer to our Contributing Guide for more details.

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or email [email protected] with any additional questions or comments.

License

The code in this repository is licensed under the MIT License.

Telemetry

vcpkg collects usage data in order to help us improve your experience. The data collected by Microsoft is anonymous. You can opt-out of telemetry by re-running the bootstrap-vcpkg script with -disableMetrics, passing --disable-metrics to vcpkg on the command line, or by setting the VCPKG_DISABLE_METRICS environment variable.

Read more about vcpkg telemetry at docs/about/privacy.md

Issues
  • [wxwidgets] Fix usage, add cmake options

    [wxwidgets] Fix usage, add cmake options

    This PR will:

    • Automatically call wx-config and parse out cxxflags in vcpkg-cmake-wrapper.
    • Export all targets.
    • Fix the ouput path by running wx-config --libs.

    Fixes #17072.

    Upstream PR: https://github.com/wxWidgets/wxWidgets/pull/2391

    category:port-bug info:internal depends:upstream-changes 
    opened by JackBoosY 128
  • [OpenCV] Update to v4.1.1

    [OpenCV] Update to v4.1.1

    Any feedback is welcome!

    fixes: #2065 fixes: #2749 fixes: #2799 fixes: #3095 fixes: #3418 fixes: #4160 fixes: #4601 fixes: #4725 fixes: #4758 fixes: #5101 fixes: #5557 fixes: #5876 fixes: #6728 fixes: #6994

    opened by cenit 121
  • [opencv4] update to v4.3

    [opencv4] update to v4.3

    It should be complete now

    Fixes: #11557 Closes: #8557 Fixes: #11138 Fixes: #10188 Closes: #8655 Closes: #8549 Closes: #3196 Fixes: #7981 Closes: #7913 Closes: #7856 Fixes: #4907 Closes: #9607 Fixes: #7572 Closes: #8175

    category:port-update info:reviewed 
    opened by cenit 111
  • More or less completely rewritten tensorflow-cc port

    More or less completely rewritten tensorflow-cc port

    • fixes static builds
    • upgrades tensorflow from v1.14 to recent v2.3, fixing #9141
    • upgrades bazel from v0.25.2 to v3.1, hopefully fixing #7995
    • requires PR #12926 (merged in this branch; need to resolve conflict once PR #12926 is merged into master)
    category:port-feature category:port-update category:tool-update 
    opened by jgehw 103
  • [OpenMVG/OpenMVS] fix tools

    [OpenMVG/OpenMVS] fix tools

    Upgrade SuiteSparse, add new vlfeat port, restore the custom FindLAPACK (for clapack) I wrote one year ago that went lost (and with it each and every port depending on clapack was broken again on linux), remove the unnecessary FindBLAS module, and finally

    • add openMVG tools
    • fix openMVG build error
    • enable cuda on openMVS
    • handle openMVS tools properly

    along the way, it fixes: #12387 (a working qt5 was necessary to build tools cited above) and fixes many problems encountered along the way towards a working solution

    category:port-feature category:port-bug info:reviewed 
    opened by cenit 92
  • [Qt6|6.1.0] Add new ports.

    [Qt6|6.1.0] Add new ports.

    closes #15029

    Current Status:

    • added all 6.1.0 ports which I know of (does it work? Who knows?)

    Current questions:

    • Port naming? qt6-qtbase? Only qtbase? (since qt wants to get rid of the version number anyway)
    • Features? Too many? Will never be all tested. (at least I will only be going for the default set.)

    Depends:

    • [x] #14308
    • [x] #14395 (ZSTD)
    • [x] #14530 (harfbuzz)
    • [x] another PR copying pdbs for vcpkg_copy_tools
    • [x] https://bugreports.qt.io/browse/QTBUG-88457 (qtdeclarative x64-windows-static; not in beta5; probably in beta6)
    • [x] open upstream issues
    • [x] https://bugreports.qt.io/browse/QTBUG-89204 (solved by own patch)
    • [x] https://bugreports.qt.io/browse/QTBUG-89203 (solved by own patch)
    • [x] https://bugreports.qt.io/browse/QTBUG-89280 (solved by own patch)
    • [x] https://bugreports.qt.io/browse/QTBUG-89374 (solved by own patch)
    • [x] fix import prefix correction in vcpkg_fixup_cmake_targets as mentioned in https://github.com/microsoft/vcpkg/pull/12215#discussion_r454579077. (Corrected it in another way for this PR)
    • [x] #15049
    • [x] #15144
    category:new-port info:reviewed 
    opened by Neumann-A 89
  • [openssl] update to 3.0.2

    [openssl] update to 3.0.2

    Describe the pull request This PR updates openssl to version 3.0.2. The consensus is to update openssl and to create a new port called openssl1 for future updates to openssl 1.1.1. No port depends or should ever depend on openssl1. All ports that were incompatible to OpenSSL 3 were updated or patched.

    • What does your PR fix?

      Fixes #20031

    • Which triplets are supported/not supported? Have you updated the CI baseline?

      Yes, skip openssl1 on all triplets

    • Does your PR follow the maintainer guide?

      Yes

    • If you have added/updated a port: Have you run ./vcpkg x-add-version --all and committed the result?

      Yes

    category:port-update info:reviewed 
    opened by Thomas1664 87
  • [eigen3] Update to 3.4.0

    [eigen3] Update to 3.4.0

    Describe the pull request

    • What does your PR fix?

      Updates Eigen to 3.4.0

    • Which triplets are supported/not supported? Have you updated the [CI baseline]

      all

    • Does your PR follow the [maintainer guide]

      Yes

    • If you have added/updated a port: Have you run ./vcpkg x-add-version --all and committed the result?

      Yes

    I think this is good to go but have opened it as a draft as it is my first time.

    category:port-update info:reviewed 
    opened by spinicist 83
  • [android] vcpkg_configure_make correct set flags for android build

    [android] vcpkg_configure_make correct set flags for android build

    vcpkg_configure_make properly set CFLAGS, CXXFLAGS, LDFLAG, CC and CXX env variables now for android cross compilation.

    • Which triplets are supported/not supported? Mostly android triplets,

    • Have you updated the CI baseline? - no

    • Does your PR follow the maintainer guide? yes

    category:tool-update 
    opened by xandox 79
  • [tomlplusplus] Add new port

    [tomlplusplus] Add new port

    Describe the pull request This PR adds a port for the tomlplusplus library. Furthermore, as tomlplusplus installs a CMake configuration file generated by meson, it also fixes the vcpkg_fixup_cmake_targets function to correctly deal with CMake configuration files generated by meson, see https://github.com/mesonbuild/meson/issues/6955 for more info.

    • What does your PR fix? Fix https://github.com/microsoft/vcpkg/issues/10667 .

    • Which triplets are supported/not supported? Have you updated the CI baseline? I would expect all the triplets to work fine, so I think it is not necessary to update the CI baseline.

    • Does your PR follow the maintainer guide? Yes

    category:new-port info:reviewed 
    opened by traversaro 77
  • [qtkeychain] switch to Qt6; add qtkeychain-qt5; update to 0.13.1

    [qtkeychain] switch to Qt6; add qtkeychain-qt5; update to 0.13.1

    and update to 0.13.1

    • What does your PR fix?

      Fixes qtkeychain unable to build with Qt6. Also add libsecret dependency on Linux.

    • Which triplets are supported/not supported? Have you updated the CI baseline?

      all

    • Does your PR follow the maintainer guide?

      yes

    • If you have added/updated a port: Have you run ./vcpkg x-add-version --all and committed the result?

      yes

    category:port-feature category:new-port requires:author-response 
    opened by Be-ing 76
  • [osg] Change OPENGL_PROFILE to GL2

    [osg] Change OPENGL_PROFILE to GL2

    Describe the pull request

    • What does your PR fix?

      Fixes #25705, change OPENGL_PROFILE to GL2 to keep this option is same with source. The upstream default value is GL2. The related source codes in [SOURCE_PATH]/CMakeLists.txt
    # Map the OPENGL_PROFILE to OSG_GL*_AVAILABLE settings
    SET(OPENGL_PROFILE "GL2" CACHE STRING "OpenGL Profile to use, choose from GL1, GL2, GL3, GLES1, GLES2, GLES3")
    
    IF ((OPENGL_PROFILE STREQUAL "GL1") OR (OPENGL_PROFILE STREQUAL "GL2"))
        OPTION(OSG_GL1_AVAILABLE "Set to OFF to disable use of OpenGL 1.x functions library." ON )
    ELSE()
        OPTION(OSG_GL1_AVAILABLE "Set to OFF to disable use of OpenGL 1.x functions library." OFF )
    ENDIF()
    
    IF ((OPENGL_PROFILE STREQUAL "GL2"))
        OPTION(OSG_GL2_AVAILABLE "Set to OFF to disable use of OpenGL 2.x functions library." ON )
    ELSE()
        OPTION(OSG_GL2_AVAILABLE "Set to OFF to disable use of OpenGL 2.x functions library." OFF )
    ENDIF()
    
    IF ((OPENGL_PROFILE STREQUAL "GL3") OR (OPENGL_PROFILE STREQUAL "GLCORE"))
        OPTION(OSG_GL3_AVAILABLE "Set to OFF to disable use of OpenGL 3.x functions library." ON )
        if(APPLE)
            add_definitions(-DGL_DO_NOT_WARN_IF_MULTI_GL_VERSION_HEADERS_INCLUDED)
        endif()
    ELSE()
        OPTION(OSG_GL3_AVAILABLE "Set to OFF to disable use of OpenGL 3.x functions library." OFF )
    ENDIF()
    
    IF ((OPENGL_PROFILE STREQUAL "GLES1"))
        OPTION(OSG_GLES1_AVAILABLE "Set to OFF to disable use of OpenGL ES 1.x functions library." ON )
    ELSE()
        OPTION(OSG_GLES1_AVAILABLE "Set to OFF to disable use of OpenGL ES 1.x functions library." OFF )
    ENDIF()
    
    IF ((OPENGL_PROFILE STREQUAL "GLES2"))
        OPTION(OSG_GLES2_AVAILABLE "Set to OFF to disable use of OpenGL ES 2.x functions library." ON )
    ELSEIF ((OPENGL_PROFILE STREQUAL "GLES3"))
        OPTION(OSG_GLES3_AVAILABLE "Set to OFF to disable use of OpenGL ES 3.x functions library." ON )
    ELSEIF ((OPENGL_PROFILE STREQUAL "GLES2+GLES3"))
        OPTION(OSG_GLES2_AVAILABLE "Set to OFF to disable use of OpenGL ES 2.x functions library." ON )
        OPTION(OSG_GLES3_AVAILABLE "Set to OFF to disable use of OpenGL ES 3.x functions library." ON )
    ELSE()
        OPTION(OSG_GLES2_AVAILABLE "Set to OFF to disable use of OpenGL ES 2.x functions library." OFF )
        OPTION(OSG_GLES3_AVAILABLE "Set to OFF to disable use of OpenGL ES 3.x functions library." OFF )
    ENDIF()
    
    category:port-bug info:internal 
    opened by LilyWangLL 1
  • [gdk-pixbuf] undefined reference error when compiling gtkmm's simple example

    [gdk-pixbuf] undefined reference error when compiling gtkmm's simple example

    Describe the bug I'm trying to build the simple example provided by gtkmm's documentation with vcpkg and cmake, but I'm getting a lot of errors from libgdk_pixbuf. I don't know if it's a bug with libgdk_pixbuf's linux port, or I've made a mistake in my cmakelists, but this problem doesn't seem to appear when I'm using other ways to build gtkmm than using vcpkg.

    My CMakeLists.txt
    cmake_minimum_required(VERSION 3.23.2)
    
    set(VCPKG_PATH "/disk/F/dev/vcpkg")
    set(CMAKE_TOOLCHAIN_FILE "${VCPKG_PATH}/scripts/buildsystems/vcpkg.cmake"
        CACHE STRING "Vcpkg toolchain file")
    
    project(LearnGTKMM)
    
    add_executable(main main.cpp)
    
    target_compile_features(main PUBLIC cxx_std_17)
    set_target_properties(main PROPERTIES CXX_EXTENSIONS OFF)
    
    find_path(VCPKG_INSTALLED "include")
    set(VCPKG_INCLUDE "${VCPKG_INSTALLED}/include")
    set(VCPKG_LIB "${VCPKG_INSTALLED}/lib")
    target_include_directories(main PUBLIC
        "${VCPKG_INCLUDE}"
        "${VCPKG_INCLUDE}/glib-2.0"        # glib
        "${VCPKG_INCLUDE}/gtk-4.0"         # gtk
        "${VCPKG_INCLUDE}/cairo"           # cairo
        "${VCPKG_INCLUDE}/pango-1.0"       # pango
        "${VCPKG_INCLUDE}/glibmm-2.68"     # glibmm
        "${VCPKG_INCLUDE}/gtkmm-4.0"       # gtkmm
        "${VCPKG_INCLUDE}/cairomm-1.16"    # cairomm
        "${VCPKG_INCLUDE}/pangomm-2.48"    # pangomm
        "${VCPKG_INCLUDE}/giomm-2.68"      # ???
        "${VCPKG_INCLUDE}/gdk-pixbuf-2.0"  # gdk-pixbuf
        "${VCPKG_INCLUDE}/graphene-1.0"    # graphene
        "${VCPKG_LIB}/gtkmm-4.0/include"
        "${VCPKG_LIB}/glibmm-2.68/include"
        "${VCPKG_LIB}/glib-2.0/include"
        "${VCPKG_LIB}/giomm-2.68/include"
        "${VCPKG_LIB}/pangomm-2.48/include"
        "${VCPKG_LIB}/cairomm-1.16/include"
        "${VCPKG_LIB}/graphene-1.0/include"
    )
    
    find_package(sigc++-3 CONFIG REQUIRED)
    find_package(harfbuzz CONFIG REQUIRED)
    
    find_library(GLIB "glib-2.0")
    find_library(GTK "gtk-4")
    find_library(CAIRO "cairo")
    find_library(PANGO "pango-1.0")
    find_library(GLIBMM "glibmm-2.68")
    find_library(GTKMM "gtkmm-4.0")
    find_library(CAIROMM "cairomm-1.16")
    find_library(PANGOMM "pangomm-2.48")
    find_library(GIOMM "giomm-2.68")
    find_library(GDKPIXBUF "gdk_pixbuf-2.0")
    find_library(GRAPHENE "graphene-1.0")
    target_link_libraries(main PUBLIC
        ${GLIB}
        ${GTK}
        ${CAIRO}
        ${PANGO}
        ${GLIBMM}
        ${GTKMM}
        ${CAIROMM}
        ${PANGOMM}
        ${GIOMM}
        ${GDKPIXBUF}
        ${GRAPHENE}
        sigc-3.0
        harfbuzz
        harfbuzz::harfbuzz
    )
    

    My main.cpp

    The output of make (full version)

    [ 50%] Linking CXX executable main
    /usr/bin/ld: /disk/F/dev/vcpkg/installed/x64-linux/lib/libgdk_pixbuf-2.0.a(io-gif.c.o): in function `gdk_pixbuf__gif_image_stop_load':
    io-gif.c:(.text+0x4d): undefined reference to `g_object_unref'
    /usr/bin/ld: io-gif.c:(.text+0x59): undefined reference to `g_byte_array_unref'
    /usr/bin/ld: io-gif.c:(.text+0x61): undefined reference to `g_free'
    /usr/bin/ld: io-gif.c:(.text+0x7f): undefined reference to `g_dgettext'
    /usr/bin/ld: io-gif.c:(.text+0x9c): undefined reference to `g_set_error_literal'
    /usr/bin/ld: io-gif.c:(.text+0xbf): undefined reference to `g_dgettext'
    /usr/bin/ld: io-gif.c:(.text+0xd9): undefined reference to `g_set_error_literal'
    ...
    collect2: error: ld returned 1 exit status
    make[2]: *** [CMakeFiles/main.dir/build.make:117: main] Error 1
    make[1]: *** [CMakeFiles/Makefile2:83: CMakeFiles/main.dir/all] Error 2
    make: *** [Makefile:91: all] Error 2
    

    Environment

    • OS: Linux Mint 20.3
    • Compiler: g++ (Ubuntu 9.4.0-1ubuntu1~20.04.1) 9.4.0

    To Reproduce Steps to reproduce the behavior:

    1. install gtkmm with ./vcpkg install gtkmm
    2. Create a folder with the given CMakeLists.txt and main.cpp in it
    3. create a folder named build next to them
    4. go to the build folder
    5. run cmake ..
    6. run cmake --build .
    7. get the errors mentioned above

    Expected behavior I expected the file to compile successfully

    category:port-bug 
    opened by mhn1384 0
  • Fix breakpad HEADER_EXCLUDE_REGEX matching

    Fix breakpad HEADER_EXCLUDE_REGEX matching

    Describe the pull request

    • What does your PR fix?

    Fixes #26117

    • Which triplets are supported/not supported? Have you updated the CI baseline?

      <all / linux, windows, ...>, <Yes/No>

    Not changed.

    Yes

    • If you have added/updated a port: Have you run ./vcpkg x-add-version --all and committed the result?

    Yes

    If you are still working on the PR, open it as a Draft: https://github.blog/2019-02-14-introducing-draft-pull-requests/

    invalid 
    opened by youknowone 3
  • [breakpad] header not installed

    [breakpad] header not installed

    Host Environment

    • OS: macOS
    • Compiler: Apple clang version 13.1.6 (clang-1316.0.21.2.5)

    To Reproduce Steps to reproduce the behavior: ./vcpkg install breakpad

    Failure logs -Cut and paste the appropriate build messages from the console output. -Please attach any additional failure logs mentioned in the console output.

    Installing 1/1 breakpad:arm64-osx...
    Building breakpad[core]:arm64-osx...
    warning: -- Using community triplet arm64-osx. This triplet configuration is not guaranteed to succeed.
    -- [COMMUNITY] Loading triplet configuration from: /Users/user/Projects/A/vcpkg/triplets/community/arm64-osx.cmake
    -- Downloading https://github.com/google/breakpad/archive/9c4671f2e3a63c0f155d9b2511192d0b5fa7f760.tar.gz -> google-breakpad-9c4671f2e3a63c0f155d9b2511192d0b5fa7f760.tar.gz...
    -- Extracting source /Users/user/Projects/A/vcpkg/downloads/google-breakpad-9c4671f2e3a63c0f155d9b2511192d0b5fa7f760.tar.gz
    -- Applying patch fix-unique_ptr.patch
    -- Applying patch fix-unordered_map.patch
    -- Using source at /Users/user/Projects/A/vcpkg/buildtrees/breakpad/src/0b5fa7f760-4cf530ff2b.clean
    -- Found external ninja('1.10.2').
    -- Configuring arm64-osx-dbg
    -- Configuring arm64-osx-rel
    -- Building arm64-osx-dbg
    -- Building arm64-osx-rel
    -- Installing: /Users/user/Projects/A/vcpkg/packages/breakpad_arm64-osx/share/breakpad/copyright
    -- Performing post-build validation
    The folder /include is empty or not present. This indicates the library was not correctly installed.
    Found 1 post-build check problem(s). To submit these ports to curated catalogs, please first correct the portfile:
        /Users/user/Projects/A/vcpkg/ports/breakpad/portfile.cmake
    -- Performing post-build validation done
    Stored binary cache: '/Users/user/.cache/vcpkg/archives/42/42a95bdfc8ea656374cc7e1fb267bbb93ac255c677f8a1ef8edc189e1f6baf3e.zip'
    Elapsed time to handle breakpad:arm64-osx: 11.11 s
    
    Total elapsed time: 13.02 s
    
    breakpad provides CMake targets:
        # this is heuristically generated, and may not be correct
        find_package(unofficial-breakpad CONFIG REQUIRED)
        target_link_libraries(main PRIVATE unofficial::breakpad::libbreakpad unofficial::breakpad::libbreakpad_client)
    

    The installation is successful but see the header errors:

    The folder /include is empty or not present. This indicates the library was not correctly installed.
    

    Additional context Add any other context about the problem here, such as what you have already tried to resolve the issue. Projects in the path is suspicious.

    category:port-bug 
    opened by youknowone 1
  • [wxwidgets] Add feature fonts

    [wxwidgets] Add feature fonts

    Fix https://github.com/microsoft/vcpkg/issues/26065

    Add feature fonts.

    All features tested on the following triplets:

    • x64-windows
    • x86-windows
    • x64-windows-static
    category:port-feature info:internal info:reviewed 
    opened by Adela0814 0
Releases(2022.07.25)
Owner
Microsoft
Open source projects and samples from Microsoft
Microsoft
CMake wrapper for Xrepo C and C++ package manager

xrepo-cmake CMake wrapper for Xrepo C and C++ package manager. Supporting the project Support this project by becoming a sponsor. Your logo will show

xmake-io 19 May 13, 2022
CMake scripts for painless usage of SuiteSparse+METIS from Visual Studio and the rest of Windows/Linux/OSX IDEs supported by CMake

CMake scripts for painless usage of Tim Davis' SuiteSparse (CHOLMOD,UMFPACK,AMD,LDL,SPQR,...) and METIS from Visual Studio and the rest of Windows/Lin

Jose Luis Blanco-Claraco 385 Aug 2, 2022
C package manager-ish

clib(1) Package manager for the C programming language. Installation Expects libcurl to be installed and linkable. With homebrew: $ brew install clib

clibs 4.4k Aug 6, 2022
C++ Package Manager

CPM Note CPM is not being actively maintained. I plan on keeping the website active but don't plan on making further modifications to the codebase. If

James 717 Jul 25, 2022
A CMake toolchain file for iOS, macOS, watchOS & tvOS C/C++/Obj-C++ development

A CMake toolchain file for iOS, macOS, watchOS & tvOS C/C++/Obj-C++ development

Alexander Widerberg 1.3k Aug 2, 2022
📦 CMake's missing package manager. A small CMake script for setup-free, cross-platform, reproducible dependency management.

Setup-free CMake dependency management CPM.cmake is a CMake script that adds dependency management capabilities to CMake. It's built as a thin wrapper

CPM.cmake 1.3k Aug 7, 2022
Enhanced CMake Project Manager plugin for Qt Creator

CMakeProjectManager2 Alternative CMake support for Qt Creator. Main differents from original CMakeProject plugin: Project file list readed from file s

Alexander Drozdov 71 May 24, 2022
New gen. Linux

ExtremeCodeOS New gen. Linux Преамбула Необходимо исправить все недостатки линукса и сделать самый лучший и самый доступный дистрибутив из всех сущест

Artem Dontsov 301 Aug 3, 2022
Installation example for a C++ project (Windows) with Cmake.

CMakeInstallExample Installation example for a C++ project (Windows) with Cmake. Contents This project demonstrates how to use cmake with cpack to gen

Paul T 28 Jul 13, 2022
CMake module for building Windows Installer packages with WiX toolset

FindWiX CMake module for building Windows Installer packages with WiX toolset Introduction Requirements Usage find_package() wix_add_project() WiX com

Apriorit Inc. 10 Dec 20, 2021
Example library that shows best practices and proper usage of CMake by using targets

Modern CMake Sample Sample project that shows proper modern CMake usage on a dummy library and an executable that uses it. Accompanying code to my blo

Pablo Arias 569 Jul 27, 2022
Utility and common library for all polysquare cmake tools.

Polysquare CMake Tooling Utility Functions Utility and common library for all polysquare cmake tools. Status Travis CI (Ubuntu) AppVeyor (Windows) Cov

ポリ平方 POLYSQUARE 3 May 7, 2021
nabs is a single-header library for writing build recipes in C++

nabs is a single-header library for writing build recipes in C++. It is directly inspired by nobuild, but with more feature (bloat) and built-in support for makefile-like dependency resolution.

zhiayang 6 May 8, 2021
a lua extend library

colib 这是一个Lua扩展库,提供了一些常用的扩展功能,该库还在不断完善中。。。 功能列表 已提供的模块有: rtl模块: 提供基础的面向对象实现。 dbg模块: 扩展的traceback函数,可以打印每一调用层级的变量值。 打印Lua对象为字符串形式。 高精度时钟 list对象: 数组对象,接

colin 33 Jul 23, 2022
Simple library for embedding static resources into C++ binaries using CMake

libromfs libromfs is an easy way to bundle resources directly into any C++ application and access them through a simple interface. The main advantage

WerWolv 25 Jul 29, 2022
An OS-agnostic C++ library template in plain CMake.

?? How to export C++ library This repository provides an OS-agnostic C++ library template with plain CMake files with the following features: distribu

Robotology 287 Aug 8, 2022
A fast build system that encourages the creation of small, reusable modules over a variety of platforms and languages.

Buck Buck is a build tool. To see what Buck can do for you, check out the documentation at http://buck.build/. Installation Since Buck is used to buil

Facebook 8.3k Jul 30, 2022
Tundra is a code build system that tries to be accurate and fast for incremental builds

Tundra, a build system Tundra is a high-performance code build system designed to give the best possible incremental build times even for very large s

Andreas Fredriksson 372 Jul 17, 2022
Yet another post-build step and class to bring reflection to C++ enumerations.

enum_values Yet another post-build step and class to bring reflection to C++ enumerations! Fair warning: this project has not undergone much testing (

null 12 May 11, 2022