Merge branch 'master' of https://github.com/microsoft/vcpkg into install-copyright

This commit is contained in:
Thomas Heinrichs 2022-06-30 09:25:02 +02:00
commit 838ead7429
552 changed files with 5267 additions and 4322 deletions

View File

@ -7,6 +7,9 @@
- [Common Options](common-options.md)
- Commands
- [vcpkg install](install.md)
- [vcpkg integrate](integrate.md)
- [vcpkg remove](remove.md)
- [vcpkg search](search.md)
## Source

View File

@ -22,6 +22,8 @@ Build and install port packages.
In Classic Mode, this verb adds port packages to the existing set in the [installed directory][] (defaults to `installed/` under the vcpkg root). This can require removing and rebuilding existing packages, which can fail.
<a id="package-syntax"></a>
**Package Syntax**
```
portname[feature1,feature2]:triplet
@ -81,6 +83,8 @@ Print the install plan, but do not remove or install any packages.
The install plan lists all packages and features that will be installed, as well as any other packages that need to be removed and rebuilt.
<a id="editable"></a>
### `--editable`
**Classic Mode Only**

43
docs/commands/remove.md Normal file
View File

@ -0,0 +1,43 @@
# vcpkg remove
**The latest version of this documentation is available on [GitHub](https://github.com/Microsoft/vcpkg/tree/master/docs/commands/remove.md).**
## Synopsis
```no-highlight
vcpkg remove [options] <package>...
```
```no-highlight
vcpkg remove --outdated [options]
```
## Description
Remove port packages from Classic Mode.
`remove` removes listed packages and any packages that require them from the Classic Mode [installed directory][common-options.md#install-root]. See the [install command documentation](install.md#package-syntax) for detailed syntax of the `<package>` parameter.
This command is not currently supported in [Manifest Mode][].
## Options
All vcpkg commands support a set of [common options](common-options.md).
### `--recurse`
Allow removing packages not specified on the command line.
By default, vcpkg refuses to execute a removal plan that would remove packages not listed on the command line.
### `--dry-run`
Print the packages to be removed, but do not remove them.
### `--outdated`
Remove all packages that do not match the available port versions.
For each installed package, vcpkg will compare the installed version string to the version string of the current recipe. If those versions differ, the package will be selected for removal. If `--outdated` is passed, no packages should be listed on the command line.
[Manifest Mode]: ../users/manifests.md

View File

@ -0,0 +1,42 @@
# vcpkg x-update-baseline
**The latest version of this documentation is available on [GitHub](https://github.com/Microsoft/vcpkg/tree/master/docs/commands/update-baseline.md).**
**This command is experimental and may change or be removed at any time**
## Synopsis
```no-highlight
vcpkg x-update-baseline [options] [--add-initial-baseline] [--dry-run]
```
## Description
Update baselines for all configured [registries][].
In [Manifest Mode][], this command operates on all [registries][] in the `vcpkg.json` and the [`vcpkg-configuration.json`][]. In Classic Mode, this command operates on the [`vcpkg-configuration.json`][] in the vcpkg instance (`$VCPKG_ROOT`).
See the [versioning documentation](../users/versioning.md#baselines) for more information about baselines.
## Options
All vcpkg commands support a set of [common options](common-options.md).
### `--dry-run`
Print the planned baseline upgrades, but do not modify the files on disk.
<a id="add-initial-baseline"></a>
### `--add-initial-baseline`
**[Manifest Mode][] Only**
Add a [`"builtin-baseline"`][] field to the `vcpkg.json` if it does not already have one.
Without this flag, it is an error to run this command on a manifest that does not have any [registries][] configured.
[Manifest Mode]: ../users/manifests.md
[`"builtin-baseline"`]: ../users/manifests.md#builtin-baseline
[`vcpkg-configuration.json`]: ../users/registries.md#vcpkg-configurationjson
[registries]: ../users/registries.md

View File

@ -37,7 +37,7 @@ vcpkg_cmake_install()
file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/libogg" RENAME copyright)
```
Check the documentation for [`vcpkg_cmake_configure`](../maintainers/ports/vcpkg-cmake/vcpkg_cmake_configure.md) and [`vcpkg_cmake_install`](../maintainers/ports/vcpkg-cmake/vcpkg_cmake_install.md) if your package needs additional options.
Check the documentation for [`vcpkg_cmake_configure`](../maintainers/vcpkg_cmake_configure.md) and [`vcpkg_cmake_install`](../maintainers/ports/vcpkg-cmake/vcpkg_cmake_install.md) if your package needs additional options.
Now you can run `vcpkg install libogg` to build and install the package.

View File

@ -3,7 +3,7 @@
### Bootstrap with `create`
First, locate a globally accessible archive of the library's sources. Zip, gzip, and bzip are all supported. Strongly prefer official sources or mirrors over unofficial mirrors.
*Looking at zlib's website, the URL http://zlib.net/zlib-1.2.11.tar.gz looks appropriate.*
*Looking at zlib's website, the URL http://zlib.net/zlib-1.2.12.tar.gz looks appropriate.*
Second, determine a suitable package name. This should be ASCII, lowercase, and recognizable to someone who knows the library's "human name". If the library is already packaged in another package manager, prefer that name.
@ -11,12 +11,12 @@ Second, determine a suitable package name. This should be ASCII, lowercase, and
Finally, if the server's name for the archive is not very descriptive (such as downloading a zipped commit or branch from GitHub), choose a nice archive name of the form `<packagename>-<version>.zip`.
*`zlib1211.zip` is a fine name, so no change needed.*
*`zlib1212.zip` is a fine name, so no change needed.*
All this information can then be passed into the `create` command, which will download the sources and bootstrap the packaging process inside `ports/<packagename>`.
```no-highlight
PS D:\src\vcpkg> .\vcpkg create zlib2 http://zlib.net/zlib-1.2.11.tar.gz zlib1211.tar.gz
PS D:\src\vcpkg> .\vcpkg create zlib2 http://zlib.net/zlib-1.2.12.tar.gz zlib1212.tar.gz
-- Generated portfile: D:/src/vcpkg/ports/zlib2/portfile.cmake
```
@ -27,7 +27,7 @@ In addition to the generated `ports/<package>/portfile.cmake`, we also need a `p
```json
{
"name": "zlib2",
"version-string": "1.2.11",
"version-string": "1.2.12",
"description": "A Massively Spiffy Yet Delicately Unobtrusive Compression Library"
}
```
@ -42,11 +42,11 @@ The following packages will be built and installed:
zlib2[core]:x64-uwp
Starting package 1/1: zlib2:x64-uwp
Building package zlib2[core]:x64-uwp...
-- Using cached C:/src/vcpkg/downloads/zlib1211.tar.gz
-- Cleaning sources at C:/src/vcpkg/buildtrees/zlib2/src/1.2.11-deec42f53b.clean. Pass --editable to vcpkg to reuse sources.
-- Extracting source C:/src/vcpkg/downloads/zlib1211.tar.gz
-- Using cached C:/src/vcpkg/downloads/zlib1212.tar.gz
-- Cleaning sources at C:/src/vcpkg/buildtrees/zlib2/src/1.2.12-deec42f53b.clean. Pass --editable to vcpkg to reuse sources.
-- Extracting source C:/src/vcpkg/downloads/zlib1212.tar.gz
-- Applying patch cmake_dont_build_more_than_needed.patch
-- Using source at C:/src/vcpkg/buildtrees/zlib2/src/1.2.11-deec42f53b.clean
-- Using source at C:/src/vcpkg/buildtrees/zlib2/src/1.2.12-deec42f53b.clean
-- Configuring x64-uwp
-- Building x64-uwp-dbg
-- Building x64-uwp-rel

View File

@ -145,7 +145,7 @@ If you want to upgrade your dependencies, you can bump the minimum version const
{ "builtin-baseline": "3426db05b996481ca31e95fff3734cf23e0f51bc" }
```
This field declares the versioning baseline for all ports. Setting a baseline is required to enable versioning, otherwise you will get the current versions on the ports directory. You can run 'git rev-parse HEAD' to get the current commit of vcpkg and set it as the builtin-baseline. See the [`builtin-baseline` documentation](../users/versioning.md#builtin-baseline) for more information.
This field declares the versioning baseline for all ports. Setting a baseline is required to enable versioning, otherwise you will get the current versions on the ports directory. You can run 'git rev-parse HEAD' to get the current commit of vcpkg and set it as the builtin-baseline. See the [`builtin-baseline` documentation](../users/manifests.md#builtin-baseline) for more information.
In our example, you can notice that we do not declare a version constraint for `zlib`; instead, the version is taken from the baseline. Internally, vcpkg will look in commit `3426db05b996481ca31e95fff3734cf23e0f51bc` to find out what version of `zlib` was the latest at that point in time (in our case it was `1.2.11#9`).

View File

@ -6,38 +6,37 @@ such as https://github.com/microsoft/vcpkg/pull/23757
1. Verify that all tests etc. are passing in the vcpkg-tool repo's `main` branch, and that the
contents therein are acceptable for release. (Steps after this will sign code there, so this
review is responsible gating what has access to code signing.)
2. On your machine, in a prompt changed to the vcpkg-tool repo,
`git fetch https://github.com/microsoft/vcpkg-tool main && git switch -d FETCH_HEAD`
3. Check that the changes there are in fact the changes that we want in that release. (Be aware,
2. Check that the changes there are in fact the changes that we want in that release. (Be aware,
you are responsible for what is about to be signed with a Microsoft code signing certificate by
proceeding)
4. `git push https://devdiv.visualstudio.com/DevDiv/_git/vcpkg FETCH_HEAD:main`
5. Monitor the resulting signed build at:
3. Submit a new full tree rebuild by https://dev.azure.com/vcpkg/public/_build?definitionId=29
(microsoft.vcpkg.ci as of this writing) and queue a new build with the vcpkg-tool SHA overridden
to the one you wish to use. Example:
https://dev.azure.com/vcpkg/public/_build/results?buildId=73664&view=results
4. (Probably the next day) Check over the failures and ensure any differences with the most recent
full rebuild using the previous tool version are understood.
5. On your machine, in a prompt changed to the vcpkg-tool repo,
`git fetch https://github.com/microsoft/vcpkg-tool main && git switch -d FETCH_HEAD`
6. `git push https://devdiv.visualstudio.com/DevDiv/_git/vcpkg FETCH_HEAD:main`
7. Monitor the resulting signed build at:
https://devdiv.visualstudio.com/DefaultCollection/DevDiv/_build?definitionId=13610
and/or manually submit one. (The push is supposed to automatically submit a build but that
has been somewhat unstable at the time of this writing.)
6. The signed build will automatically create a draft GitHub release at
8. The signed build will automatically create a draft GitHub release at
https://github.com/microsoft/vcpkg-tool/releases . Erase the contents filled in there and press
the "auto generate release notes" button. Manually remove any entries created by the automated
localization tools which will start with `* LEGO: Pull request from juno/`.
7. Publish that draft release as "pre-release".
8. Smoke test the 'one liner' installer: (Where 2022-03-30 is replaced with the right release name)
9. Publish that draft release as "pre-release".
10. Smoke test the 'one liner' installer: (Where 2022-06-15 is replaced with the right release name)
* Powershell:
`iex (iwr https://github.com/microsoft/vcpkg-tool/releases/download/2022-03-30/vcpkg-init.ps1)`
`iex (iwr https://github.com/microsoft/vcpkg-tool/releases/download/2022-06-15/vcpkg-init.ps1)`
* Batch:
`curl -L -o vcpkg-init.cmd https://github.com/microsoft/vcpkg-tool/releases/download/2022-03-30/vcpkg-init.ps1 && .\vcpkg-init.cmd`
`curl -L -o vcpkg-init.cmd https://github.com/microsoft/vcpkg-tool/releases/download/2022-06-15/vcpkg-init.ps1 && .\vcpkg-init.cmd`
* Bash:
`. <(curl https://github.com/microsoft/vcpkg-tool/releases/download/2022-03-30/vcpkg-init.sh -L)`
9. In the vcpkg repo, draft a PR which updates `bootstrap-vcpkg.sh` and `boostrap-vcpkg.ps1`
`. <(curl https://github.com/microsoft/vcpkg-tool/releases/download/2022-06-15/vcpkg-init -L)`
11. In the vcpkg repo, draft a PR which updates `bootstrap-vcpkg.sh` and `boostrap-vcpkg.ps1`
with the new release date, and update SHAs as appropriate in the .sh script. (For example, see
https://github.com/microsoft/vcpkg/pull/23757)
10. Submit a new full tree rebuild by https://dev.azure.com/vcpkg/public/_build?definitionId=29
(microsoft.vcpkg.ci as of this writing) and queue a new build targeting branch
`refs/pull/ The PR number created in the previous step /head` (for example
`refs/pull/24131/head`
https://dev.azure.com/vcpkg/public/_build/results?buildId=70703&view=results)
11. (Probably the next day) Check over the failures and ensure any differences with the most recent
full rebuild using the previous tool version are understood.
12. Merge the tool update PR.
13. Change the github release in vcpkg-tool from "prerelease" to "release". (This automatically
updates the aka.ms links)

View File

@ -1,11 +0,0 @@
# z_vcpkg_setup_pkgconfig_path
Setup the generated pkgconfig file path to PKG_CONFIG_PATH environment variable or restore PKG_CONFIG_PATH environment variable.
```cmake
z_vcpkg_setup_pkgconfig_path(BASE_DIRS <"${CURRENT_INSTALLED_DIR}" ...>)
z_vcpkg_restore_pkgconfig_path()
```
`z_vcpkg_setup_pkgconfig_path` prepends `lib/pkgconfig` and `share/pkgconfig` directories for the given `BASE_DIRS` to the `PKG_CONFIG_PATH` environment variable. It creates or updates a backup of the previous value.
`z_vcpkg_restore_pkgconfig_path` shall be called when leaving the scope which called `z_vcpkg_setup_pkgconfig_path` in order to restore the original value from the backup.

View File

@ -42,14 +42,15 @@ https://github.blog/2019-02-14-introducing-draft-pull-requests/
At this time, the following helpers are deprecated:
1. `vcpkg_extract_source_archive()` should be replaced by [`vcpkg_extract_source_archive_ex()`](vcpkg_extract_source_archive_ex.md)
2. `vcpkg_apply_patches()` should be replaced by the `PATCHES` arguments to the "extract" helpers (e.g. [`vcpkg_from_github()`](vcpkg_from_github.md))
3. `vcpkg_build_msbuild()` should be replaced by [`vcpkg_install_msbuild()`](vcpkg_install_msbuild.md)
4. `vcpkg_copy_tool_dependencies()` should be replaced by [`vcpkg_copy_tools()`](vcpkg_copy_tools.md)
5. `vcpkg_configure_cmake` should be replaced by [`vcpkg_cmake_configure()`](ports/vcpkg-cmake/vcpkg_cmake_configure.md#vcpkg_cmake_configure) after removing `PREFER_NINJA` (from port [`vcpkg-cmake`](ports/vcpkg-cmake.md#vcpkg-cmake))
6. `vcpkg_build_cmake` should be replaced by [`vcpkg_cmake_build()`](ports/vcpkg-cmake/vcpkg_cmake_build.md#vcpkg_cmake_build) (from port [`vcpkg-cmake`](ports/vcpkg-cmake.md#vcpkg-cmake))
7. `vcpkg_install_cmake` should be replaced by [`vcpkg_cmake_install()`](ports/vcpkg-cmake/vcpkg_cmake_install.md#vcpkg_cmake_install) (from port [`vcpkg-cmake`](ports/vcpkg-cmake.md#vcpkg-cmake))
8. `vcpkg_fixup_cmake_targets` should be replaced by [`vcpkg_cmake_config_fixup`](ports/vcpkg-cmake-config/vcpkg_cmake_config_fixup.md#vcpkg_cmake_config_fixup) (from port [`vcpkg-cmake-config`](ports/vcpkg-cmake-config.md#vcpkg-cmake-config))
- [`vcpkg_extract_source_archive_ex()`](vcpkg_extract_source_archive_ex.md) should be replaced by the supported overload of [`vcpkg_extract_source_archive()`] (with `ARCHIVE`)
- The deprecated overload of [`vcpkg_extract_source_archive()`] without `ARCHIVE` should be replaced by the supported overload with `ARCHIVE`.
- `vcpkg_apply_patches()` should be replaced by the `PATCHES` arguments to the "extract" helpers (e.g. [`vcpkg_from_github()`](vcpkg_from_github.md))
- `vcpkg_build_msbuild()` should be replaced by [`vcpkg_install_msbuild()`](vcpkg_install_msbuild.md)
- `vcpkg_copy_tool_dependencies()` should be replaced by [`vcpkg_copy_tools()`](vcpkg_copy_tools.md)
- `vcpkg_configure_cmake` should be replaced by [`vcpkg_cmake_configure()`](vcpkg_cmake_configure.md) after removing `PREFER_NINJA` (from port [`vcpkg-cmake`](ports/vcpkg-cmake.md))
- `vcpkg_build_cmake` should be replaced by [`vcpkg_cmake_build()`](ports/vcpkg-cmake/vcpkg_cmake_build.md#vcpkg_cmake_build) (from port [`vcpkg-cmake`](ports/vcpkg-cmake.md))
- `vcpkg_install_cmake` should be replaced by [`vcpkg_cmake_install()`](ports/vcpkg-cmake/vcpkg_cmake_install.md#vcpkg_cmake_install) (from port [`vcpkg-cmake`](ports/vcpkg-cmake.md))
- `vcpkg_fixup_cmake_targets` should be replaced by [`vcpkg_cmake_config_fixup`](ports/vcpkg-cmake-config/vcpkg_cmake_config_fixup.md#vcpkg_cmake_config_fixup) (from port [`vcpkg-cmake-config`](ports/vcpkg-cmake-config.md#vcpkg-cmake-config))
Some of the replacement helper functions are in "tools ports" to allow consumers to pin their
behavior at specific versions, to allow locking the behavior of the helpers at a particular
@ -66,6 +67,8 @@ version. Tools ports need to be added to your port's `"dependencies"`, like so:
}
```
[`vcpkg_extract_source_archive()`]: vcpkg_extract_source_archive.md
### Avoid excessive comments in portfiles
Ideally, portfiles should be short, simple, and as declarative as possible.

View File

@ -18,7 +18,7 @@
- [vcpkg\_clean\_executables\_in\_bin](vcpkg_clean_executables_in_bin.md)
- [vcpkg\_clean\_msbuild](vcpkg_clean_msbuild.md)
- [vcpkg\_common\_definitions](vcpkg_common_definitions.md)
- [vcpkg\_configure\_cmake](vcpkg_configure_cmake.md) (deprecated, use [vcpkg\_cmake\_configure](ports/vcpkg-cmake/vcpkg_cmake_configure.md))
- [vcpkg\_configure\_cmake](vcpkg_configure_cmake.md) (deprecated, use [vcpkg\_cmake\_configure](vcpkg_cmake_configure.md))
- [vcpkg\_configure\_gn](vcpkg_configure_gn.md) (deprecated, use [vcpkg\_gn\_configure](ports/vcpkg-gn/vcpkg_gn_configure.md))
- [vcpkg\_configure\_make](vcpkg_configure_make.md)
- [vcpkg\_configure\_meson](vcpkg_configure_meson.md)
@ -72,7 +72,7 @@
### [vcpkg-cmake](ports/vcpkg-cmake.md)
- [vcpkg\_cmake\_build](ports/vcpkg-cmake/vcpkg_cmake_build.md)
- [vcpkg\_cmake\_configure](ports/vcpkg-cmake/vcpkg_cmake_configure.md)
- [vcpkg\_cmake\_configure](vcpkg_cmake_configure.md)
- [vcpkg\_cmake\_install](ports/vcpkg-cmake/vcpkg_cmake_install.md)
### [vcpkg-gn](ports/vcpkg-gn.md)

View File

@ -1,7 +1,7 @@
# vcpkg-cmake
This port contains cmake functions for dealing with a CMake buildsystem.
This port contains portfile helper functions for dealing with a CMake buildsystem.
In the common case, `vcpkg_cmake_configure()` (with appropriate arguments)
followed by `vcpkg_cmake_install()` will be enough to build and install a port.
`vcpkg_cmake_build()` is provided for more complex cases.
- [`vcpkg_cmake_configure()`](../vcpkg_cmake_configure.md)
- [`vcpkg_cmake_install()`](vcpkg-cmake/vcpkg_cmake_install.md)
- [`vcpkg_cmake_build()`](vcpkg-cmake/vcpkg_cmake_build.md)

View File

@ -1,93 +0,0 @@
# vcpkg_cmake_configure
The latest version of this document lives in the [vcpkg repo](https://github.com/Microsoft/vcpkg/blob/master/docs/maintainers/ports/vcpkg-cmake/vcpkg_cmake_configure.md).
Configure a CMake buildsystem.
```cmake
vcpkg_cmake_configure(
SOURCE_PATH <source-path>
[LOGFILE_BASE <logname-base>]
[DISABLE_PARALLEL_CONFIGURE]
[NO_CHARSET_FLAG]
[WINDOWS_USE_MSBUILD]
[GENERATOR <generator>]
[OPTIONS
<configure-setting>...]
[OPTIONS_RELEASE
<configure-setting>...]
[OPTIONS_DEBUG
<configure-setting>...]
[MAYBE_UNUSED_VARIABLES
<option-name>...]
)
```
`vcpkg_cmake_configure` configures a CMake build system for use with
`vcpkg_cmake_buildsystem_build` and `vcpkg_cmake_buildsystem_install`.
`source-path` is where the source is located; by convention,
this is usually `${SOURCE_PATH}`, which is set by one of the `vcpkg_from_*` functions.
This function configures the build system for both Debug and Release builds by default,
assuming that `VCPKG_BUILD_TYPE` is not set; if it is, then it will only configure for
that build type.
Use the `OPTIONS` argument to set the configure settings for both release and debug,
and use `OPTIONS_RELEASE` and `OPTIONS_DEBUG` to set the configure settings for
release only and debug only respectively.
By default, when possible, `vcpkg_cmake_configure` uses [ninja-build]
as its build system. If the `WINDOWS_USE_MSBUILD` argument is passed, then
`vcpkg_cmake_configure` will use a Visual Studio generator on Windows;
on every other platform, `vcpkg_cmake_configure` just uses Ninja.
[ninja-build]: https://ninja-build.org/
Additionally, one may pass the specific generator a port should use with `GENERATOR`.
This is useful if some project-specific buildsystem
has been wrapped in a CMake build system that doesn't perform an actual build.
If used for this purpose, it should be set to `"NMake Makefiles"`.
`vcpkg_cmake_buildsystem_build` and `install` do not support this being set to anything
except for NMake.
For libraries which cannot be configured in parallel,
pass the `DISABLE_PARALLEL_CONFIGURE` flag. This is needed, for example,
if the library's build system writes back into the source directory during configure.
This also disables the `CMAKE_DISABLE_SOURCE_CHANGES` option.
By default, this function adds flags to `CMAKE_C_FLAGS` and `CMAKE_CXX_FLAGS`
which set the default character set to utf-8 for MSVC.
If the library sets its own code page, pass the `NO_CHARSET_FLAG` option.
This function makes certain that all options passed in are used by the
underlying CMake build system. If there are options that might be unused,
perhaps on certain platforms, pass those variable names to
`MAYBE_UNUSED_VARIABLES`. For example:
```cmake
vcpkg_cmake_configure(
...
OPTIONS
-DBUILD_EXAMPLE=OFF
...
MAYBE_UNUSED_VARIABLES
BUILD_EXAMPLE
)
```
`LOGFILE_BASE` is used to set the base of the logfile names;
by default, this is `config`, and thus the logfiles end up being something like
`config-x86-windows-dbg.log`. You can set it to anything you like;
if you set it to `config-the-first`,
you'll get something like `config-the-first-x86-windows.dbg.log`.
## Notes
This command supplies many common arguments to CMake. To see the full list, examine the source.
## Examples
* [zlib](https://github.com/Microsoft/vcpkg/blob/master/ports/zlib/portfile.cmake)
* [cpprestsdk](https://github.com/Microsoft/vcpkg/blob/master/ports/cpprestsdk/portfile.cmake)
* [poco](https://github.com/Microsoft/vcpkg/blob/master/ports/poco/portfile.cmake)
* [opencv4](https://github.com/Microsoft/vcpkg/blob/master/ports/opencv4/portfile.cmake)
## Source
[ports/vcpkg-cmake/vcpkg\_cmake\_configure.cmake](https://github.com/Microsoft/vcpkg/blob/master/ports/vcpkg-cmake/vcpkg_cmake_configure.cmake)

View File

@ -125,10 +125,7 @@ HEAD commit should be a child of all previous HEAD commits.
### Builtin Registries
Builtin registries are treated as special Git registries. Instead of fetching
from a remote url, builtin registries consult the `$VCPKG_ROOT/.git` directory
of the vcpkg clone. They use the currently checked out `$VCPKG_ROOT/versions`
directory as the source for versioning information.
Builtin registries are treated as special [Git registries](#git-registries). Instead of fetching from a remote url, builtin registries consult the `$VCPKG_ROOT/.git` directory of the vcpkg clone. They use the currently checked out `$VCPKG_ROOT/versions` directory as the source for versioning information.
#### Adding a New Version
@ -216,9 +213,7 @@ registries, which have the implicit versioning scheme of refs, filesystem
registries can't rely on the version control system here. One possible option
is to do a daily release, and have your "versions" be dates.
_WARNING_: A baseline must always refer to the same set of versions. If you
want to add new versions, you need to create a new version of the registry in
the `baseline.json` file.
_WARNING_: A baseline must not be modified once published. If you want to change or update versions, you need to create a new baseline in the `baseline.json` file.
Here's an example of a valid `baseline.json`, for a registry that has decided
upon dates for their versions:

View File

@ -0,0 +1,134 @@
# vcpkg_cmake_configure
The latest version of this document lives in the [vcpkg repo](https://github.com/Microsoft/vcpkg/blob/master/docs/maintainers/vcpkg_cmake_configure.md).
Configure a CMake-based project.
This command replaces [`vcpkg_configure_cmake()`](vcpkg_configure_cmake.md).
## Usage
```cmake
vcpkg_cmake_configure(
SOURCE_PATH <source-path>
[DISABLE_PARALLEL_CONFIGURE]
[NO_CHARSET_FLAG]
[WINDOWS_USE_MSBUILD]
[GENERATOR <generator>]
[LOGFILE_BASE <logname-base>]
[OPTIONS
<configure-setting>...]
[OPTIONS_RELEASE
<configure-setting>...]
[OPTIONS_DEBUG
<configure-setting>...]
[MAYBE_UNUSED_VARIABLES
<option-name>...]
)
```
To use this function, you must depend on the helper port [`vcpkg-cmake`](ports/vcpkg-cmake.md):
```no-highlight
"dependencies": [
{
"name": "vcpkg-cmake",
"host": true
}
]
```
## Parameters
### SOURCE_PATH
Specifies the directory containing the `CMakeLists.txt`.
This value is usually obtained as a result of calling a source acquisition command like [`vcpkg_from_github()`](vcpkg_from_github.md).
### DISABLE_PARALLEL_CONFIGURE
Disables running the CMake configure step in parallel.
By default vcpkg disables writing back to the source directory (via the undocumented CMake flag `CMAKE_DISABLE_SOURCE_CHANGES`) and (on Windows) configures Release and Debug in parallel. This flag instructs vcpkg to allow source directory writes and to execute the configure steps sequentially.
### NO_CHARSET_FLAG
Disables passing `/utf-8` when using the [built-in Windows toolchain][VCPKG_CHAINLOAD_TOOLCHAIN_FILE].
This is needed for libraries that set their own source code's character set when targeting MSVC. See the [MSVC documentation for `/utf-8`](https://docs.microsoft.com/cpp/build/reference/utf-8-set-source-and-executable-character-sets-to-utf-8) for more information.
### WINDOWS_USE_MSBUILD
Use MSBuild instead of [Ninja][ninja] when targeting a Windows platform.
By default vcpkg prefers to use Ninja as the CMake Generator for all platforms. However, there are edge cases where MSBuild has different behavior than Ninja. This flag should only be passed if the project requires MSBuild to build correctly.
### GENERATOR
Specifies the Generator to use.
This is useful if the project-specific buildsystem has been wrapped in a CMake script that won't perform an actual build. If used for this purpose, it should be set to `"Ninja"`.
This should not be passed alongside [`WINDOWS_USE_MSBUILD`](#windows_use_msbuild).
### LOGFILE_BASE
An alternate root name for the configure logs.
Defaults to `config-${TARGET_TRIPLET}`. It should not contain any path separators. Logs will be generated matching the pattern `${CURRENT_BUILDTREES_DIR}/${LOGFILE_BASE}-<suffix>.log`
### OPTIONS
Additional options to pass to CMake during the configuration.
See also [Implicit Options](#implicit-options).
### OPTIONS_RELEASE
Additional options to pass to CMake during the Release configuration.
These are in addition to `OPTIONS`.
### OPTIONS_DEBUG
Additional options to pass to CMake during the Debug configuration.
These are in addition to `OPTIONS`.
### MAYBE_UNUSED_VARIABLES
List of CMake options that may not be read during the configure step.
vcpkg will warn about any options outside this list that were not read during the CMake configure step. This list should contain options that are only read during certain configurations (such as when `VCPKG_LIBRARY_LINKAGE` is `"static"` or when certain features are enabled).
## Implicit Options
This command automatically provides several options to CMake.
- [`CMAKE_BUILD_TYPE`](https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html) is set to `"Release"` or `"Debug"` as appropriate.
- [`BUILD_SHARED_LIBS`](https://cmake.org/cmake/help/latest/variable/BUILD_SHARED_LIBS.html) is set according to the value of [`VCPKG_LIBRARY_LINKAGE`](../users/triplets.md#vcpkg_library_linkage).
- [`CMAKE_INSTALL_PREFIX=${CURRENT_PACKAGES_DIR}</debug>`](https://cmake.org/cmake/help/latest/variable/CMAKE_INSTALL_PREFIX.html) as appropriate to the configuration
- [`CMAKE_TOOLCHAIN_FILE`](https://cmake.org/cmake/help/latest/variable/CMAKE_TOOLCHAIN_FILE.html) and `VCPKG_CHAINLOAD_TOOLCHAIN_FILE` are set to include the [vcpkg toolchain file](../users/buildsystems/cmake-integration.md#cmake_toolchain_file) and the [triplet toolchain][VCPKG_CHAINLOAD_TOOLCHAIN_FILE].
- [`CMAKE_SYSTEM_NAME=${VCPKG_CMAKE_SYSTEM_NAME}`](https://cmake.org/cmake/help/latest/variable/CMAKE_SYSTEM_NAME.html). If `VCPKG_CMAKE_SYSTEM_NAME` is unset, defaults to `"Windows"`.
- [`CMAKE_SYSTEM_VERSION=${VCPKG_CMAKE_SYSTEM_VERSION}`](https://cmake.org/cmake/help/latest/variable/CMAKE_SYSTEM_VERSION.html) if `VCPKG_CMAKE_SYSTEM_VERSION` is set.
- [`CMAKE_EXPORT_NO_PACKAGE_REGISTRY=ON`](https://cmake.org/cmake/help/latest/variable/CMAKE_EXPORT_NO_PACKAGE_REGISTRY.html)
- [`CMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY=ON`](https://cmake.org/cmake/help/latest/variable/CMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY.html)
- [`CMAKE_FIND_PACKAGE_NO_SYSTEM_PACKAGE_REGISTRY=ON`](https://cmake.org/cmake/help/latest/variable/CMAKE_FIND_PACKAGE_NO_SYSTEM_PACKAGE_REGISTRY.html)
- [`CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=TRUE`](https://cmake.org/cmake/help/latest/module/InstallRequiredSystemLibraries.html)
- [`CMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION=ON`](https://cmake.org/cmake/help/latest/variable/CMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION.html)
- [`CMAKE_INSTALL_LIBDIR:STRING=lib`](https://cmake.org/cmake/help/latest/module/GNUInstallDirs.html)
- [`CMAKE_INSTALL_BINDIR:STRING=bin`](https://cmake.org/cmake/help/latest/module/GNUInstallDirs.html)
This command also passes all options in [`VCPKG_CMAKE_CONFIGURE_OPTIONS`](../users/triplets.md#vcpkg_cmake_configure_options) and the configuration-specific options from `VCPKG_CMAKE_CONFIGURE_OPTIONS_RELEASE` or `VCPKG_CMAKE_CONFIGURE_OPTIONS_DEBUG`.
Finally, there are additional internal options passed in (with a `VCPKG_` prefix) that should not be depended upon.
## Examples
```cmake
vcpkg_from_github(OUT_SOURCE_PATH source_path ...)
vcpkg_cmake_configure(
SOURCE_PATH "${source_path}"
OPTIONS
-DBUILD_EXAMPLES=OFF
-DBUILD_TESTS=OFF
)
vcpkg_cmake_install()
```
[Search microsoft/vcpkg for Examples](https://github.com/microsoft/vcpkg/search?q=vcpkg_cmake_configure+path%3A%2Fports)
## Source
[ports/vcpkg-cmake/vcpkg\_cmake\_configure.cmake](https://github.com/Microsoft/vcpkg/blob/master/ports/vcpkg-cmake/vcpkg_cmake_configure.cmake)
[ninja]: https://ninja-build.org/
[VCPKG_CHAINLOAD_TOOLCHAIN_FILE]: ../users/triplets.md#VCPKG_CHAINLOAD_TOOLCHAIN_FILE

View File

@ -1,6 +1,6 @@
# vcpkg_configure_cmake
**This function has been deprecated in favor of [`vcpkg_cmake_configure`](ports/vcpkg-cmake/vcpkg_cmake_configure.md) from the vcpkg-cmake port.**
**This function has been deprecated in favor of [`vcpkg_cmake_configure`](vcpkg_cmake_configure.md) from the [`vcpkg-cmake`](ports/vcpkg-cmake.md) port.**
The latest version of this document lives in the [vcpkg repo](https://github.com/Microsoft/vcpkg/blob/master/docs/maintainers/vcpkg_configure_cmake.md).

View File

@ -2,42 +2,39 @@
The latest version of this document lives in the [vcpkg repo](https://github.com/Microsoft/vcpkg/blob/master/docs/maintainers/vcpkg_extract_source_archive.md).
Extract an archive into the source directory.
Extract an archive.
## Usage
There are two "overloads" of this function. The first is deprecated:
```cmake
vcpkg_extract_source_archive(<${ARCHIVE}> [<${TARGET_DIRECTORY}>])
```
This overload should not be used.
The latter is suggested to use for all future `vcpkg_extract_source_archive`s.
```cmake
vcpkg_extract_source_archive(<out-var>
vcpkg_extract_source_archive(
<out-var>
ARCHIVE <path>
[NO_REMOVE_ONE_LEVEL]
[SKIP_PATCH_CHECK]
[PATCHES <patch>...]
[REF <ref>]
[SOURCE_BASE <base>]
[BASE_DIRECTORY <relative-path> | WORKING_DIRECTORY <absolute-path>]
)
```
`vcpkg_extract_source_archive` takes an archive and extracts it.
It replaces existing uses of `vcpkg_extract_source_archive_ex`.
The simplest use of it is:
## Parameters
```cmake
vcpkg_download_distfile(archive ...)
vcpkg_extract_source_archive(source_path ARCHIVE "${archive}")
```
<a id="out-var"></a>
The general expectation is that an archives are laid out with a base directory,
and all the actual files underneath that directory; in other words, if you
extract the archive, you'll get something that looks like:
### `<out-var>`
Name of the variable to set with the directory containing the extracted contents.
### ARCHIVE
Full path to the archive to extract.
### NO_REMOVE_ONE_LEVEL
Skip removing the top level directory of the archive.
Most archives contain a single top-level directory, such as:
```
zlib-1.2.11/
@ -52,35 +49,110 @@ zlib-1.2.11/
...
```
`vcpkg_extract_source_archive` automatically removes this directory,
and gives you the items under it directly. However, this only works
when there is exactly one item in the top level of an archive.
Otherwise, you'll have to pass the `NO_REMOVE_ONE_LEVEL` argument to
prevent `vcpkg_extract_source_archive` from performing this transformation.
By default, `vcpkg_extract_source_archive` removes this directory and moves all contents into the directory returned in `<out-var>`. If there is no top-level directory, it is an error.
If the source needs to be patched in some way, the `PATCHES` argument
allows one to do this, just like other `vcpkg_from_*` functions.
Additionally, the `SKIP_PATCH_CHECK` is provided for `--head` mode -
this allows patches to fail to apply silently.
This argument should _only_ be used when installing a `--head` library,
since otherwise we want a patch failing to appply to be a hard error.
With this flag, the top-level directory will be preserved and it is not an error to not have one.
`vcpkg_extract_source_archive` extracts the files to
`${CURRENT_BUILDTREES_DIR}/<base-directory>/<source-base>-<hash>.clean`.
When in editable mode, no `.clean` is appended,
to allow for a user to modify the sources.
`base-directory` defaults to `src`,
and `source-base` defaults to the stem of `<archive>`.
You can change these via the `BASE_DIRECTORY` and `SOURCE_BASE` arguments
respectively.
If you need to extract to a location that is not based in `CURRENT_BUILDTREES_DIR`,
you can use the `WORKING_DIRECTORY` argument to do the same.
### SKIP_PATCH_CHECK
Silence and ignore errors when applying patches.
This option should only be passed when operating in an unstable mode like `--head`. If the sources are pinned, failing to apply a patch should be considered a fatal error.
### PATCHES
List of patches to apply to the extracted source.
Patches will be applied in order, after any top-level directories are removed (see [`NO_REMOVE_ONE_LEVEL`](#no_remove_one_level)). Relative paths are interpreted relative to the current port directory.
If a patch should be conditionally applied based on target information, you can construct a list and splat it.
```cmake
set(patches "")
if(VCPKG_TARGET_IS_WINDOWS)
list(APPEND patches only-windows.patch)
endif()
vcpkg_extract_source_archive(src
ARCHIVE "${archive}"
PATCHES
always-applied.patch
${patches}
)
```
### REF
Pretty name for the extracted directory.
Forward slashes (`/`) will be replaced with `-`. Otherwise identical to [`SOURCE_BASE`](#source_base).
See [`WORKING_DIRECTORY`](#working_directory) for more details.
### SOURCE_BASE
Pretty name for the extracted directory.
Must not contain path separators (`/` or `\\`).
See [`WORKING_DIRECTORY`](#working_directory) for more details.
### BASE_DIRECTORY
Root subfolder for the extracted directory.
Defaults to `src`. Must be a relative path.
See [`WORKING_DIRECTORY`](#working_directory) for more details.
### WORKING_DIRECTORY
Root folder for the extracted directory.
Defaults to `${CURRENT_BUILDTREES_DIR}/<BASE_DIRECTORY>`. Must be an absolute path.
`vcpkg_extract_source_archive` extracts the archive into `<WORKING_DIRECTORY>/<SOURCE_BASE>-<short-hash>.clean`. If the folder exists, it is deleted before extraction. Without specifying `REF`, `SOURCE_BASE`, `BASE_DIRECTORY`, or `WORKING_DIRECTORY`, this will default to `${CURRENT_BUILDTREES_DIR}/src/<archive-stem>-<short-hash>.clean`.
In [`--editable`](../commands/install.md#editable) mode:
1. No `.clean` suffix is added to the extracted folder
2. The extracted folder is not deleted. If it exists, `vcpkg_extract_source_archive` does nothing.
## Examples
* [libraw](https://github.com/Microsoft/vcpkg/blob/master/ports/libraw/portfile.cmake)
* [protobuf](https://github.com/Microsoft/vcpkg/blob/master/ports/protobuf/portfile.cmake)
* [msgpack](https://github.com/Microsoft/vcpkg/blob/master/ports/msgpack/portfile.cmake)
```cmake
vcpkg_download_distfile(
archive # "archive" is set to the path to the downloaded file
URLS "https://nmap.org/dist/nmap-7.70.tar.bz2"
FILENAME "nmap-7.70.tar.bz2"
SHA512 084c148b022ff6550e269d976d0077f7932a10e2ef218236fe13aa3a70b4eb6506df03329868fc68cb3ce78e4360b200f5a7a491d3145028fed679ef1c9ecae5
)
vcpkg_extract_source_archive(
src # "src" is set to the path to the extracted files
ARCHIVE "${archive}"
REF 7.70
PATCHES 0001-disable-werror.patch
)
vcpkg_cmake_configure(SOURCE_PATH "${src}")
```
* [GitHub Search](https://github.com/microsoft/vcpkg/search?q=vcpkg_extract_source_archive+path%3A%2Fports)
## Remarks
**Deprecated Syntax**
This command also supports a deprecated overload:
```cmake
vcpkg_extract_source_archive(<archive> [<working_directory>])
```
The deprecated overload extracts `<archive>` into `${working_directory}/<archive-filename>.extracted` if the target does not exist. This incorrect behavior allows patches and other modifications to leak between different builds, resulting in hard-to-debug errors.
All uses of the deprecated overload should be replaced with the syntax in [Usage](#usage) above by adding an explicit [`ARCHIVE`](#archive) parameter and replacing direct references to the extracted path with uses of the [`<out-var>`](#out-var).
**Replacement**
This command replaces [`vcpkg_extract_source_archive_ex()`](vcpkg_extract_source_archive_ex.md).
## Source
[scripts/cmake/vcpkg\_extract\_source\_archive.cmake](https://github.com/Microsoft/vcpkg/blob/master/scripts/cmake/vcpkg_extract_source_archive.cmake)

View File

@ -1,24 +1,20 @@
# vcpkg_extract_source_archive_ex
**This function has been deprecated in favor of [`vcpkg_extract_source_archive()`].**
The latest version of this document lives in the [vcpkg repo](https://github.com/Microsoft/vcpkg/blob/master/docs/maintainers/vcpkg_extract_source_archive_ex.md).
Extract an archive into the source directory.
Originally replaced [`vcpkg_extract_source_archive()`],
but new ports should instead use the second overload of
[`vcpkg_extract_source_archive()`].
Extract an archive.
## Usage
```cmake
vcpkg_extract_source_archive_ex(
[OUT_SOURCE_PATH <source_path>]
...
[OUT_SOURCE_PATH <out-var>]
[<options>...]
)
```
See the documentation for [`vcpkg_extract_source_archive()`] for other parameters.
Additionally, `vcpkg_extract_source_archive_ex()` adds the `REF` and `WORKING_DIRECTORY`
parameters, which are wrappers around `SOURCE_BASE` and `BASE_DIRECTORY`
respectively.
This command forwards all options to [`vcpkg_extract_source_archive()`], with `<out-var>` as the first argument. Equivalent to `vcpkg_extract_source_archive(<out-var> <options>...)`. See the documentation for [`vcpkg_extract_source_archive()`] for parameter help.
[`vcpkg_extract_source_archive()`]: vcpkg_extract_source_archive.md

View File

@ -42,14 +42,14 @@ The following examples assume they are at the root of your repository with a sub
**Example `Directory.Build.props`**:
```xml
<Project>
<Import Project="$(MSBuildThisFileDirectory)vcpkg\scripts\buildsystems\vcpkg.props" />
<Import Project="$(MSBuildThisFileDirectory)vcpkg\scripts\buildsystems\msbuild\vcpkg.props" />
</Project>
```
**Example `Directory.Build.targets`**:
```xml
<Project>
<Import Project="$(MSBuildThisFileDirectory)vcpkg\scripts\buildsystems\vcpkg.targets" />
<Import Project="$(MSBuildThisFileDirectory)vcpkg\scripts\buildsystems\msbuild\vcpkg.targets" />
</Project>
```

View File

@ -59,6 +59,10 @@ List paths to overlays using the platform dependent PATH separator (Windows `;`,
This environment variable, if set, suppresses the downloading of CMake and Ninja and forces the use of the system binaries.
#### VCPKG_FORCE_DOWNLOADED_BINARIES
This environment variable, if set, ignores the use of the system binaries and will always download and use the version defined by vcpkg.
#### VCPKG_KEEP_ENV_VARS
This environment variable can be set to a list of environment variables, separated by `;`, which will be propagated to

View File

@ -118,14 +118,19 @@ while the remaining strings are treated as the full description.
### `"builtin-baseline"`
This field indicates the commit of vcpkg which provides global minimum version
information for your manifest. It is required for top-level manifest files using
versioning.
information for your manifest.
This is a convenience field that has the same semantic as replacing your default
registry in
[`vcpkg-configuration.json`](registries.md#configuration-default-registry).
It is required for top-level manifest files using versioning without a specified [`"default-registry"`](registries.md#configuration-default-registry). It has the same semantic as defining your default registry to be:
```json
{
"default-registry": {
"kind": "builtin",
"baseline": "<value>"
}
}
```
See [versioning](versioning.md#builtin-baseline) for more semantic details.
See [versioning](versioning.md#baselines) for more semantic details.
<a id="dependencies"></a>

View File

@ -52,9 +52,11 @@ The `"kind"` field must be a string:
#### Registry Objects: `"baseline"`
The `"baseline"` field must be a string. For git registries and for the
built-in registry, it should be a 40-character commit ID.
For filesystem registries, it can be any string that the registry defines.
The `"baseline"` field must be a string. It defines a minimum version for all packages coming from this registry configuration.
For [Git Registries](../maintainers/registries.md#git-registries) and for the [Builtin Registry](../maintainers/registries.md#builtin-registries), it should be a 40-character git commit sha in the registry's repository that contains a `versions/baseline.json`.
For [Filesystem Registries](../maintainers/registries.md#filesystem-registries), it can be any valid baseline string that the registry defines.
#### Registry Objects: `"repository"`

View File

@ -94,7 +94,7 @@ This option also has forms for configuration-specific flags:
- `VCPKG_LINKER_FLAGS_RELEASE`
### VCPKG_CMAKE_CONFIGURE_OPTIONS
Set additional CMake configure options that are appended to the configure command (in [`vcpkg_cmake_configure`](../maintainers/ports/vcpkg-cmake/vcpkg_cmake_configure.md)).
Set additional CMake configure options that are appended to the configure command (in [`vcpkg_cmake_configure`](../maintainers/vcpkg_cmake_configure.md)).
This field is optional.

View File

@ -15,6 +15,8 @@ See our guide to [getting started with versioning](../examples/versioning.gettin
* [`version-date`](#version-date)
* [`version-string`](#version-string)
* [Version constraints](#version-constraints)
* [Baselines](#baselines)
* [`version>=`](#version-gte)
## Version schemes
Ports in vcpkg should attempt to follow the versioning conventions used by the package's authors. For that reason, when declaring a package's version the appropriate scheme should be used.
@ -79,7 +81,7 @@ Examples:
* `watermelon#0`< `watermelon#1`
#### `port-version`
A positive integer value that increases each time a vcpkg-specific change is made to the port.
A positive integer value that increases each time the port changes without updating the sources.
The rules for port versions are:
* Start at 0 for the original version of the port,
@ -97,17 +99,15 @@ Examples:
## Version constraints
### `builtin-baseline`
Accepts a Git commit ID. vcpkg will try to find a baseline file in the given
commit ID and use that to set the baseline versions (lower bounds) of all
dependencies.
### Baselines
Baselines provide stability and ease of development for top-level manifest
files. They are not considered from ports consumed as a dependency. If a minimum
version constraint is required during transitive version resolution, the port
should use `version>=`.
Baselines define a global version floor for what versions will be considered. This enables top-level manifests to keep the entire graph of dependencies up-to-date without needing to individually specify direct [`"version>="`][] constraints.
Example:
Every configured registry has an associated baseline. For manifests that don't configure any registries, the [`"builtin-baseline"`][] field defines the baseline for the built-in registry. If a manifest does not configure any registries and does not have a [`"builtin-baseline"`][], the install operates according to the Classic Mode algorithm and ignores all versioning information.
Baselines, like other registry settings, are ignored from ports consumed as a dependency. If a minimum version is required during transitive version resolution the port should use [`"version>="`][].
**Example**
```json
{
"name": "project",
@ -117,27 +117,9 @@ Example:
}
```
You can get the current commit of your vcpkg instance either by adding an empty
`"builtin-baseline"` field, installing, and examining the error message or by
running `git rev-parse HEAD` in the root of the vcpkg instance.
To add an initial `"builtin-baseline"`, use [`vcpkg x-update-baseline --add-initial-baseline`](../commands/update-baseline.md#add-initial-baseline). To update baselines in a manifest, use [`vcpkg x-update-baseline`](../commands/update-baseline.md).
When resolving version constraints for a package, vcpkg will look for a baseline
version by looking at the baseline file in the given commit ID. If the given
commit ID doesn't have a `versions/baseline.json` file or if the baseline file
exists but it does not declare a baseline version for the package the invocation
will fail.
This field is a convenience field that has the same semantic as replacing your
default registry in
[`vcpkg-configuration.json`](registries.md#configuration-default-registry).
```json
{
"default-registry": {
"kind": "builtin",
"baseline": "<baseline>"
}
}
```
<a id="version-gte"></a>
### `version>=`
Expresses a minimum version requirement, `version>=` declarations put a lower boundary on the versions that can be used to satisfy a dependency.
@ -186,3 +168,5 @@ For an override to take effect, the overridden package must form part of the dep
* The [implementation details](versioning.implementation-details.md)
* The [original specification](../specifications/versioning.md)
[`"version>="`]: #version-gte
[`"builtin-baseilne"`]: manifests.md#builtin-baseline

View File

@ -1,8 +1,8 @@
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO inie0722/CTL
REF 58ca0f229aff093ada66955993cada93e01da18c #1.0.0
SHA512 6e1fcd70be0750b3e45de80d6fb30471fdbd8bbd23afd7ff9fb8c3b9fe61669cd02773cf2b6573348dd2905a303845627d3f5f3e647f4e1261db4cc570cf5099
REF v1.1.1
SHA512 687531634ec827f6f34c694b8daf94ed9ff02b1d5b63d191e70b77a201f5582142718ad89d315a40bb72ab3707f237772c1838098e219e7a2db46d90718d5c4b
HEAD_REF master
)

View File

@ -1,7 +1,6 @@
{
"name": "air-ctl",
"version": "1.0.0",
"port-version": 1,
"version": "1.1.1",
"description": "C template container library",
"homepage": "https://github.com/inie0722/CTL",
"license": "BSL-1.0",

View File

@ -0,0 +1,50 @@
diff --git a/runtime/src/misc/MurmurHash.cpp b/runtime/src/misc/MurmurHash.cpp
index 73562cd..57aa3bf 100644
--- a/runtime/src/misc/MurmurHash.cpp
+++ b/runtime/src/misc/MurmurHash.cpp
@@ -63,23 +63,6 @@ size_t MurmurHash::update(size_t hash, size_t value) {
return hash;
}
-size_t MurmurHash::update(size_t hash, const void *data, size_t size) {
- size_t value;
- const uint8_t *bytes = static_cast<const uint8_t*>(data);
- while (size >= sizeof(size_t)) {
- std::memcpy(&value, bytes, sizeof(size_t));
- hash = update(hash, value);
- bytes += sizeof(size_t);
- size -= sizeof(size_t);
- }
- if (size != 0) {
- value = 0;
- std::memcpy(&value, bytes, size);
- hash = update(hash, value);
- }
- return hash;
-}
-
size_t MurmurHash::finish(size_t hash, size_t entryCount) {
hash ^= entryCount * 8;
hash ^= hash >> 33;
@@ -118,3 +101,20 @@ size_t MurmurHash::finish(size_t hash, size_t entryCount) {
#else
#error "Expected sizeof(size_t) to be 4 or 8."
#endif
+
+size_t MurmurHash::update(size_t hash, const void *data, size_t size) {
+ size_t value;
+ const uint8_t *bytes = static_cast<const uint8_t*>(data);
+ while (size >= sizeof(size_t)) {
+ std::memcpy(&value, bytes, sizeof(size_t));
+ hash = update(hash, value);
+ bytes += sizeof(size_t);
+ size -= sizeof(size_t);
+ }
+ if (size != 0) {
+ value = 0;
+ std::memcpy(&value, bytes, size);
+ hash = update(hash, value);
+ }
+ return hash;
+}
\ No newline at end of file

View File

@ -1,8 +1,8 @@
diff --git a/runtime/CMakeLists.txt b/runtime/CMakeLists.txt
index c8b16c6..53b47dd 100644
index baf46ca..80fa49a 100644
--- a/runtime/CMakeLists.txt
+++ b/runtime/CMakeLists.txt
@@ -21,10 +21,13 @@ file(GLOB libantlrcpp_SRC
@@ -23,10 +23,13 @@ file(GLOB libantlrcpp_SRC
"${PROJECT_SOURCE_DIR}/runtime/src/tree/xpath/*.cpp"
)
@ -17,7 +17,7 @@ index c8b16c6..53b47dd 100644
message(STATUS "Output libraries to ${LIB_OUTPUT_DIR}")
# make sure 'make' works fine even if ${LIB_OUTPUT_DIR} is deleted.
@@ -32,16 +35,22 @@ add_custom_target(make_lib_output_dir ALL
@@ -34,8 +37,11 @@ add_custom_target(make_lib_output_dir ALL
COMMAND ${CMAKE_COMMAND} -E make_directory ${LIB_OUTPUT_DIR}
)
@ -27,29 +27,9 @@ index c8b16c6..53b47dd 100644
add_dependencies(antlr4_static make_lib_output_dir)
+endif()
find_package(utf8cpp QUIET)
set(INSTALL_utf8cpp FALSE)
if (utf8cpp_FOUND)
+ if(BUILD_SHARED_LIBS)
target_link_libraries(antlr4_shared utf8cpp)
+ else()
target_link_libraries(antlr4_static utf8cpp)
+ endif()
else()
# older utf8cpp doesn't define the package above
@@ -51,7 +60,7 @@ else()
if (utf8cpp_HEADER)
include_directories(${utf8cpp_HEADER})
- else()
+ elseif(0)
include(${CMAKE_ROOT}/Modules/ExternalProject.cmake)
set(THIRDPARTY_DIR ${CMAKE_BINARY_DIR}/runtime/thirdparty)
set(UTFCPP_DIR ${THIRDPARTY_DIR}/utfcpp)
@@ -76,11 +85,17 @@ else()
if (ANTLR_BUILD_CPP_TESTS)
include(FetchContent)
@@ -70,11 +76,17 @@ if (ANTLR_BUILD_CPP_TESTS)
endif()
if(CMAKE_SYSTEM_NAME MATCHES "Linux")
@ -67,7 +47,7 @@ index c8b16c6..53b47dd 100644
endif()
if(CMAKE_CXX_COMPILER_ID MATCHES "MSVC")
@@ -102,7 +117,7 @@ if(WIN32)
@@ -96,7 +108,7 @@ if(WIN32)
set(extra_share_compile_flags "-DANTLR4CPP_EXPORTS")
set(extra_static_compile_flags "-DANTLR4CPP_STATIC")
endif(WIN32)
@ -76,7 +56,7 @@ index c8b16c6..53b47dd 100644
if(WITH_STATIC_CRT)
target_compile_options(antlr4_shared PRIVATE "/MT$<$<CONFIG:Debug>:d>")
target_compile_options(antlr4_static PRIVATE "/MT$<$<CONFIG:Debug>:d>")
@@ -122,6 +137,7 @@ if(CMAKE_CXX_COMPILER_ID MATCHES "MSVC")
@@ -116,6 +128,7 @@ if(CMAKE_CXX_COMPILER_ID MATCHES "MSVC")
set(extra_static_compile_flags "-DANTLR4CPP_STATIC -MP")
endif()
@ -84,7 +64,7 @@ index c8b16c6..53b47dd 100644
set_target_properties(antlr4_shared
PROPERTIES VERSION ${ANTLR_VERSION}
SOVERSION ${ANTLR_VERSION}
@@ -132,20 +148,25 @@ set_target_properties(antlr4_shared
@@ -126,25 +139,27 @@ set_target_properties(antlr4_shared
RUNTIME_OUTPUT_DIRECTORY ${LIB_OUTPUT_DIR}
ARCHIVE_OUTPUT_DIRECTORY ${LIB_OUTPUT_DIR}
COMPILE_FLAGS "${disabled_compile_warnings} ${extra_share_compile_flags}")
@ -96,19 +76,21 @@ index c8b16c6..53b47dd 100644
OUTPUT_NAME "antlr4-runtime${static_lib_suffix}"
ARCHIVE_OUTPUT_DIRECTORY ${LIB_OUTPUT_DIR}
COMPILE_FLAGS "${disabled_compile_warnings} ${extra_static_compile_flags}")
-
+endif()
-install(TARGETS antlr4_shared
+if(BUILD_SHARED_LIBS)
+install(TARGETS antlr4_shared EXPORT antlr4-targets
DESTINATION lib
- EXPORT antlr4-targets)
+ RUNTIME DESTINATION bin
+ )
install(TARGETS antlr4_shared
EXPORT antlr4-targets
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
-
+else()
install(TARGETS antlr4_static
DESTINATION lib
EXPORT antlr4-targets)
EXPORT antlr4-targets
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
+endif()
install(DIRECTORY "${PROJECT_SOURCE_DIR}/runtime/src/"

View File

@ -1,9 +1,9 @@
set(VERSION 4.9.3)
set(VERSION 4.10.1)
vcpkg_download_distfile(ARCHIVE
URLS "https://www.antlr.org/download/antlr4-cpp-runtime-${VERSION}-source.zip"
FILENAME "antlr4-cpp-runtime-${VERSION}-source.zip"
SHA512 23995a6fa661ff038142fa7220a195db3a9a26744d516011dedc3192f152b06a8e31f6cc8f969f8927b86392a960d03e89572e753f033f950839a5bd38d4c722
SHA512 f4926987946d17bf51b2d8a31ac06cf16eea7fb49ce535abb2d4759c9e6113d173c4504ffe4c8d2f9a58d845507dfdedaaba3dde70cc09c03c6bd6a2afe892a6
)
# license not exist in antlr folder.
@ -21,13 +21,14 @@ vcpkg_extract_source_archive_ex(
PATCHES
fixed_build.patch
uuid_discovery_fix.patch
export_guid.patch
fix_LNK2001.patch #The related upstream issue https://github.com/antlr/antlr4/issues/3674
)
vcpkg_cmake_configure(
SOURCE_PATH "${SOURCE_PATH}"
OPTIONS
-DANTLR4_INSTALL=ON
-DANTLR_BUILD_CPP_TESTS=OFF
OPTIONS_DEBUG -DLIB_OUTPUT_DIR=${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/dist
OPTIONS_RELEASE -DLIB_OUTPUT_DIR=${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/dist
)

View File

@ -14,22 +14,3 @@ diff -urN a/CMakeLists.txt b/CMakeLists.txt
endif()
if(APPLE)
find_library(COREFOUNDATION_LIBRARY CoreFoundation)
diff --git a/runtime/src/support/Guid.cpp b/runtime/src/support/Guid.cpp
--- a/runtime/src/support/Guid.cpp
+++ b/runtime/src/support/Guid.cpp
@@ -24,6 +24,7 @@
#include <algorithm>
+#include "antlr4-common.h"
#include "Guid.h"
#ifdef GUID_LIBUUID
@@ -35,6 +36,7 @@
#endif
#ifdef GUID_WINDOWS
+#define NOMINMAX
#include <objbase.h>
#endif

View File

@ -1,7 +1,6 @@
{
"name": "antlr4",
"version": "4.9.3",
"port-version": 2,
"version": "4.10.1",
"description": "ANother Tool for Language Recognition",
"homepage": "https://www.antlr.org",
"license": "BSD-3-Clause",

View File

@ -1,8 +1,8 @@
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO Azure/azure-sdk-for-cpp
REF azure-identity_1.2.0
SHA512 f27adda21a7d7b687cae08bed6b9f1e7ef10a9f36a886021c939da570c01fe4ab153bbc5852280bb147c879d6cdb4361d9655656398368814f4842ebc9ddc2dc
REF azure-identity_1.3.0
SHA512 1ed1a16c86492971183cda7dc996c3704c525fde82f8ee87984416b45a5e003bb7a191ede0c3a33e21f6f09c3e324c44861006396dd72c830176a79c67b96bd9
)
vcpkg_cmake_configure(

View File

@ -1,6 +1,6 @@
{
"name": "azure-identity-cpp",
"version-semver": "1.2.0",
"version-semver": "1.3.0",
"description": [
"Microsoft Azure Identity SDK for C++",
"This library provides common authentication-related abstractions for Azure SDK."
@ -13,6 +13,7 @@
"default-features": false,
"version>=": "1.4.0"
},
"openssl",
{
"name": "vcpkg-cmake",
"host": true

View File

@ -38,6 +38,8 @@ elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm" OR VCPKG_TARGET_ARCHITECTURE STR
list(APPEND B2_OPTIONS architecture=arm)
elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "ppc64le")
list(APPEND B2_OPTIONS architecture=power)
elseif("arm64" IN_LIST VCPKG_TARGET_ARCHITECTURE AND "x86_64" IN_LIST VCPKG_TARGET_ARCHITECTURE)
list(APPEND B2_OPTIONS architecture=arm+x86)
else()
list(APPEND B2_OPTIONS architecture=x86)
endif()

View File

@ -1,7 +1,7 @@
{
"name": "boost-modular-build-helper",
"version": "1.79.0",
"port-version": 2,
"port-version": 3,
"description": "Internal vcpkg port used to build Boost libraries",
"license": "MIT",
"dependencies": [

View File

@ -1,19 +1,13 @@
#header-only library
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO bshoshany/thread-pool
REF v2.0.0
SHA512 eac1674ea999d25d8d0b8f1b24714830330ba4d345e3f730e49359bae89d9259e429d48357a45f7b4355cbbe1a63f04e7fe2c4e0be08b3bbea51018c62721fcc
REF v3.0.0
SHA512 009c45bdca7555d7446add9bdfd1080d1af09071f94034933bf09629425b6945b708e41cd572b0eb270fd53a1e8a57eed606378d147c88e9f05eaf6fd89d88c9
HEAD_REF master
)
# Install headers (header-only):
file(GLOB HEADER_FILES LIST_DIRECTORIES false "${SOURCE_PATH}/*.hpp")
file(INSTALL
"${HEADER_FILES}"
DESTINATION "${CURRENT_PACKAGES_DIR}/include"
)
file(INSTALL "${HEADER_FILES}" DESTINATION "${CURRENT_PACKAGES_DIR}/include")
# Handle copyright
file(INSTALL "${SOURCE_PATH}/LICENSE.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)

View File

@ -1,6 +1,9 @@
{
"name": "bshoshany-thread-pool",
"version": "2.0.0",
"description": "A C++17 Thread Pool for High-Performance Scientific Computing",
"homepage": "https://github.com/bshoshany/thread-pool"
"version": "3.0.0",
"maintainers": "Barak Shoshany <baraksh@gmail.com>",
"description": "BS::thread_pool: a fast, lightweight, and easy-to-use C++17 thread pool library",
"homepage": "https://github.com/bshoshany/thread-pool",
"documentation": "https://github.com/bshoshany/thread-pool/blob/master/README.md",
"license": "MIT"
}

View File

@ -1,8 +1,8 @@
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO buck-yeh/bux
REF b125e31341660ea76ca51cc5013e52d8d34a1f27 # v1.6.5
SHA512 c37fea47076a192161aacacf8694c5b6d487a1c2ebe1fa06acdd9948e42e1b1440d83ebe38f4ae3b86c90cb1aba76f7254cd434ea85e24484a9dacb6944511a9
REF b046518dcffcdef9b8dbccd0accc2636df301766 # v1.6.6
SHA512 af1ca5c37623a09c64e1a84a630a26911be8c87eb007b112665b7c6080dfac67bd89eb36367202c5d29af97f4e549d6f27e41410220a57bd7756bdb1ecf8ddf0
HEAD_REF main
)

View File

@ -1,7 +1,6 @@
{
"name": "buck-yeh-bux",
"version": "1.6.5",
"port-version": 1,
"version": "1.6.6",
"description": "A supplemental C++ library with functionalities not directly supported from Modern C++ standard.",
"homepage": "https://github.com/buck-yeh/bux",
"license": "MIT",

View File

@ -0,0 +1,31 @@
diff --git a/caffe2/core/logging.cc b/caffe2/core/logging.cc
index 1379f3a..d1289db 100644
--- a/caffe2/core/logging.cc
+++ b/caffe2/core/logging.cc
@@ -120,17 +120,6 @@ using fLB::FLAGS_logtostderr;
CAFFE2_DEFINE_int(caffe2_log_level, google::GLOG_ERROR,
"The minimum log level that caffe2 will output.");
-// Google glog's api does not have an external function that allows one to check
-// if glog is initialized or not. It does have an internal function - so we are
-// declaring it here. This is a hack but has been used by a bunch of others too
-// (e.g. Torch).
-namespace google {
-namespace glog_internal_namespace_ {
-bool IsGoogleLoggingInitialized();
-} // namespace glog_internal_namespace_
-} // namespace google
-
-
namespace caffe2 {
bool InitCaffeLogging(int* argc, char** argv) {
if (*argc == 0) return true;
@@ -138,7 +127,7 @@ bool InitCaffeLogging(int* argc, char** argv) {
// IsGoogleLoggingInitialized is not exported from the glog DLL
// so we can't call it. If our program calls InitGoogleLogging twice glog will
// abort it.
- if (!::google::glog_internal_namespace_::IsGoogleLoggingInitialized())
+ if (!::google::IsGoogleLoggingInitialized())
#endif
{
::google::InitGoogleLogging(argv[0]);

View File

@ -11,6 +11,7 @@ vcpkg_from_github(
fix-space.patch
fix-protobuf-deprecated.patch
no-inout-macros.patch
fix-isgloginitialized.patch
)
if(VCPKG_CRT_LINKAGE STREQUAL static)

View File

@ -1,7 +1,7 @@
{
"name": "caffe2",
"version": "0.8.1",
"port-version": 6,
"port-version": 7,
"description": "Caffe2 is a lightweight, modular, and scalable deep learning framework.",
"homepage": "https://github.com/caffe2/caffe2",
"license": "Apache-2.0",

View File

@ -4,7 +4,7 @@ vcpkg_from_github(
REF v3.0.1
SHA512 065094c19cdf98b40f96a390e887542f895495562a91cdc28d68ce03690866d846ec87d320405312a2b97eacaa5351d3e55f0012bb9de40073c8d4444d82b0a1
HEAD_REF devel
PATCHES
PATCHES
fix-install-path.patch
)
@ -12,6 +12,7 @@ vcpkg_cmake_configure(
SOURCE_PATH "${SOURCE_PATH}"
OPTIONS
-DCATCH_INSTALL_DOCS=OFF
-DCMAKE_CXX_STANDARD=17
)
vcpkg_cmake_install()

View File

@ -1,7 +1,7 @@
{
"name": "catch2",
"version-semver": "3.0.1",
"port-version": 1,
"port-version": 2,
"description": "A modern, header-only test framework for unit testing.",
"homepage": "https://github.com/catchorg/Catch2",
"license": "BSL-1.0",

View File

@ -88,6 +88,6 @@ endif()
file(GLOB HEADERS "${SOURCE_PATH}/include/*.h")
file(COPY ${HEADERS} DESTINATION "${CURRENT_PACKAGES_DIR}/include/${PORT}")
file(COPY "${CMAKE_CURRENT_LIST_DIR}/chartdir.h" DESTINATION "${CURRENT_PACKAGES_DIR}/include")
file(COPY "${SOURCE_PATH}/LICENSE.TXT" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright")
configure_file("${CMAKE_CURRENT_LIST_DIR}/Config.cmake.in" "${CURRENT_PACKAGES_DIR}/share/${PORT}/chartdir-config.cmake" @ONLY)
file(COPY "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}")
file(INSTALL "${SOURCE_PATH}/LICENSE.TXT" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)

View File

@ -1,8 +1,9 @@
{
"name": "chartdir",
"version": "7.0.0",
"port-version": 4,
"port-version": 5,
"description": "ChartDirector is a powerful chart component for creating professional looking charts for web and windows applications.",
"homepage": "https://www.advsofteng.com/",
"license": null,
"supports": "!arm & !uwp"
}

View File

@ -29,4 +29,4 @@ endif()
vcpkg_copy_pdbs()
vcpkg_fixup_pkgconfig()
file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION ${CURRENT_PACKAGES_DIR}/share/clfft/copyright)
file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)

View File

@ -1,9 +1,10 @@
{
"name": "clfft",
"version": "2.12.2",
"port-version": 4,
"port-version": 5,
"description": "clFFT is an OpenCL 1.2 accelerated Fast Fourier Transform library.",
"homepage": "https://github.com/clMathLibraries/clFFT",
"license": "Apache-2.0",
"dependencies": [
"opencl",
{

View File

@ -0,0 +1,5 @@
The generated code has no license, the vendor is free to pick any as long as it's compatibile with the license(s) of the relevant CommsChampion Ecosystem project:
The protocol definition uses the COMMS Library, which is provided under the MPL-2.0 licence. It allows usage in any closed source projects as long as modifications to the COMMS Library itself remain open source.
The CommsChampion Tools use open source Qt5 libraries, hence are licensed under the GPLv3. It means that any relevant plugin code must remain open source and is not really available to be used in the closed source commercial products.
The code of this project (libraries and tools it contains) is licensed under Apache v2.0 license.

View File

@ -1,23 +0,0 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index e2b69fe..aff5917 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -66,6 +66,7 @@ endif ()
######################################################################
# Use external CommsChampion project or compile it in place
+if(FALSE)
set (CC_EXTERNAL_TGT "comms_champion_external")
if (OPT_BUILD_TEST OR OPT_BUILD_PLUGIN)
set (external_cc_needed TRUE)
@@ -107,6 +108,10 @@ elseif (external_cc_needed)
find_package(CommsChampion NO_MODULE)
set (cc_compile_file "${OPT_CC_MAIN_INSTALL_DIR}/lib/LibComms/cmake/CC_Compile.cmake")
endif ()
+else()
+ find_package(LibComms CONFIG REQUIRED)
+ set(cc_compile_file "${LibComms_DIR}/CC_Compile.cmake")
+endif()
if (EXISTS ${cc_compile_file})
# Set compiler flags

View File

@ -3,28 +3,23 @@
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO commschamp/cc.ublox.generated
REF v0.20.2
SHA512 5672d964ea3e505837e44a5fd928069a219a5731764cb54bfe8609e39c6c6dd0059660bcde317c6c60cd1bd8d1f7942d2faa022095bf651817568291bc6a7569
REF v1.0
SHA512 0c487d9409c2f2818024f6232832762527250c3563a5eb5c639ad49943931ceb24616db2432bcd752d1a84820ec5349522510dcd202508641d3f29aef41ca1e5
HEAD_REF master
PATCHES
fix-comms.patch
)
vcpkg_configure_cmake(
vcpkg_cmake_configure(
SOURCE_PATH "${SOURCE_PATH}"
PREFER_NINJA
OPTIONS
-DOPT_BUILD_TEST=OFF
-DOPT_BUILD_PLUGIN=OFF
-DOPT_NO_COMMS=ON
-DOPT_EXTERNALS_UPDATE_DISCONNECTED=ON
-DOPT_REQUIRE_COMMS_LIB=ON
-DCMAKE_DISABLE_FIND_PACKAGE_Doxygen=ON
)
vcpkg_install_cmake()
vcpkg_cmake_install()
vcpkg_fixup_cmake_targets(CONFIG_PATH lib/ublox/cmake TARGET_PATH share/ublox)
vcpkg_cmake_config_fixup(PACKAGE_NAME ublox CONFIG_PATH lib/ublox/cmake)
# currently this is only a header only library. after moving lib/ublox to share this lib path will be empty
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib")
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug")
# Handle copyright
file(INSTALL "${SOURCE_PATH}/LICENSE.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)
file(INSTALL "${CURRENT_PORT_DIR}/copyright" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)

View File

@ -1,10 +1,19 @@
{
"name": "comms-ublox",
"version-semver": "0.20.2",
"version-semver": "1.0.0",
"description": "UBLOX (UBX) protocol definition, generated out of cc.ublox.commsdsl",
"homepage": "https://commschamp.github.io/",
"documentation": "https://github.com/commschamp/cc.ublox.generated",
"license": null,
"dependencies": [
"comms"
"comms",
{
"name": "vcpkg-cmake",
"host": true
},
{
"name": "vcpkg-cmake-config",
"host": true
}
]
}

View File

@ -1,56 +1,24 @@
#header-only library
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO commschamp/comms_champion
REF v3.4
SHA512 573afbc0aebd72d8a047067410f0f54588675c4cbad37f824edbb6d8303e9c191c573ac9325bf5fec575dffd3d05562c04e75c1e5b748a34d01056bc8b766fb1
REPO commschamp/comms
REF v4.0
SHA512 ec83bef647dd6c32e6ba98ce51970c48befaa2b0ff9c26f538fb0ce72e46da14cd592a0c652af5f9f10906f7058ff623dcf13ac4b81c96c0aea1fd8a31551bb7
HEAD_REF master
)
vcpkg_check_features(
OUT_FEATURE_OPTIONS FEATURE_OPTIONS
FEATURES
tools CC_BUILD_TOOLS_LIBRARY
tools CC_INSTALL_TOOLS_LIBRARY
tools CC_BUILD_TOOLS
tools CC_INSTALL_TOOLS
)
vcpkg_cmake_configure(
SOURCE_PATH "${SOURCE_PATH}"
OPTIONS
${FEATURE_OPTIONS}
-DCC_INSTALL_COMMS_LIB=ON
-DCC_BUILD_UNIT_TESTS=OFF
-DCC_COMMS_BUILD_UNIT_TESTS=OFF
-DBUILD_TESTING=OFF
-DCC_WARN_AS_ERR=OFF
-DCC_BUILD_DEMO_PROTOCOL=OFF
-DCC_INSTALL_DEMO_PROTOCOL=OFF
)
vcpkg_cmake_install()
vcpkg_copy_pdbs()
vcpkg_cmake_config_fixup(PACKAGE_NAME LibComms CONFIG_PATH lib/LibComms/cmake)
vcpkg_cmake_config_fixup(PACKAGE_NAME "LibComms" CONFIG_PATH "lib/LibComms/cmake" )
if("tools" IN_LIST FEATURES)
vcpkg_copy_tools(
TOOL_NAMES cc_dump cc_view
AUTO_CLEAN
)
file(INSTALL "${CURRENT_PACKAGES_DIR}/lib/CommsChampion/plugin"
DESTINATION "${CURRENT_PACKAGES_DIR}/tools/${PORT}/lib/CommsChampion/plugin")
vcpkg_cmake_config_fixup(PACKAGE_NAME "CommsChampion" CONFIG_PATH "lib/CommsChampion/cmake")
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib/LibComms")
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib/CommsChampion")
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/lib/LibComms")
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/lib/CommsChampion")
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share")
else()
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib")
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug")
endif()
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib")
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug")
# Handle copyright
file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)

View File

@ -1,10 +1,10 @@
{
"name": "comms",
"version-semver": "3.4.0",
"port-version": 1,
"version-semver": "4.0.0",
"description": "COMMS is the C++(11) headers only, platform independent library, which makes the implementation of a communication protocol to be an easy and relatively quick process.",
"homepage": "https://commschamp.github.io/",
"documentation": "https://github.com/commschamp/comms_champion",
"documentation": "https://github.com/commschamp/comms",
"license": "MPL-2.0",
"dependencies": [
{
"name": "vcpkg-cmake",
@ -14,14 +14,5 @@
"name": "vcpkg-cmake-config",
"host": true
}
],
"features": {
"tools": {
"description": "Builds CommsChampion tools",
"supports": "!static",
"dependencies": [
"qt5-base"
]
}
}
]
}

View File

@ -1,30 +1,31 @@
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO commschamp/commsdsl
REF v3.6.4
SHA512 dd997bb063baf4e6bc15666539e8d3e8cf435cfda88e8b115b8a1568c8c77cc2ca6dbf1a77ae2fcf9b24f68cb35aa2ae583852cf887fbc85f74e868230374055
REF v4.0
SHA512 420fd0dd30aa5530692f40e15e3a640d1ef766c642e91edc07ed182e2125043c6ade1d245ef4d549a606c372c8c5f53fea7faa14b230ff485cf24d4f13ecfbee
HEAD_REF master
)
vcpkg_configure_cmake(
vcpkg_cmake_configure(
SOURCE_PATH "${SOURCE_PATH}"
PREFER_NINJA
OPTIONS
-DCOMMSDSL_NO_COMMS_CHAMPION=ON
-DCOMMSDSL_BUILD_APPS=ON
-DCOMMSDSL_INSTALL_APPS=ON
-DCOMMSDSL_CHECKOUT_COMMS_CHAMPION=OFF
-DCOMMSDSL_INSTALL_LIBRARY=ON
-DCOMMSDSL_INSTALL_LIBRARY_HEADERS=ON
-DCOMMSDSL_BUILD_UNIT_TESTS=OFF
-DCOMMSDSL_WARN_AS_ERR=OFF
-DCOMMSDSL_WIN_ALLOW_LIBXML_BUILD=OFF
-DBUILD_TESTING=OFF
)
vcpkg_install_cmake()
vcpkg_cmake_install()
vcpkg_copy_tools(
TOOL_NAMES commsdsl2comms
TOOL_NAMES commsdsl2comms commsdsl2test commsdsl2tools_qt
AUTO_CLEAN
)
vcpkg_fixup_cmake_targets(CONFIG_PATH lib/LibCommsdsl/cmake TARGET_PATH share/LibCommsdsl)
vcpkg_cmake_config_fixup(PACKAGE_NAME LibCommsdsl CONFIG_PATH lib/LibCommsdsl/cmake)
# after fixing the following dirs are empty
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/lib/LibCommsdsl")

View File

@ -1,15 +1,20 @@
{
"name": "commsdsl",
"version-semver": "3.6.4",
"port-version": 1,
"version-semver": "4.0.0",
"description": "DSL schemas parser and code generator for CommsChampion Ecosystem",
"homepage": "https://commschamp.github.io/",
"documentation": "https://github.com/commschamp/commsdsl",
"supports": "!uwp & !static",
"license": "Apache-2.0",
"supports": "!uwp",
"dependencies": [
"boost-algorithm",
"boost-filesystem",
"boost-program-options",
"libxml2"
"libxml2",
{
"name": "vcpkg-cmake",
"host": true
},
{
"name": "vcpkg-cmake-config",
"host": true
}
]
}

View File

@ -7,10 +7,8 @@ vcpkg_from_github(
HEAD_REF master
)
# Put the licence file where vcpkg expects it
file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/constexpr/LICENSE)
file(RENAME ${CURRENT_PACKAGES_DIR}/share/constexpr/LICENSE ${CURRENT_PACKAGES_DIR}/share/constexpr/copyright)
# Copy the constexpr header files
file(GLOB HEADER_FILES ${SOURCE_PATH}/src/include/*.h)
file(COPY ${HEADER_FILES} DESTINATION ${CURRENT_PACKAGES_DIR}/include)
file(GLOB HEADER_FILES "${SOURCE_PATH}/src/include/*.h")
file(COPY ${HEADER_FILES} DESTINATION "${CURRENT_PACKAGES_DIR}/include")
file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)

View File

@ -1,7 +1,8 @@
{
"name": "constexpr",
"version-string": "1.0",
"port-version": 2,
"version": "1.0",
"port-version": 3,
"description": "Small MIT License Library of general stdlib functions written as C++11 constexpr functions.",
"homepage": "https://github.com/elbeno/constexpr"
"homepage": "https://github.com/elbeno/constexpr",
"license": "MIT"
}

View File

@ -0,0 +1,58 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 5ce0d53..5b432c8 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -685,9 +685,10 @@ if(NOT DISABLE_SHARED)
endif(NOT DISABLE_SHARED)
-
+if(FALSE)
add_executable(hello_world src/hello_world.cpp skin1.cpp skin2.cpp)
target_link_libraries(hello_world ${CPPCMS_LIB})
+endif()
if(NOT DISABLE_TCPCACHE)
add_executable(cppcms_scale src/cache_server_main.cpp)
@@ -710,7 +711,7 @@ endif(DISABLE_SHARED)
#########################################
# Tests
#########################################
-
+if(FALSE)
set(ALL_TESTS
form_test
proto_test
@@ -775,14 +776,14 @@ set(ALL_TESTS ${ALL_TESTS} external_session_test)
if(NOT DISABLE_GZIP)
target_link_libraries(response_test ${ZLIB})
endif()
-
+endif()
#####################################
# End of tests
#####################################
# These are use export
if(IS_WINDOWS AND NOT DISABLE_SHARED)
- set_target_properties(${ALL_TESTS} hello_world cppcms PROPERTIES
+ set_target_properties(${ALL_TESTS} cppcms PROPERTIES
COMPILE_DEFINITIONS DLL_EXPORT)
endif()
@@ -830,7 +831,7 @@ install(DIRECTORY cppcms DESTINATION include
#############
-
+if(FALSE)
set(CNF "${CMAKE_CURRENT_SOURCE_DIR}/tests")
add_test(base64_test base64_test)
@@ -1103,5 +1104,5 @@ if(NOT IS_WINDOWS)
PROPERTIES TIMEOUT 120)
endif()
-
+endif()

View File

@ -5,24 +5,27 @@ vcpkg_from_github(
REPO artyom-beilis/cppcms
REF b72b19915794d1af63c9a9e9bea58e20a4ad93d4
SHA512 e99d34d14fbde22be725ac2c0bec069fb584e45c66767af75efaf454ca61a7a5e57434bf86109f910884c72202b8cf98fe16505e7d3d30d9218abd4d8b27d5df
PATCHES
no-tests-and-examples.patch
)
vcpkg_find_acquire_program(PYTHON2)
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" DISABLE_DYNAMIC)
vcpkg_cmake_configure(
SOURCE_PATH "${SOURCE_PATH}"
OPTIONS
-DPYTHON=${PYTHON2} # Switch to python3 on the next update
-DUSE_WINDOWS6_API=ON
-DDISABLE_SHARED=${DISABLE_DYNAMIC}
)
vcpkg_install_cmake()
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
vcpkg_cmake_install()
vcpkg_copy_pdbs()
file(GLOB EXE_DEBUG_FILES ${CURRENT_PACKAGES_DIR}/debug/bin/*.exe)
file(REMOVE ${EXE_DEBUG_FILES})
file(GLOB EXE_FILES ${CURRENT_PACKAGES_DIR}/bin/*.exe)
file(REMOVE ${EXE_FILES})
vcpkg_copy_tools(TOOL_NAMES cppcms_scale cppcms_make_key cppcms_config_find_param AUTO_CLEAN)
file(INSTALL ${SOURCE_PATH}/MIT.TXT DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
file(INSTALL "${SOURCE_PATH}/MIT.TXT" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)

View File

@ -1,14 +1,19 @@
{
"name": "cppcms",
"version-string": "1.2.1",
"port-version": 4,
"version": "1.2.1",
"port-version": 5,
"description": "CppCMS is a Free High Performance Web Development Framework (not a CMS) aimed at Rapid Web Application Development",
"homepage": "https://github.com/artyom-beilis/cppcms",
"supports": "!(linux | osx)",
"license": "MIT",
"supports": "!(linux | osx | (windows & static))",
"dependencies": [
"icu",
"openssl",
"pcre",
{
"name": "vcpkg-cmake",
"host": true
},
"zlib"
]
}

View File

@ -0,0 +1,48 @@
From 99486c3d72cc0aec72992eb95bd46a27f09ff41e Mon Sep 17 00:00:00 2001
From: Billy Robert O'Neal III <bion@microsoft.com>
Date: Wed, 15 Jun 2022 13:59:23 -0700
Subject: [PATCH] Always check for x86-ish with the same regex.
On line 68, and in most places, "intel-like" is checked with `i[3-6]86|AMD64|x86(_64)?`, but in these 3 places the (_x64)? was missing.
First reported as https://github.com/microsoft/vcpkg/issues/24713
---
CMakeLists.txt | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 74364e8..1cdada0 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -319,7 +319,7 @@ ENDIF()
# ---[ cpuinfo mock library and mock tests
IF(CPUINFO_SUPPORTED_PLATFORM AND CPUINFO_BUILD_MOCK_TESTS)
SET(CPUINFO_MOCK_SRCS "${CPUINFO_SRCS}")
- IF(CPUINFO_TARGET_PROCESSOR MATCHES "^(i[3-6]86|AMD64|x86_64)$")
+ IF(CPUINFO_TARGET_PROCESSOR MATCHES "^(i[3-6]86|AMD64|x86(_64)?)$")
LIST(APPEND CPUINFO_MOCK_SRCS src/x86/mockcpuid.c)
ENDIF()
IF(CMAKE_SYSTEM_NAME STREQUAL "Linux" OR CMAKE_SYSTEM_NAME STREQUAL "Android")
@@ -763,7 +763,7 @@ IF(CPUINFO_SUPPORTED_PLATFORM AND CPUINFO_BUILD_UNIT_TESTS)
ADD_TEST(get-current-test get-current-test)
ENDIF()
- IF(CPUINFO_TARGET_PROCESSOR MATCHES "^(i[3-6]86|AMD64|x86_64)$")
+ IF(CPUINFO_TARGET_PROCESSOR MATCHES "^(i[3-6]86|AMD64|x86(_64)?)$")
ADD_EXECUTABLE(brand-string-test test/name/brand-string.cc)
CPUINFO_TARGET_ENABLE_CXX11(brand-string-test)
CPUINFO_TARGET_RUNTIME_LIBRARY(brand-string-test)
@@ -830,7 +830,7 @@ IF(CPUINFO_SUPPORTED_PLATFORM AND CPUINFO_BUILD_TOOLS)
CPUINFO_TARGET_RUNTIME_LIBRARY(cpuinfo-dump)
ENDIF()
- IF(CPUINFO_TARGET_PROCESSOR MATCHES "^(i[3-6]86|AMD64|x86_64)$")
+ IF(CPUINFO_TARGET_PROCESSOR MATCHES "^(i[3-6]86|AMD64|x86(_64)?)$")
ADD_EXECUTABLE(cpuid-dump tools/cpuid-dump.c)
CPUINFO_TARGET_ENABLE_C99(cpuid-dump)
CPUINFO_TARGET_RUNTIME_LIBRARY(cpuid-dump)
@@ -869,4 +869,3 @@ IF(CPUINFO_BUILD_PKG_CONFIG)
DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig")
ENDIF()
-

View File

@ -9,6 +9,8 @@ vcpkg_from_github(
REF b40bae27785787b6dd70788986fd96434cf90ae2
SHA512 dbbe4f3e1d5ae74ffc8ba2cba0ab745a23f4993788f4947825ef5125dd1cbed3e13e0c98e020e6fcfa9879f54f06d7cba4de73ec29f77649b6a27b4ab82c8f1c
HEAD_REF master
PATCHES
check-for-x86-correctly.patch # https://github.com/pytorch/cpuinfo/pull/93
)
vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
@ -16,6 +18,7 @@ vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
tools CPUINFO_BUILD_TOOLS
)
set(LINK_OPTIONS "")
if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic")
list(APPEND LINK_OPTIONS -DCPUINFO_LIBRARY_TYPE=shared)
else()
@ -28,29 +31,11 @@ else()
list(APPEND LINK_OPTIONS -DCPUINFO_RUNTIME_TYPE=static)
endif()
# hack to get around that toolchains/windows.cmake doesn't set CMAKE_SYSTEM_ARCHITECTURE
set(CPUINFO_TARGET_PROCESSOR_param "")
if(VCPKG_TARGET_IS_WINDOWS)
# NOTE: arm64-windows is unsupported for now;
# see https://github.com/pytorch/cpuinfo/pull/82 for updates
# NOTE: arm-windows is unsupported
if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86")
set(CPUINFO_TARGET_PROCESSOR_param "-DCPUINFO_TARGET_PROCESSOR=x86")
elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64")
set(CPUINFO_TARGET_PROCESSOR_param "-DCPUINFO_TARGET_PROCESSOR=AMD64")
elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm")
set(CPUINFO_TARGET_PROCESSOR_param "-DCPUINFO_TARGET_PROCESSOR=ARM")
elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64")
set(CPUINFO_TARGET_PROCESSOR_param "-DCPUINFO_TARGET_PROCESSOR=ARM64")
endif()
endif()
vcpkg_cmake_configure(
SOURCE_PATH "${SOURCE_PATH}"
OPTIONS
${FEATURE_OPTIONS}
${LINK_OPTIONS}
${CPUINFO_TARGET_PROCESSOR_param}
-DCPUINFO_BUILD_UNIT_TESTS=OFF
-DCPUINFO_BUILD_MOCK_TESTS=OFF
-DCPUINFO_BUILD_BENCHMARKS=OFF
@ -64,7 +49,7 @@ vcpkg_cmake_config_fixup()
vcpkg_copy_pdbs()
vcpkg_fixup_pkgconfig() # pkg_check_modules(libcpuinfo)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
if("tools" IN_LIST FEATURES)
vcpkg_copy_tools(

View File

@ -1,6 +1,7 @@
{
"name": "cpuinfo",
"version-date": "2022-04-02",
"port-version": 1,
"description": "CPU INFOrmation library (x86/x86-64/ARM/ARM64, Linux/Windows/Android/macOS/iOS)",
"homepage": "https://github.com/pytorch/cpuinfo",
"license": "BSD-2-Clause",

View File

@ -1,16 +1,6 @@
if(VCPKG_TARGET_IS_UWP OR VCPKG_TARGET_IS_OSX)
message(FATAL_ERROR "This port is only for Windows Desktop or Linux")
endif()
if(NOT VCPKG_TARGET_ARCHITECTURE STREQUAL "x64")
message(FATAL_ERROR "This port is only for x64 architectures")
endif()
vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY ONLY_DYNAMIC_CRT)
set(MINIMUM_CUDNN_VERSION "7.6.5")
include(${CURRENT_INSTALLED_DIR}/share/cuda/vcpkg_find_cuda.cmake)
include("${CURRENT_INSTALLED_DIR}/share/cuda/vcpkg_find_cuda.cmake")
vcpkg_find_cuda(OUT_CUDA_TOOLKIT_ROOT CUDA_TOOLKIT_ROOT OUT_CUDA_VERSION CUDA_VERSION)
# Try to find CUDNN if it exists; only download if it doesn't exist
@ -71,6 +61,6 @@ else()
message(FATAL_ERROR "Please install CUDNN using your system package manager (the same way you installed CUDA). For example: apt install libcudnn8-dev.")
endif()
file(INSTALL "${CURRENT_PORT_DIR}/FindCUDNN.cmake" DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT})
file(INSTALL "${CURRENT_PORT_DIR}/usage" DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT})
file(INSTALL "${CURRENT_PORT_DIR}/vcpkg-cmake-wrapper.cmake" DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT})
file(INSTALL "${CURRENT_PORT_DIR}/FindCUDNN.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}")
file(INSTALL "${CURRENT_PORT_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}")
file(INSTALL "${CURRENT_PORT_DIR}/vcpkg-cmake-wrapper.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}")

View File

@ -1,7 +1,7 @@
{
"name": "cudnn",
"version": "7.6.5",
"port-version": 6,
"port-version": 7,
"description": "NVIDIA's cuDNN deep neural network acceleration library.",
"homepage": "https://developer.nvidia.com/cudnn",
"license": null,

View File

@ -27,9 +27,7 @@ endif()
#make sure we don't use any integrated pre-built library nor any unnecessary CMake module
file(REMOVE_RECURSE "${SOURCE_PATH}/3rdparty")
file(REMOVE "${SOURCE_PATH}/cmake/Modules/FindPThreads_windows.cmake")
file(REMOVE "${SOURCE_PATH}/cmake/Modules/FindCUDNN.cmake")
file(REMOVE "${SOURCE_PATH}/cmake/Modules/FindStb.cmake")
file(REMOVE_RECURSE "${SOURCE_PATH}/cmake/Modules")
vcpkg_cmake_configure(
SOURCE_PATH "${SOURCE_PATH}"

View File

@ -1,6 +1,7 @@
{
"name": "darknet",
"version-date": "2022-03-06",
"port-version": 1,
"description": "Darknet is an open source neural network framework written in C and CUDA. You only look once (YOLO) is a state-of-the-art, real-time object detection system, best example of darknet functionalities.",
"homepage": "https://github.com/alexeyab/darknet",
"license": null,

View File

@ -1,13 +0,0 @@
diff --git a/meson.build b/meson.build
index 07b2586..02acd91 100644
--- a/meson.build
+++ b/meson.build
@@ -370,7 +370,7 @@ endif
cdata.set10('ARCH_PPC64LE', host_machine.cpu() == 'ppc64le')
-if cc.symbols_have_underscore_prefix()
+if cc.symbols_have_underscore_prefix() or (host_machine.cpu_family() == 'x86' and host_machine.system() == 'windows')
cdata.set10('PREFIX', true)
cdata_asm.set10('PREFIX', true)
endif

View File

@ -2,10 +2,8 @@ vcpkg_from_gitlab(
GITLAB_URL https://code.videolan.org
OUT_SOURCE_PATH SOURCE_PATH
REPO videolan/dav1d
REF 7b433e077298d0f4faf8da6d6eb5774e29bffa54 #v0.9.2
SHA512 f889f969f6d612770132cbd2faf8685b1613661b5fbb9e7efe86e9cd074cbd99d5d0cd23894ffc3743fb34301b387df3a81bf067d2c7102358e3fdacf5959782
PATCHES
patch_underscore_prefix.patch
REF 99172b11470776177939c3d2bc366fe8d904eab7 #v1.0.0
SHA512 8ab32d7f1e7ec0fb2aae9ae19e199f7a6b17f88af2287c13a9ca577f80f02351e601fb6c6f03c9505d6cecd047b823007ffef83a5ca3703e4d2a4dd5ff6d5d3b
)
vcpkg_find_acquire_program(NASM)

View File

@ -1,6 +1,6 @@
{
"name": "dav1d",
"version": "0.9.2",
"version": "1.0.0",
"description": "dav1d is a new open-source AV1 decoder developed by the VideoLAN and FFmpeg communities and sponsored by the Alliance for Open Media.",
"homepage": "https://code.videolan.org/videolan/dav1d",
"license": "BSD-2-Clause",

View File

@ -1,5 +1,3 @@
vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY)
vcpkg_from_bitbucket(
OUT_SOURCE_PATH SOURCE_PATH
REPO mrexodia/devicenameresolver

View File

@ -1,8 +1,9 @@
{
"name": "devicenameresolver",
"version-string": "2016-06-26-0850d88fa6",
"port-version": 3,
"version-date": "2016-06-26",
"port-version": 4,
"description": "a little library that resolves a path from a (virtual) device name.",
"license": null,
"supports": "windows & !uwp",
"dependencies": [
{

View File

@ -7,8 +7,8 @@ endif()
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO Microsoft/DirectXTK
REF may2022
SHA512 739d50c8dfa88a8905e61a797889a33c8b5a32a2e8ded1eea4c4f5fea82a9e8c04f6414ce709410def905d711cf7c8daf40e38579b355071288423b193196444
REF jun2022
SHA512 683adec36945611150393bb198f54a7d1e072cc9b41dd47ca9ee14459babff867d730b7031602383ed9373500f1541a5091021927bc15df59d47a3b2a1b3588c
HEAD_REF main
)
@ -32,21 +32,21 @@ vcpkg_cmake_configure(
)
vcpkg_cmake_install()
vcpkg_cmake_config_fixup(CONFIG_PATH share/directxtk/cmake)
vcpkg_cmake_config_fixup(CONFIG_PATH share/directxtk)
if((VCPKG_HOST_IS_WINDOWS) AND (VCPKG_TARGET_ARCHITECTURE MATCHES x64))
vcpkg_download_distfile(
MAKESPRITEFONT_EXE
URLS "https://github.com/Microsoft/DirectXTK/releases/download/may2022/MakeSpriteFont.exe"
FILENAME "makespritefont-may2022.exe"
SHA512 6f88fec787f9db0823cc0c5aa3d2579248c3dea566909a8d41417f42a3bd2af147ff9af82a3b96a3b1d0f8661dffda27530565bb8fed0a2e7d819d471e51493b
URLS "https://github.com/Microsoft/DirectXTK/releases/download/jun2022/MakeSpriteFont.exe"
FILENAME "makespritefont-jun2022.exe"
SHA512 7cdc80e12a4a7be70733d582e4f613055a549345f83e24035cfce42d37568c4934c1bb68df5238f41df9d7fa0e84095aeb227d23450323e31a5d1d68cb505842
)
vcpkg_download_distfile(
XWBTOOL_EXE
URLS "https://github.com/Microsoft/DirectXTK/releases/download/may2022/XWBTool.exe"
FILENAME "xwbtool-may2022.exe"
SHA512 505c7aa7a22ea78a793ba70f136b13548a69b36cd8ec1631969203deff6e93236460c674b219316793aa475f1350ad56f4a3f844e94c3adba0af7b1723c8765e
URLS "https://github.com/Microsoft/DirectXTK/releases/download/jun2022/XWBTool.exe"
FILENAME "xwbtool-jun2022.exe"
SHA512 b5782323e241641a429f66ad1ac511cfdfd6301851474dafdde274a4f93b49877406d5d0ab992097be7afe8db90fdb9488a9d6de5afce7e086df2e66a5bbca12
)
file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/tools/directxtk/")
@ -56,8 +56,8 @@ if((VCPKG_HOST_IS_WINDOWS) AND (VCPKG_TARGET_ARCHITECTURE MATCHES x64))
${XWBTOOL_EXE}
DESTINATION "${CURRENT_PACKAGES_DIR}/tools/directxtk/")
file(RENAME "${CURRENT_PACKAGES_DIR}/tools/directxtk/makespritefont-may2022.exe" "${CURRENT_PACKAGES_DIR}/tools/directxtk/makespritefont.exe")
file(RENAME "${CURRENT_PACKAGES_DIR}/tools/directxtk/xwbtool-may2022.exe" "${CURRENT_PACKAGES_DIR}/tools/directxtk/xwbtool.exe")
file(RENAME "${CURRENT_PACKAGES_DIR}/tools/directxtk/makespritefont-jun2022.exe" "${CURRENT_PACKAGES_DIR}/tools/directxtk/makespritefont.exe")
file(RENAME "${CURRENT_PACKAGES_DIR}/tools/directxtk/xwbtool-jun2022.exe" "${CURRENT_PACKAGES_DIR}/tools/directxtk/xwbtool.exe")
elseif(NOT VCPKG_TARGET_IS_UWP)

View File

@ -1,6 +1,6 @@
{
"name": "directxtk",
"version-date": "2022-05-09",
"version-date": "2022-06-15",
"description": "A collection of helper classes for writing DirectX 11.x code in C++.",
"homepage": "https://github.com/Microsoft/DirectXTK",
"documentation": "https://github.com/microsoft/DirectXTK/wiki",

View File

@ -1,14 +1,10 @@
vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
if(VCPKG_TARGET_IS_MINGW)
message(NOTICE "Building ${PORT} for MinGW requires the HLSL Compiler dxc.exe also be in the PATH. See https://github.com/microsoft/DirectXShaderCompiler.")
endif()
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO Microsoft/DirectXTK12
REF may2022
SHA512 a306792c134458766ff0ce2672b4769d261080258207173aaff9e59c3a975859df2a540ea8537e28fc2aa1693237c3609665b87c4cf1d9115ac41c7a45ff5d61
REF jun2022b
SHA512 b72080d83ff894fcf5b9efd4f90715fc4a7d457150e1561a3093188d5533e4e856146f83277a5ddee8d7a84a193484cf9d13165a6a7ffb8ada931cf1ccb31eb3
HEAD_REF main
)
@ -19,27 +15,28 @@ vcpkg_check_features(
xaudio2redist BUILD_XAUDIO_REDIST
)
set(DXCPATH ${CURRENT_HOST_INSTALLED_DIR}/tools/directx-dxc)
vcpkg_cmake_configure(
SOURCE_PATH "${SOURCE_PATH}"
OPTIONS ${FEATURE_OPTIONS} -DBUILD_DXIL_SHADERS=ON
OPTIONS ${FEATURE_OPTIONS} -DBUILD_DXIL_SHADERS=ON -DDIRECTX_DXC_PATH=${DXCPATH}
)
vcpkg_cmake_install()
vcpkg_cmake_config_fixup(CONFIG_PATH share/directxtk12/cmake)
vcpkg_cmake_config_fixup(CONFIG_PATH share/directxtk12)
if((VCPKG_HOST_IS_WINDOWS) AND (VCPKG_TARGET_ARCHITECTURE MATCHES x64))
vcpkg_download_distfile(
MAKESPRITEFONT_EXE
URLS "https://github.com/Microsoft/DirectXTK12/releases/download/may2022/MakeSpriteFont.exe"
FILENAME "makespritefont-may2022.exe"
SHA512 6f88fec787f9db0823cc0c5aa3d2579248c3dea566909a8d41417f42a3bd2af147ff9af82a3b96a3b1d0f8661dffda27530565bb8fed0a2e7d819d471e51493b
URLS "https://github.com/Microsoft/DirectXTK12/releases/download/jun2022/MakeSpriteFont.exe"
FILENAME "makespritefont-jun2022.exe"
SHA512 7cdc80e12a4a7be70733d582e4f613055a549345f83e24035cfce42d37568c4934c1bb68df5238f41df9d7fa0e84095aeb227d23450323e31a5d1d68cb505842
)
vcpkg_download_distfile(
XWBTOOL_EXE
URLS "https://github.com/Microsoft/DirectXTK12/releases/download/may2022/XWBTool.exe"
FILENAME "xwbtool-may2022.exe"
SHA512 505c7aa7a22ea78a793ba70f136b13548a69b36cd8ec1631969203deff6e93236460c674b219316793aa475f1350ad56f4a3f844e94c3adba0af7b1723c8765e
URLS "https://github.com/Microsoft/DirectXTK12/releases/download/jun2022/XWBTool.exe"
FILENAME "xwbtool-jun2022.exe"
SHA512 b5782323e241641a429f66ad1ac511cfdfd6301851474dafdde274a4f93b49877406d5d0ab992097be7afe8db90fdb9488a9d6de5afce7e086df2e66a5bbca12
)
file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/tools/directxtk12/")
@ -49,8 +46,8 @@ if((VCPKG_HOST_IS_WINDOWS) AND (VCPKG_TARGET_ARCHITECTURE MATCHES x64))
${XWBTOOL_EXE}
DESTINATION "${CURRENT_PACKAGES_DIR}/tools/directxtk12/")
file(RENAME "${CURRENT_PACKAGES_DIR}/tools/directxtk12/makespritefont-may2022.exe" "${CURRENT_PACKAGES_DIR}/tools/directxtk12/makespritefont.exe")
file(RENAME "${CURRENT_PACKAGES_DIR}/tools/directxtk12/xwbtool-may2022.exe" "${CURRENT_PACKAGES_DIR}/tools/directxtk12/xwbtool.exe")
file(RENAME "${CURRENT_PACKAGES_DIR}/tools/directxtk12/makespritefont-jun2022.exe" "${CURRENT_PACKAGES_DIR}/tools/directxtk12/makespritefont.exe")
file(RENAME "${CURRENT_PACKAGES_DIR}/tools/directxtk12/xwbtool-jun2022.exe" "${CURRENT_PACKAGES_DIR}/tools/directxtk12/xwbtool.exe")
endif()
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")

View File

@ -1,12 +1,16 @@
{
"name": "directxtk12",
"version-date": "2022-05-09",
"version-date": "2022-06-15",
"description": "A collection of helper classes for writing DirectX 12 code in C++.",
"homepage": "https://github.com/Microsoft/DirectXTK12",
"documentation": "https://github.com/microsoft/DirectXTK12/wiki",
"license": "MIT",
"supports": "windows",
"dependencies": [
{
"name": "directx-dxc",
"host": true
},
"directx-headers",
"directxmath",
{

View File

@ -5,8 +5,8 @@ endif()
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO RealTimeChris/DiscordCoreAPI
REF e80a0209c3192252ac7f7cd6a4d16afaf42f7902
SHA512 6f318e12613b5a5103ffdd093ab7e281ffcc1320de2f7612a55d5402d2dc85d24356acd8a27c0734b1eec2bc0dc6f8a6e1fa97ea200a18c2d05225ab472ecffc
REF c708c4c78b1478123bca314718ce5e2c2edafcf8
SHA512 66415ad7ec0cfce55f3d89edb89e821b6c9d97cfcfbd0b9b321f2546f1f58511d72b9aa9a91f878441b445bdda7d259ec25e441cfe9101793348b92c3600ba5f
HEAD_REF main
)

View File

@ -1,14 +1,12 @@
{
"name": "discordcoreapi",
"version-date": "2022-05-05",
"version-date": "2022-06-18",
"description": "A Discord bot library written in C++ using custom asynchronous coroutines.",
"homepage": "https://discordcoreapi.com",
"license": "AGPL-3.0-or-later",
"supports": "(windows & x64 & !static) | (linux & x64)",
"dependencies": [
"curl",
"ffmpeg",
"glib",
"libsodium",
"nlohmann-json",
"openssl",

View File

@ -1,21 +1,22 @@
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO onqtam/doctest
REF v2.4.8
SHA512 f9b40abfd756331f9b667f3c1e7dcf2652effacac70523834dd3946522f01459c095bdbad04651ad2ad155977e1395025f868ed4dcf5d5712aae9807afb5699c
REPO doctest/doctest
REF v2.4.9
SHA512 c7337e2de371c18973a0f4cb76458d6ae387e78874c9bc8aa367ffd2d592514b774e7c5ebf44f83b7046f6b33c6905fd079c36f4c33eadf52b3d651d978182cb
HEAD_REF master
)
vcpkg_configure_cmake(
vcpkg_cmake_configure(
SOURCE_PATH "${SOURCE_PATH}"
PREFER_NINJA
DISABLE_PARALLEL_CONFIGURE
OPTIONS
-DDOCTEST_WITH_TESTS=OFF
)
vcpkg_install_cmake()
vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/doctest)
vcpkg_cmake_install()
vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/${PORT})
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug" "${CURRENT_PACKAGES_DIR}/lib")
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib")
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug")
file(INSTALL "${SOURCE_PATH}/LICENSE.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)

View File

@ -1,6 +1,17 @@
{
"name": "doctest",
"version": "2.4.8",
"version": "2.4.9",
"description": "The fastest feature-rich C++11/14/17/20 single-header testing framework",
"homepage": "https://github.com/onqtam/doctest"
"homepage": "https://github.com/doctest/doctest",
"license": "MIT",
"dependencies": [
{
"name": "vcpkg-cmake",
"host": true
},
{
"name": "vcpkg-cmake-config",
"host": true
}
]
}

View File

@ -0,0 +1,39 @@
vcpkg_from_gitlab(
GITLAB_URL https://gitlab.com/inivation
OUT_SOURCE_PATH SOURCE_PATH
REPO dv/dv-processing
REF rel_1.4
SHA512 c011ca0e6d9842913ff35b0a03f9053bfbc98c090b6936e01f6514b8a35d31ee6d0a821f491be96400113e93967aa2d3e8ab19e558f5c3e9f8eba9ad4e1fe013
HEAD_REF d4ffab46a2849372789c5a2084821011165086ab
PATCHES
vcpkg-build.patch
)
vcpkg_from_gitlab(
GITLAB_URL https://gitlab.com/inivation
OUT_SOURCE_PATH CMAKEMOD_SOURCE_PATH
REPO dv/cmakemod
REF a4d7eccfdc5f83e399786a77df79b178b762858b
SHA512 4fe9cc5099ab8b41c982df45cbf9a000b2cb1f1c6ed536685943a60520cff49e262ec43af8187177c50a0df2dfca57e7861bf2e7d07834fc16e85c30eb9a9edb
HEAD_REF a4d7eccfdc5f83e399786a77df79b178b762858b
)
file(GLOB CMAKEMOD_FILES ${CMAKEMOD_SOURCE_PATH}/*)
file(COPY ${CMAKEMOD_FILES} DESTINATION ${SOURCE_PATH}/cmakemod)
vcpkg_cmake_configure(
SOURCE_PATH ${SOURCE_PATH}
OPTIONS
-DENABLE_TESTS=OFF
-DENABLE_SAMPLES=OFF
-DENABLE_PYTHON=OFF
-DBUILD_CONFIG_VCPKG=ON
)
vcpkg_cmake_install()
vcpkg_cmake_config_fixup(PACKAGE_NAME "dv-processing" CONFIG_PATH "share/dv-processing")
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share")
file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)

View File

@ -0,0 +1,84 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index c7775b5..acf6208 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -27,11 +27,15 @@ IF(Git_FOUND AND EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/.git")
ENDIF()
ENDIF()
+OPTION(BUILD_CONFIG_VCPKG "Set build environment compatible with VCPKG" OFF)
+
# Basic setup, useful variables, see docs.
SET(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmakemod ${CMAKE_MODULE_PATH})
SET(ENABLE_ALL_WARNINGS ON CACHE BOOL "Turn on all warnings for build" FORCE)
INCLUDE(inivation-setup)
+# Skip compiler compatibility checks when doing the VCPKG build
+if(NOT BUILD_CONFIG_VCPKG)
# Compiler compatibility testing starts GCC has to be at least version 10
IF(CC_GCC AND ${CMAKE_CXX_COMPILER_VERSION} VERSION_LESS "10.0.0")
MESSAGE(
@@ -56,6 +60,7 @@ IF(NOT CC_GCC AND NOT CC_GCC)
)
ENDIF()
# Compiler compatibility testing ends
+ENDIF()
# Boost support. Search in extra directory for custom version.
IF(EXISTS /opt/inivation/boost/)
@@ -87,7 +92,7 @@ CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_NAME}.pc.in ${CMAKE_CURRENT
INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
# Cmake find_package() support.
-IF(CC_MSVC)
+IF(BUILD_CONFIG_VCPKG)
SET(CMAKE_EXPORT_DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/${PROJECT_NAME})
ELSE()
SET(CMAKE_EXPORT_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME})
@@ -103,8 +108,13 @@ INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}-config.cmake
${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}-config-version.cmake
${CMAKE_CURRENT_SOURCE_DIR}/cmakemod/inivation-setup.cmake DESTINATION ${CMAKE_EXPORT_DESTINATION})
-# External libraries to build
-ADD_SUBDIRECTORY(tests/external/cli11)
+IF (BUILD_CONFIG_VCPKG)
+ # Find CLI11 as an installed package
+ FIND_PACKAGE(CLI11 CONFIG REQUIRED)
+ELSE()
+ # External CLI11 checked-out as a submodule
+ ADD_SUBDIRECTORY(tests/external/cli11)
+ENDIF()
# Install header files.
ADD_SUBDIRECTORY(include)
diff --git a/dv-processing-config.cmake.in b/dv-processing-config.cmake.in
index 4dbf635..5557dd2 100644
--- a/dv-processing-config.cmake.in
+++ b/dv-processing-config.cmake.in
@@ -53,10 +53,9 @@ CHECK_REQUIRED_COMPONENTS(dv-processing)
# properly.
INCLUDE(@PACKAGE_CMAKE_EXPORT_DESTINATION@/inivation-setup.cmake)
-# MSVC/VCPKG finds this differently.
-IF(CC_MSVC)
- FIND_PACKAGE(lz4 CONFIG REQUIRED)
-ENDIF()
+# MSVC/VCPKG finds this differently, try to find it quietly, so it does not complain on non-vcpkg installations
+# and find the package correctly when used with VCPKG.
+FIND_PACKAGE(lz4 CONFIG QUIET)
# Compiler compatibility testing starts GCC has to be at least version 10
IF(CC_GCC AND ${CMAKE_CXX_COMPILER_VERSION} VERSION_LESS "10.0.0")
diff --git a/include/dv-processing/CMakeLists.txt b/include/dv-processing/CMakeLists.txt
index b83f4e4..621b3f2 100644
--- a/include/dv-processing/CMakeLists.txt
+++ b/include/dv-processing/CMakeLists.txt
@@ -23,7 +23,7 @@ IF(CC_MSVC)
ENDIF()
# Compression support
-IF(CC_MSVC)
+IF(BUILD_CONFIG_VCPKG)
FIND_PACKAGE(lz4 CONFIG REQUIRED)
TARGET_LINK_LIBRARIES(processing INTERFACE lz4::lz4)
ELSE()

View File

@ -0,0 +1,33 @@
{
"name": "dv-processing",
"version": "1.4.0",
"description": "Generic algorithms for event cameras.",
"homepage": "https://gitlab.com/inivation/dv/dv-processing",
"license": "Apache-2.0",
"dependencies": [
"boost-callable-traits",
"boost-circular-buffer",
"boost-geometry",
"boost-lockfree",
"boost-nowide",
"boost-property-tree",
"boost-stacktrace",
"boost-tti",
"cli11",
"eigen3",
"fmt",
"libcaer",
"lz4",
"opencv4",
{
"name": "vcpkg-cmake",
"host": true
},
{
"name": "vcpkg-cmake-config",
"host": true
},
"zlib",
"zstd"
]
}

View File

@ -1,5 +1,3 @@
vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY)
vcpkg_from_sourceforge(
OUT_SOURCE_PATH SOURCE_PATH
REPO epsilon-project/epsilon
@ -43,6 +41,13 @@ vcpkg_install_nmake(
vcpkg_copy_pdbs()
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
vcpkg_copy_tools(TOOL_NAMES epsilon SEARCH_DIR "${CURRENT_PACKAGES_DIR}/tools")
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/tools")
file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin")
endif()
file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)

View File

@ -1,9 +1,10 @@
{
"name": "epsilon",
"version-string": "0.9.2",
"port-version": 6,
"version": "0.9.2",
"port-version": 7,
"description": "EPSILON is an Open Source wavelet image compressor, that is aimed on parallel and robust image processing.",
"homepage": "https://sourceforge.net/projects/epsilon-project/",
"license": "GPL-2.0-only OR LGPL-2.0-only",
"supports": "windows",
"dependencies": [
"libpopt"

View File

@ -0,0 +1,31 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 47eb0a6..d325df7 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -53,7 +53,9 @@ if (UNIX)
list(APPEND DEPENDENT_INCLUDE_DIRS "${GLOG_INCLUDE_DIRS}/../")
SET(DEPENDENT_LIBRARIES libevent::core libevent::extra libevent::openssl glog::glog pthread)
else (UNIX)
- SET(DEPENDENT_LIBRARIES event glog)
+ find_package(glog CONFIG REQUIRED)
+ find_package(Libevent CONFIG REQUIRED)
+ SET(DEPENDENT_LIBRARIES libevent::core libevent::extra libevent::openssl glog::glog)
endif (UNIX)
if (CMAKE_BENCHMARK_TESTING)
diff --git a/evpp/CMakeLists.txt b/evpp/CMakeLists.txt
index b2e470d..031659f 100644
--- a/evpp/CMakeLists.txt
+++ b/evpp/CMakeLists.txt
@@ -15,9 +15,11 @@ include_directories(${PROJECT_SOURCE_DIR})
add_library(evpp_static STATIC ${evpp_SRCS})
target_link_libraries(evpp_static ${DEPENDENT_LIBRARIES})
+target_compile_features(evpp_static PRIVATE cxx_std_11)
add_library(evpp_lite_static STATIC ${evpp_lite_SRCS})
target_link_libraries(evpp_lite_static ${DEPENDENT_LIBRARIES})
+target_compile_features(evpp_lite_static PRIVATE cxx_std_11)
if (UNIX)
add_library(evpp SHARED ${evpp_SRCS})

View File

@ -10,6 +10,7 @@ vcpkg_from_github(
fix-rapidjson-1-1.patch
fix-linux-build.patch
fix-osx-build.patch
compile-features.patch
)
file(REMOVE_RECURSE ${SOURCE_PATH}/3rdparty/rapidjson ${SOURCE_PATH}/3rdparty/concurrentqueue)

View File

@ -1,7 +1,7 @@
{
"name": "evpp",
"version-string": "0.7.0",
"port-version": 5,
"version": "0.7.0",
"port-version": 6,
"description": "A modern C++ network library based on libevent for developing high performance network services in TCP/UDP/HTTP protocols.",
"homepage": "https://github.com/Qihoo360/evpp",
"dependencies": [

View File

@ -1,6 +1,3 @@
# Official design
vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO libfann/fann
@ -12,12 +9,11 @@ vcpkg_from_github(
fix-uwp-build.patch
)
set(INSTALL_BASE_DIR_DBG ${CURRENT_PACKAGES_DIR}/debug)
set(INSTALL_BASE_DIR_REL ${CURRENT_PACKAGES_DIR})
set(INSTALL_BASE_DIR_DBG "${CURRENT_PACKAGES_DIR}/debug")
set(INSTALL_BASE_DIR_REL "${CURRENT_PACKAGES_DIR}")
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
vcpkg_cmake_configure(
SOURCE_PATH "${SOURCE_PATH}"
OPTIONS_DEBUG
-DBIN_INSTALL_DIR=${INSTALL_BASE_DIR_DBG}/bin
-DSBIN_INSTALL_DIR=${INSTALL_BASE_DIR_DBG}/sbin
@ -50,12 +46,16 @@ vcpkg_configure_cmake(
-DINFO_INSTALL_DIR=${INSTALL_BASE_DIR_REL}/share/${PORT}/info
)
vcpkg_install_cmake()
vcpkg_cmake_install()
vcpkg_copy_pdbs()
vcpkg_fixup_pkgconfig()
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
file(INSTALL ${SOURCE_PATH}/COPYING.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin")
endif()
file(INSTALL "${SOURCE_PATH}/COPYING.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)

View File

@ -1,7 +1,14 @@
{
"name": "fann",
"version": "2.2.0",
"port-version": 2,
"port-version": 3,
"description": "Fast Artificial Neural Network (FANN) Library is a free open source neural network library, which implements multilayer artificial neural networks in C with support for both fully connected and sparsely connected networks.",
"homepage": "https://github.com/libfann/fann"
"homepage": "https://github.com/libfann/fann",
"license": "LGPL-2.1-only",
"dependencies": [
{
"name": "vcpkg-cmake",
"host": true
}
]
}

View File

@ -0,0 +1,14 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 7b248a0..beae7d7 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -101,7 +101,8 @@ endif ()
# Find required dependencies for thrift/lib
if(lib_only OR build_all)
find_package(Gflags REQUIRED)
- find_package(Glog REQUIRED)
+ find_package(glog CONFIG REQUIRED)
+ set (GLOG_LIBRARIES glog::glog)
find_package(folly CONFIG REQUIRED)
find_package(fizz CONFIG REQUIRED)
find_package(fmt CONFIG REQUIRED)

View File

@ -7,7 +7,9 @@ vcpkg_from_github(
REF v2022.03.21.00
SHA512 8d2d9430dc3a4ecc23042cd9bcf4eee888824449d05d98baec408aef806b934d643e578d3876169f69966c846aeddbe0aa84416c4e020cba028a49d2fccfe7ab
HEAD_REF master
PATCHES 0001-fix-compatibility-with-boost-1.79.0.patch
PATCHES
0001-fix-compatibility-with-boost-1.79.0.patch
fix-glog.patch
)
vcpkg_cmake_configure(

View File

@ -1,7 +1,7 @@
{
"name": "fbthrift",
"version-string": "2022.03.21.00",
"port-version": 1,
"port-version": 2,
"description": "Facebook's branch of Apache Thrift, including a new C++ server.",
"homepage": "https://github.com/facebook/fbthrift",
"license": "Apache-2.0",

View File

@ -0,0 +1,38 @@
diff --git a/folly/init/Init.cpp b/folly/init/Init.cpp
index 66ca5cc..2302f10 100644
--- a/folly/init/Init.cpp
+++ b/folly/init/Init.cpp
@@ -47,6 +47,24 @@ void init(int* argc, char*** argv, bool removeFlags) {
init(argc, argv, options);
}
+#if FOLLY_USE_SYMBOLIZER
+// Newer versions of glog require the function passed to InstallFailureFunction
+// to be noreturn. But glog spells that in multiple possible ways, depending on
+// platform. But glog's choice of spelling does not match how the
+// noreturn-ability of std::abort is spelled. Some compilers consider this a
+// type mismatch on the function-ptr type. To fix the type mismatch, we wrap
+// std::abort and mimic the condition and the spellings from glog here.
+#if defined(__GNUC__)
+__attribute__((noreturn))
+#else
+[[noreturn]]
+#endif
+static void
+wrapped_abort() {
+ abort();
+}
+#endif
+
void init(int* argc, char*** argv, InitOptions options) {
#if !defined(_WIN32) && !defined(__XROS__)
// Install the handler now, to trap errors received during startup.
@@ -76,7 +94,7 @@ void init(int* argc, char*** argv, InitOptions options) {
#if FOLLY_USE_SYMBOLIZER
// Don't use glog's DumpStackTraceAndExit; rely on our signal handler.
- google::InstallFailureFunction(abort);
+ google::InstallFailureFunction(wrapped_abort);
// Actually install the callbacks into the handler.
folly::symbolizer::installFatalSignalCallbacks();

View File

@ -16,6 +16,7 @@ vcpkg_from_github(
disable-non-underscore-posix-names.patch
boost-1.70.patch
fix-windows-minmax.patch
fix-abort.patch
)
file(COPY

View File

@ -1,6 +1,7 @@
{
"name": "folly",
"version-string": "2022.03.21.00",
"port-version": 1,
"description": "An open-source C++ library developed and used at Facebook. The library is UNSTABLE on Windows",
"homepage": "https://github.com/facebook/folly",
"license": "Apache-2.0",

View File

@ -0,0 +1,13 @@
diff --git a/meson.build b/meson.build
index e5096bf..51c289f 100644
--- a/meson.build
+++ b/meson.build
@@ -268,7 +268,7 @@ sh = find_program('sh', required : false)
if not sh.found() # host_machine.system() == 'windows' or not sh.found()
# TODO: This is not always correct
- if cc.get_id() == 'msvc'
+ if host_machine.system() == 'windows'
gperf_len_type = 'size_t'
else
gperf_len_type = 'unsigned'

View File

@ -120,7 +120,7 @@ index f616600..6d82a16 100644
+if host_machine.system() == 'windows'
+ conf.set('HAVE_GETOPT', 1)
+ conf.set('HAVE_GETOPT_LONG', 1)
+ getopt_dep = cc.find_library('getopt', required: true)
+ getopt_dep = cc.find_library('getopt', required: false)
+else
+ getopt_dep = dependency('', required: false)
+endif

View File

@ -10,6 +10,7 @@ vcpkg_from_gitlab(
PATCHES
no-etc-symlinks.patch
libgetopt.patch
fix-mingw-gperf-fallback.patch
)
vcpkg_add_to_path(PREPEND "${CURRENT_HOST_INSTALLED_DIR}/tools/gperf")

Some files were not shown because too many files have changed in this diff Show More