mirror of
https://github.com/microsoft/vcpkg.git
synced 2024-11-24 03:39:05 +08:00
[vcpkg] Add Supports: field. Use contents of triplets instead of names for dependency resolution. (#8601)
* remove unfinished "supports" tag * extract "supports" from control files But do nothing with the value * Start `Supports` documentation * Use Supports in a bunch of control files I only tried matching the already existing logic in the portfile.cmake. * Cmake var provider (#8) * Cmake var provider (#9) * fix windows build (#10) * Add missing files to build * Fix test (#11) * adding hooks for cmake variables in expressions * Adding hooks for 'supports' in CI test * Fix test (#12) * Add overrides to evaluation environment * use "supported" tag in CI testing * cleanup comment * Fix issues with PR * [var_provider] Get library linkage variables from triplet * Fix compilation errors in tests * Add unimplemented functions * Fix unit tests part 1 * Fix issue when buildtrees dir does not exist * Change binary output hash * Fix handling of * feature * Add core feature when using * * Do not add Default-Features when installing 'core' * [vcpkg] WIP. 6 failing tests. * [vcpkg] WIP. 1 failing tests. * [vcpkg] WIP. 0 failing tests. * [vcpkg] Removed 'remove_graph'. 0 failing tests. * [vcpkg] Removed 'install_graph'. 0 failing tests. * [vcpkg] Remove AnyAction; replace with ActionPlan * [vcpkg] Minor cleanup. * [vcpkg][z3][qt5-connectivity][qt5-purchasing] Improve error messages while parsing. Fix a few trivial port issues. * [vcpkg] Work around ICE with MSVC v140 * [vcpkg] Add purge on fail to decompress for CI * [vcpkg] Fix parsing of nested parentheses in qualifiers * [vcpkg] Fix Linux builds (explicit qualification in declaration) * [vcpkg] Fix Build-Depends implying default features. Fix qualified dependencies regression. * [mmx] Add to skip list and full rebuild -- mmx causes problems by installing 'sched.h' * [libpqxx][mqtt-cpp] Prevent installing include/CMakeLists.txt * [cppitertools] Fix installed include namespace (should be include/cppitertools) * [libsoundio] Move headers into soundio/ subdirectory as per original cmake * [ci.baseline] Temporarily skip charls due to conflict with dcmtk * [vcpkg] Add restricted include files post build check -- bump global abi version * [libsoundio] Hotfix stray line in portfile * [vcpkg] Fix regression: CMake information was not being displayed for build-and-install actions * [jsonnet] Fix installation of internal headers; use system nlohmann-json * [grpc][upb] Teach grpc to use packaged upb. Add find_package(upb). Remove inappropriate upb features. * [zfp] Move problematic 'include/bitstream.h' to 'include/zfp/bitstream.h' * [x265] Bump control version to trigger rebuild after zfp conflict * [akali] Disable parallel configure * [dirent][dlfcn-win32][getopt-win32][pthreads] Grandfather into VCPKG_POLICY_ALLOW_RESTRICTED_HEADERS * [ci.baseline] Update baseline for improved upb support * [tgui] Disable parallel configure * [libiconv] Enable VCPKG_POLICY_ALLOW_RESTRICTED_HEADERS * [aws-sdk-cpp] Disable parallel configure * [vcpkg] Implement policy VCPKG_POLICY_ALLOW_RESTRICTED_HEADERS * [aws-sdk-cpp] Fix amount of escaping semicolons -- Note: I do not know the root cause requiring this change * [libodb-sqlite] Fix configuring into source directory * [gettext] Grandfather into VCPKG_POLICY_ALLOW_RESTRICTED_HEADERS * [libodb] DISABLE_PARALLEL_CONFIGURE * [vcpkg] Add 'config.h' and 'local.h' to restricted header list * [mcpp] Remove unused and problematic include 'config.h' from installed files * [teemo] Move installed headers into subdirectory to prevent conflicts with x265 * [ci.baseline] Update current OSX. Skip libmesh on all platforms due to heavy conflicts. * [vcpkg] Add 'slice.h' as a restricted header * [osg] Improve accuracy of dependencies (disable some, add some to Depends) * [vcpkg] Skip invoking a subprocess for 0 specs in load_tag_vars * [ci.baseline] Skip mongo-c-driver on osx due to flakiness * [teemo] Fix incorrect include file read * [osg] Fix dependency typo: glut -> freeglut * [vcpkg] Recover some lost performance with the addition of vcpkg_get_tags. A huge performance cost was loading the triplet files over and over; instead, we splice the sources into a macro and load it once, then just call that macro for each port. Remove use of hashing because we aren't cross-process-safe anyway (global static will do instead). * [vcpkg] Change Supports atom 'windows' to include UWP. Improve Supports field documentation. * [vcpkg] Add docs for VCPKG_ENV_PASSTHROUGH and VCPKG_DEP_INFO_OVERRIDE_VARS * Fix typo Co-authored-by: Curtis J Bezault <curtbezault@gmail.com> Co-authored-by: Victor Romero <romerosanchezv@gmail.com> Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
This commit is contained in:
parent
586bee9bcd
commit
e62d136128
@ -8,7 +8,7 @@ Field names are case-sensitive and start the line without leading whitespace. P
|
||||
|
||||
## Source Paragraph
|
||||
|
||||
The first paragraph in a `CONTROL` file is the Source paragraph. It must have a `Source`, `Version`, and `Description` field. It can optionally have a `Build-Depends` and `Default-Features` field.
|
||||
The first paragraph in a `CONTROL` file is the Source paragraph. It must have a `Source`, `Version`, and `Description` field. The full set of fields is documented below.
|
||||
|
||||
### Examples:
|
||||
```no-highlight
|
||||
@ -58,7 +58,7 @@ For example, given:
|
||||
|
||||
Then if you update the source version today, you should give it version `2019-06-01`. If you need to make a change which doesn't adjust the source version, you should give it version `2019-02-14-2`.
|
||||
|
||||
Example:
|
||||
##### Examples:
|
||||
```no-highlight
|
||||
Version: 1.0.5-2
|
||||
```
|
||||
@ -71,7 +71,7 @@ A description of the library.
|
||||
|
||||
By convention the first line of the description is a summary of the library. An optional detailed description follows. The detailed description can be multiple lines, all starting with whitespace.
|
||||
|
||||
Example:
|
||||
##### Examples:
|
||||
```no-highlight
|
||||
Description: C++ header-only JSON library
|
||||
```
|
||||
@ -96,17 +96,13 @@ Vcpkg does not distinguish between build-only dependencies and runtime dependenc
|
||||
|
||||
*For example: websocketpp is a header only library, and thus does not require any dependencies at install time. However, downstream users need boost and openssl to make use of the library. Therefore, websocketpp lists boost and openssl as dependencies*
|
||||
|
||||
Example:
|
||||
```no-highlight
|
||||
Build-Depends: zlib, libpng, libjpeg-turbo, tiff
|
||||
```
|
||||
If the port is dependent on optional features of another library those can be specified using the `portname[featurelist]` syntax.
|
||||
If the port is dependent on optional features of another library those can be specified using the `portname[featurelist]` syntax. If the port does not require any features from the dependency, this should be specifed as `portname[core]`.
|
||||
|
||||
Dependencies can be filtered based on the target triplet to support different requirements on Windows Desktop versus the Universal Windows Platform. Currently, the string inside parentheses is substring-compared against the triplet name. There must be a space between the name of the port and the filter. __This will change in a future version to not depend on the triplet name.__
|
||||
Dependencies can be filtered based on the target triplet to support differing requirements. These filters use the same syntax as the Supports field below and are surrounded in parentheses following the portname and feature list.
|
||||
|
||||
Example:
|
||||
##### Example:
|
||||
```no-highlight
|
||||
Build-Depends: curl[openssl] (!windows&!osx), curl[winssl] (windows), curl[darwinssl] (osx)
|
||||
Build-Depends: rapidjson, curl[core,openssl] (!windows), curl[core,winssl] (windows)
|
||||
```
|
||||
|
||||
#### Default-Features
|
||||
@ -114,10 +110,46 @@ Comma separated list of optional port features to install by default.
|
||||
|
||||
This field is optional.
|
||||
|
||||
##### Example:
|
||||
```no-highlight
|
||||
Default-Features: dynamodb, s3, kinesis
|
||||
```
|
||||
|
||||
<a name="Supports"></a>
|
||||
#### Supports
|
||||
Expression that evaluates to true when the port is expected to build successfully for a triplet.
|
||||
|
||||
Currently, this field is only used in the CI testing to skip ports. In the future, this mechanism is intended to warn users in advance that a given install tree is not expected to succeed. Therefore, this field should be used optimistically; in cases where a port is expected to succeed 10% of the time, it should still be marked "supported".
|
||||
|
||||
The grammar for the supports expression uses standard operators:
|
||||
- `!expr` - negation
|
||||
- `expr|expr` - or (`||` is also supported)
|
||||
- `expr&expr` - and (`&&` is also supported)
|
||||
- `(expr)` - grouping/precedence
|
||||
|
||||
The predefined expressions are computed from standard triplet settings:
|
||||
- `x64` - `VCPKG_TARGET_ARCHITECTURE` == `"x64"`
|
||||
- `x86` - `VCPKG_TARGET_ARCHITECTURE` == `"x86"`
|
||||
- `arm` - `VCPKG_TARGET_ARCHITECTURE` == `"arm"` or `VCPKG_TARGET_ARCHITECTURE` == `"arm64"`
|
||||
- `arm64` - `VCPKG_TARGET_ARCHITECTURE` == `"arm64"`
|
||||
- `windows` - `VCPKG_CMAKE_SYSTEM_NAME` == `""` or `VCPKG_CMAKE_SYSTEM_NAME` == `"WindowsStore"`
|
||||
- `uwp` - `VCPKG_CMAKE_SYSTEM_NAME` == `"WindowsStore"`
|
||||
- `linux` - `VCPKG_CMAKE_SYSTEM_NAME` == `"Linux"`
|
||||
- `osx` - `VCPKG_CMAKE_SYSTEM_NAME` == `"Darwin"`
|
||||
- `android` - `VCPKG_CMAKE_SYSTEM_NAME` == `"Android"`
|
||||
- `static` - `VCPKG_LIBRARY_LINKAGE` == `"static"`
|
||||
|
||||
These predefined expressions can be overridden in the triplet file via the [`VCPKG_DEP_INFO_OVERRIDE_VARS`](../users/triplets.md) option.
|
||||
|
||||
This field is optional and defaults to true.
|
||||
|
||||
> Implementers' Note: these terms are computed from the triplet via the `vcpkg_get_dep_info` mechanism.
|
||||
|
||||
##### Example:
|
||||
```no-highlight
|
||||
Supports: !(uwp|arm)
|
||||
```
|
||||
|
||||
## Feature Paragraphs
|
||||
|
||||
Multiple optional features can be specified in the `CONTROL` files. It must have a `Feature` and `Description` field. It can optionally have a `Build-Depends` field. It must be separated from other paragraphs by one or more empty lines.
|
||||
|
@ -2,20 +2,17 @@
|
||||
|
||||
Triplet is a standard term used in cross compiling as a way to completely capture the target environment (cpu, os, compiler, runtime, etc) in a single convenient name.
|
||||
|
||||
In Vcpkg, we use triplets to describe self-consistent builds of library sets. This means every library will be built using the same target cpu, OS, and compiler toolchain, but also CRT linkage and preferred library type.
|
||||
In Vcpkg, we use triplets to describe an imaginary "target configuration set" for every library. Within a triplet, libraries are generally built with the same configuration, but it is not a requirement. For example, you could have one triplet that builds `openssl` statically and `zlib` dynamically, one that builds them both statically, and one that builds them both dynamically (all for the same target OS and architecture). A single build will consume files from a single triplet.
|
||||
|
||||
We currently provide many triplets by default (run `vcpkg help triplet`). However, you can easily add your own by creating a new file in the `triplets\` directory. The new triplet will immediately be available for use in commands, such as `vcpkg install boost:x86-windows-custom`.
|
||||
|
||||
To change the triplet used by your project, such as to enable static linking, see our [Integration Document](integration.md#triplet-selection).
|
||||
|
||||
|
||||
## Community triplets
|
||||
|
||||
Triplets contained in the `triplets\community` folder are not tested by continuous integration.
|
||||
Triplets contained in the `triplets\community` folder are not tested by continuous integration, but are commonly requested by the community.
|
||||
|
||||
These triplets contain configurations commonly requested by the community, but for which we lack the resources to properly test.
|
||||
|
||||
Port updates may break compatibility with community triplets, such regressions won't get caught by our testing pipelines. Because of this, community involvement is paramount!
|
||||
Because we do not have continuous coverage, port updates may break compatibility with community triplets. Because of this, community involvement is paramount!
|
||||
|
||||
We will gladly accept and review contributions that aim to solve issues with these triplets.
|
||||
|
||||
@ -23,7 +20,7 @@ We will gladly accept and review contributions that aim to solve issues with the
|
||||
|
||||
Community Triplets are enabled by default, when using a community triplet a message like the following one will be printed during a package install:
|
||||
|
||||
```bash
|
||||
```no-highlight
|
||||
-- Using community triplet x86-uwp. This triplet configuration is not guaranteed to succeed.
|
||||
-- [COMMUNITY] Loading triplet configuration from: D:\src\viromer\vcpkg\triplets\community\x86-uwp.cmake
|
||||
```
|
||||
@ -78,8 +75,29 @@ This option also has forms for configuration-specific and C flags:
|
||||
- `VCPKG_C_FLAGS_DEBUG`
|
||||
- `VCPKG_C_FLAGS_RELEASE`
|
||||
|
||||
<a name="VCPKG_DEP_INFO_OVERRIDE_VARS"></a>
|
||||
### VCPKG_DEP_INFO_OVERRIDE_VARS
|
||||
Replaces the default computed list of triplet "Supports" terms.
|
||||
|
||||
This option (if set) will override the default set of terms used for qualified dependency resolution and "Supports" field evaluation.
|
||||
|
||||
See the [`Supports`](../maintainers/control-files.md#Supports) control file field documentation for more details.
|
||||
|
||||
> Implementers' Note: this list is extracted via the `vcpkg_get_dep_info` mechanism.
|
||||
|
||||
## Windows Variables
|
||||
|
||||
### VCPKG_ENV_PASSTHROUGH
|
||||
Instructs vcpkg to allow additional environment variables into the build process.
|
||||
|
||||
On Windows, vcpkg builds packages in a special clean environment that is isolated from the current command prompt to ensure build reliability and consistency.
|
||||
|
||||
This triplet option can be set to a list of additional environment variables that will be added to the clean environment.
|
||||
|
||||
See also the `vcpkg env` command for how you can inspect the precise environment that will be used.
|
||||
|
||||
> Implementers' Note: this list is extracted via the `vcpkg_get_tags` mechanism.
|
||||
|
||||
<a name="VCPKG_VISUAL_STUDIO_PATH"></a>
|
||||
### VCPKG_VISUAL_STUDIO_PATH
|
||||
Specifies the Visual Studio installation to use.
|
||||
|
@ -5,3 +5,4 @@ Description: an open-source collection designed to augment the C++ standard libr
|
||||
Abseil is an open-source collection of C++ library code designed to augment the C++ standard library. The Abseil library code is collected from Google's own C++ code base, has been extensively tested and used in production, and is the same code we depend on in our daily coding lives.
|
||||
In some cases, Abseil provides pieces missing from the C++ standard; in others, Abseil provides alternatives to the standard for special needs we've found through usage in the Google code base. We denote those cases clearly within the library code we provide you.
|
||||
Abseil is not meant to be a competitor to the standard library; we've just found that many of these utilities serve a purpose within our code base, and we now want to provide those resources to the C++ community as a whole.
|
||||
Supports: !uwp
|
@ -2,6 +2,7 @@ Source: ace
|
||||
Version: 6.5.7-1
|
||||
Homepage: https://www.dre.vanderbilt.edu/~schmidt/ACE.html
|
||||
Description: The ADAPTIVE Communication Environment
|
||||
Supports: !uwp
|
||||
|
||||
Feature: wchar
|
||||
Description: Enable extra wide char functions in ACE
|
||||
|
@ -2,3 +2,4 @@ Source: activemq-cpp
|
||||
Version: 3.9.5-1
|
||||
Build-Depends: apr
|
||||
Description: Apache ActiveMQ is the most popular and powerful open source messaging and Integration Patterns server.
|
||||
Supports: !uwp
|
@ -12,7 +12,8 @@ string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" AKALI_STATIC)
|
||||
|
||||
vcpkg_configure_cmake(
|
||||
SOURCE_PATH ${SOURCE_PATH}
|
||||
PREFER_NINJA
|
||||
DISABLE_PARALLEL_CONFIGURE
|
||||
PREFER_NINJA
|
||||
OPTIONS
|
||||
-DAKALI_STATIC:BOOL=${AKALI_STATIC}
|
||||
-DBUILD_TESTS:BOOL=OFF
|
||||
|
@ -2,3 +2,4 @@ Source: alac
|
||||
Version: 2017-11-03-c38887c5-1
|
||||
Homepage: https://github.com/macosforge/alac
|
||||
Description: The Apple Lossless Audio Codec (ALAC) is a lossless audio codec developed by Apple and deployed on all of its platforms and devices.
|
||||
Supports: !uwp
|
@ -2,3 +2,4 @@ Source: aliyun-oss-c-sdk
|
||||
Version: 3.7.1-1
|
||||
Description: Alibaba Cloud Object Storage Service (OSS) is a cloud storage service provided by Alibaba Cloud, featuring massive capacity, security, a low cost, and high reliability.
|
||||
Build-Depends: curl, apr-util
|
||||
Supports: !uwp
|
||||
|
@ -1,3 +1,4 @@
|
||||
Source: ampl-mp
|
||||
Version: 2019-03-21-1
|
||||
Description: An open-source library for mathematical programming
|
||||
Supports: !uwp
|
@ -2,6 +2,7 @@ Source: apr
|
||||
Version: 1.6.5-3
|
||||
Homepage: https://apr.apache.org/
|
||||
Description: The Apache Portable Runtime (APR) is a C library that forms a system portability layer that covers many operating systems.
|
||||
Supports: !uwp
|
||||
|
||||
Feature: private-headers
|
||||
Description: Install non-standard files required for building Apache httpd
|
||||
|
@ -3,3 +3,4 @@ Version: 0.15.1
|
||||
Build-Depends: boost-system, boost-filesystem, boost-multiprecision, boost-algorithm, flatbuffers, rapidjson, zlib, lz4, brotli, zstd, snappy, gflags, thrift, double-conversion, glog, uriparser
|
||||
Homepage: https://github.com/apache/arrow
|
||||
Description: Apache Arrow is a columnar in-memory analytics layer designed to accelerate big data. It houses a set of canonical in-memory representations of flat and hierarchical data along with multiple language-bindings for structure manipulation. It also provides IPC and common algorithm implementations.
|
||||
Supports: x64
|
@ -1,5 +1,5 @@
|
||||
Source: aws-sdk-cpp
|
||||
Version: 1.7.214
|
||||
Version: 1.7.214-1
|
||||
Homepage: https://github.com/aws/aws-sdk-cpp
|
||||
Description: AWS SDK for C++
|
||||
Build-Depends: openssl (!uwp&!windows), curl (!uwp&!windows), aws-c-event-stream
|
||||
|
@ -3,7 +3,7 @@ vcpkg_buildpath_length_warning(37)
|
||||
vcpkg_from_github(
|
||||
OUT_SOURCE_PATH SOURCE_PATH
|
||||
REPO aws/aws-sdk-cpp
|
||||
REF e8a7e7263e900983921e95363026efaa494622ab # 1.7.214
|
||||
REF e8a7e7263e900983921e95363026efaa494622ab # 1.7.214
|
||||
SHA512 dc4e003ffaebf21410d8d360f8a4602dda99d3ee0c0ab7fb61c97fe8b5f0b38438ed5315fb85d3a435cd5a99724e43c5cf569a7cb365ed8137caeac32c619a86
|
||||
HEAD_REF master
|
||||
)
|
||||
@ -14,14 +14,11 @@ set(BUILD_ONLY core)
|
||||
|
||||
include(${CMAKE_CURRENT_LIST_DIR}/compute_build_only.cmake)
|
||||
|
||||
if(CMAKE_HOST_WIN32)
|
||||
string(REPLACE ";" "\\\\\\;" BUILD_ONLY "${BUILD_ONLY}")
|
||||
else()
|
||||
string(REPLACE ";" "\\\\\\\\\\\;" BUILD_ONLY "${BUILD_ONLY}")
|
||||
endif()
|
||||
string(REPLACE ";" "\\\\\\\\\\\;" BUILD_ONLY "${BUILD_ONLY}")
|
||||
|
||||
vcpkg_configure_cmake(
|
||||
SOURCE_PATH ${SOURCE_PATH}
|
||||
DISABLE_PARALLEL_CONFIGURE
|
||||
PREFER_NINJA
|
||||
OPTIONS
|
||||
-DENABLE_UNITY_BUILD=ON
|
||||
|
@ -4,3 +4,4 @@ Build-Depends: cpprestsdk[core], atlmfc (windows), boost-log (!windows&!uwp), bo
|
||||
Description: Microsoft Azure Storage Client SDK for C++
|
||||
A client library for working with Microsoft Azure storage services including blobs, files, tables, and queues. This client library enables working with the Microsoft Azure storage services which include the blob service for storing binary and text data, the file service for storing binary and text data, the table service for storing structured non-relational data, and the queue service for storing messages that may be accessed by a client.
|
||||
Homepage: https://blogs.msdn.com/b/windowsazurestorage/
|
||||
Supports: !uwp
|
@ -2,3 +2,4 @@ Source: benchmark
|
||||
Version: 1.5
|
||||
Homepage: https://github.com/google/benchmark
|
||||
Description: A library to support the benchmarking of functions, similar to unit-tests.
|
||||
Supports: !uwp
|
@ -2,3 +2,4 @@ Source: berkeleydb
|
||||
Version: 4.8.30-3
|
||||
Homepage: https://download.oracle.com/
|
||||
Description: BDB - A high-performance embedded database for key/value data.
|
||||
Supports: !uwp
|
@ -2,3 +2,4 @@ Source: c-ares
|
||||
Version: 2019-5-2-1
|
||||
Homepage: https://github.com/c-ares/c-ares
|
||||
Description: A C library for asynchronous DNS requests
|
||||
Supports: !uwp
|
@ -3,3 +3,4 @@ Version: 0.8.1-3
|
||||
Build-Depends: lmdb, gflags, glog, eigen3, protobuf
|
||||
Homepage: https://github.com/caffe2/caffe2
|
||||
Description: Caffe2 is a lightweight, modular, and scalable deep learning framework.
|
||||
Supports: !x86
|
@ -3,3 +3,4 @@ Version: 0.7.0-3
|
||||
Description: Data interchange format and capability-based RPC system
|
||||
Homepage: https://capnproto.org/
|
||||
Build-Depends: zlib
|
||||
Supports: !uwp
|
@ -1,3 +1,4 @@
|
||||
Source: civetweb
|
||||
Version: 2019-07-05
|
||||
Description: Easy to use, powerful, C/C++ embeddable web server.
|
||||
Supports: !uwp
|
@ -2,3 +2,4 @@ Source: coroutine
|
||||
Version: 2020-01-13
|
||||
Build-Depends: ms-gsl
|
||||
Description: C++ coroutine helper/example library
|
||||
Supports: !x86
|
@ -3,3 +3,4 @@ Version: 0.13.0-3
|
||||
Homepage: https://cpp-netlib.org/
|
||||
Build-Depends: boost
|
||||
Description: A collection of network-related routines/implementations geared towards providing a robust cross-platform networking library
|
||||
Supports: !uwp
|
@ -1,6 +1,7 @@
|
||||
Source: cppfs
|
||||
Version: 1.2.0-1
|
||||
Description: Cross-platform C++ file system library supporting multiple backends
|
||||
Supports: !uwp
|
||||
|
||||
Feature: ssh
|
||||
Description: SSH backend for cppfs
|
||||
|
@ -1,4 +1,4 @@
|
||||
Source: cppitertools
|
||||
Version: 2019-04-14-2
|
||||
Version: 2019-04-14-3
|
||||
Description: Range-based for loop add-ons inspired by the Python builtins and itertools library
|
||||
Build-Depends: boost-optional
|
||||
|
@ -1,7 +1,3 @@
|
||||
# header-only library
|
||||
|
||||
include(vcpkg_common_functions)
|
||||
|
||||
vcpkg_from_github(
|
||||
OUT_SOURCE_PATH SOURCE_PATH
|
||||
REPO ryanhaining/cppitertools
|
||||
@ -13,8 +9,8 @@ vcpkg_from_github(
|
||||
file(GLOB INCLUDE_FILES ${SOURCE_PATH}/*.hpp)
|
||||
file(GLOB INCLUDE_INTERNAL_FILES ${SOURCE_PATH}/internal/*.hpp)
|
||||
|
||||
file(COPY ${INCLUDE_FILES} DESTINATION ${CURRENT_PACKAGES_DIR}/include)
|
||||
file(COPY ${INCLUDE_INTERNAL_FILES} DESTINATION ${CURRENT_PACKAGES_DIR}/include/internal)
|
||||
file(COPY ${INCLUDE_FILES} DESTINATION ${CURRENT_PACKAGES_DIR}/include/cppitertools)
|
||||
file(COPY ${INCLUDE_INTERNAL_FILES} DESTINATION ${CURRENT_PACKAGES_DIR}/include/cppitertools/internal)
|
||||
|
||||
# Handle copyright
|
||||
configure_file(${SOURCE_PATH}/LICENSE.md ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY)
|
||||
|
@ -2,3 +2,4 @@ Source: cudnn
|
||||
Version: 7.6
|
||||
Description: NVIDIA's cuDNN deep neural network acceleration library
|
||||
Build-Depends: cuda
|
||||
Supports: (windows|linux)&x64
|
||||
|
@ -2,6 +2,7 @@ Source: darknet
|
||||
Version: 0.2.5.1-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.
|
||||
Build-Depends: pthreads (windows), stb
|
||||
Supports: !(arm|uwp)
|
||||
|
||||
Feature: cuda
|
||||
Build-Depends: cuda
|
||||
|
@ -3,7 +3,6 @@ if(VCPKG_CMAKE_SYSTEM_NAME AND NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStor
|
||||
return()
|
||||
endif()
|
||||
|
||||
include(vcpkg_common_functions)
|
||||
vcpkg_from_github(
|
||||
OUT_SOURCE_PATH SOURCE_PATH
|
||||
REPO tronkko/dirent
|
||||
@ -14,3 +13,5 @@ vcpkg_from_github(
|
||||
file(INSTALL ${SOURCE_PATH}/include/ DESTINATION ${CURRENT_PACKAGES_DIR}/include)
|
||||
file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/dirent RENAME copyright)
|
||||
vcpkg_copy_pdbs()
|
||||
|
||||
set(VCPKG_POLICY_ALLOW_RESTRICTED_HEADERS enabled)
|
||||
|
@ -1,4 +1,3 @@
|
||||
include(vcpkg_common_functions)
|
||||
set(SOURCE_VERSION 1.1.1)
|
||||
|
||||
vcpkg_from_github(
|
||||
@ -27,3 +26,5 @@ vcpkg_copy_pdbs()
|
||||
|
||||
file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT})
|
||||
file(RENAME ${CURRENT_PACKAGES_DIR}/share/${PORT}/COPYING ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright)
|
||||
|
||||
set(VCPKG_POLICY_ALLOW_RESTRICTED_HEADERS enabled)
|
||||
|
@ -3,6 +3,7 @@ Version: 2019-08-12-1
|
||||
Homepage: https://github.com/dmlc/dmlc-core
|
||||
Description: DMLC-Core is the backbone library to support all DMLC projects, offers the bricks to build efficient and scalable distributed machine learning libraries.
|
||||
Default-Features: openmp
|
||||
Supports: !uwp
|
||||
|
||||
Feature: openmp
|
||||
Description: Build with openmp
|
@ -1,4 +1,4 @@
|
||||
Source: dpdk
|
||||
Version: 19.02
|
||||
Description: A set of libraries and drivers for fast packet processing
|
||||
|
||||
Supports: linux
|
||||
|
@ -1,4 +1,5 @@
|
||||
Source: easyhook
|
||||
Version: 2.7.6789.0
|
||||
Homepage: https://github.com/EasyHook/EasyHook
|
||||
Description: This project supports extending (hooking) unmanaged code (APIs) with pure managed ones, from within a fully managed environment on 32- or 64-bit Windows Vista x64, Windows Server 2008 x64, Windows 7, Windows 8.1, and Windows 10.
|
||||
Description: This project supports extending (hooking) unmanaged code (APIs) with pure managed ones, from within a fully managed environment on 32- or 64-bit Windows Vista x64, Windows Server 2008 x64, Windows 7, Windows 8.1, and Windows 10.
|
||||
Supports: windows
|
@ -2,3 +2,4 @@ Source: ebml
|
||||
Version: 1.3.9
|
||||
Homepage: https://github.com/Matroska-Org/libebml
|
||||
Description: a C++ libary to parse EBML files
|
||||
Supports: !uwp
|
@ -2,3 +2,4 @@ Source: expat
|
||||
Version: 2.2.7
|
||||
Homepage: https://github.com/libexpat/libexpat
|
||||
Description: XML parser library written in C
|
||||
Supports: !uwp
|
@ -3,3 +3,4 @@ Version: 1.7.2
|
||||
Homepage: https://github.com/imageworks/Field3D
|
||||
Description: An open source library for storing voxel data. It provides C++ classes that handle in-memory storage and a file format based on HDF5 that allows the C++ objects to be written to and read from disk.
|
||||
Build-Depends: hdf5, boost-regex, boost-thread, boost-program-options, boost-system, openexr, boost-foreach, boost-test, boost-timer, boost-format
|
||||
Supports: !(windows|arm|uwp)
|
@ -4,6 +4,7 @@ Homepage: https://github.com/facebook/folly
|
||||
Description: An open-source C++ library developed and used at Facebook. The library is UNSTABLE on Windows
|
||||
Build-Depends: openssl, libevent, double-conversion, glog, gflags, boost-chrono, boost-context, boost-conversion, boost-crc, boost-date-time, boost-filesystem, boost-multi-index, boost-program-options, boost-regex, boost-system, boost-thread, boost-smart-ptr
|
||||
Default-Features: zlib
|
||||
Supports: x64
|
||||
|
||||
Feature: zlib
|
||||
Build-Depends: zlib
|
||||
|
@ -2,3 +2,4 @@ Source: forge
|
||||
Version: 1.0.4-2
|
||||
Description: Helps with high performance visualizations involving OpenGL-CUDA/OpenCL interop.
|
||||
Build-Depends: glfw3, glm, glbinding, freetype, boost-functional, freeimage, fontconfig (!windows)
|
||||
Supports: x64
|
@ -2,3 +2,4 @@ Source: getopt-win32
|
||||
Version: 0.1
|
||||
Description: An implementation of getopt.
|
||||
Homepage: https://github.com/libimobiledevice-win32
|
||||
Supports: windows
|
@ -1,5 +1,3 @@
|
||||
include(vcpkg_common_functions)
|
||||
|
||||
if(VCPKG_CMAKE_SYSTEM_NAME)
|
||||
message(FATAL_ERROR "getopt-win32 only supports building on Windows Desktop")
|
||||
endif()
|
||||
@ -22,3 +20,5 @@ vcpkg_install_msbuild(
|
||||
|
||||
# Copy header
|
||||
file(COPY ${SOURCE_PATH}/getopt.h DESTINATION ${CURRENT_PACKAGES_DIR}/include/)
|
||||
|
||||
set(VCPKG_POLICY_ALLOW_RESTRICTED_HEADERS enabled)
|
||||
|
@ -2,3 +2,4 @@ Source: getopt
|
||||
Version: 0
|
||||
Description: The getopt and getopt_long functions automate some of the chore involved in parsing typical unix command line options.
|
||||
Build-Depends: getopt-win32 (windows)
|
||||
Supports: !uwp
|
@ -1,16 +1,16 @@
|
||||
if(VCPKG_CMAKE_SYSTEM_NAME AND NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore" AND NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Darwin")
|
||||
if(VCPKG_TARGET_IS_LINUX)
|
||||
set(VCPKG_POLICY_EMPTY_PACKAGE enabled)
|
||||
if (NOT EXISTS "/usr/include/libintl.h")
|
||||
message(FATAL_ERROR "Please use command \"sudo apt-get install gettext\" to install gettext on linux.")
|
||||
endif()
|
||||
file(COPY ${CMAKE_CURRENT_LIST_DIR}/unofficial-gettext-config.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/unofficial-gettext)
|
||||
return()
|
||||
else()
|
||||
set(VCPKG_POLICY_ALLOW_RESTRICTED_HEADERS enabled)
|
||||
endif()
|
||||
|
||||
#Based on https://github.com/winlibs/gettext
|
||||
|
||||
include(vcpkg_common_functions)
|
||||
|
||||
set(GETTEXT_VERSION 0.19)
|
||||
|
||||
vcpkg_download_distfile(ARCHIVE
|
||||
|
@ -2,3 +2,4 @@ Source: gflags
|
||||
Version: 2.2.2-1
|
||||
Homepage: https://github.com/gflags/gflags
|
||||
Description: A C++ library that implements commandline flags processing
|
||||
Supports: !uwp
|
@ -3,6 +3,7 @@ Version: 2.52.3-14-5
|
||||
Homepage: https://developer.gnome.org/glib/
|
||||
Description: Portable, general-purpose utility library.
|
||||
Build-Depends: zlib, pcre, libffi, gettext, libiconv
|
||||
Supports: !uwp
|
||||
|
||||
Feature: selinux
|
||||
Description: Build with selinux support.
|
@ -2,4 +2,5 @@ Source: glibmm
|
||||
Version: 2.52.1-11
|
||||
Description: This is glibmm, a C++ API for parts of glib that are useful for C++.
|
||||
Homepage: https://www.gtkmm.org.
|
||||
Build-Depends: zlib, pcre, libffi, gettext, libiconv, glib, libsigcpp
|
||||
Build-Depends: zlib, pcre, libffi, gettext, libiconv, glib, libsigcpp
|
||||
Supports: !uwp
|
||||
|
@ -1,3 +1,4 @@
|
||||
Source: gmmlib
|
||||
Version: 19.2.3
|
||||
Description: intel's graphics memory management library
|
||||
Supports: linux
|
@ -3,3 +3,4 @@ Version: 0.1.5
|
||||
Build-Depends: grpc, protobuf
|
||||
Description: C++ Proto Libraries for Google APIs.
|
||||
Homepage: https://github.com/googleapis/cpp-cmakefiles
|
||||
Supports: !uwp
|
||||
|
@ -1,31 +0,0 @@
|
||||
diff --git a/third_party/upb/upb/msg.c b/third_party/upb/upb/msg.c
|
||||
index a77da5665c..399e8753ba 100644
|
||||
--- a/third_party/upb/upb/msg.c
|
||||
+++ b/third_party/upb/upb/msg.c
|
||||
@@ -33,17 +33,26 @@ static size_t upb_msg_sizeof(const upb_msglayout *l) {
|
||||
}
|
||||
|
||||
static upb_msg_internal *upb_msg_getinternal(upb_msg *msg) {
|
||||
+#pragma warning(push)
|
||||
+#pragma warning(disable : 4146)
|
||||
return VOIDPTR_AT(msg, -sizeof(upb_msg_internal));
|
||||
+#pragma warning(pop)
|
||||
}
|
||||
|
||||
static const upb_msg_internal *upb_msg_getinternal_const(const upb_msg *msg) {
|
||||
+#pragma warning(push)
|
||||
+#pragma warning(disable : 4146)
|
||||
return VOIDPTR_AT(msg, -sizeof(upb_msg_internal));
|
||||
+#pragma warning(pop)
|
||||
}
|
||||
|
||||
static upb_msg_internal_withext *upb_msg_getinternalwithext(
|
||||
upb_msg *msg, const upb_msglayout *l) {
|
||||
UPB_ASSERT(l->extendable);
|
||||
+#pragma warning(push)
|
||||
+#pragma warning(disable : 4146)
|
||||
return VOIDPTR_AT(msg, -sizeof(upb_msg_internal_withext));
|
||||
+#pragma warning(pop)
|
||||
}
|
||||
|
||||
upb_msg *upb_msg_new(const upb_msglayout *l, upb_arena *a) {
|
118
ports/grpc/00009-use-system-upb.patch
Normal file
118
ports/grpc/00009-use-system-upb.patch
Normal file
@ -0,0 +1,118 @@
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index b535f10..0fcb682 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -1530,7 +1530,7 @@ target_link_libraries(grpc
|
||||
${_gRPC_UPB_LIBRARIES}
|
||||
${_gRPC_ALLTARGETS_LIBRARIES}
|
||||
gpr
|
||||
- upb
|
||||
+ ${_gRPC_UPB_LIBRARIES}
|
||||
)
|
||||
if(_gRPC_PLATFORM_IOS OR _gRPC_PLATFORM_MAC)
|
||||
target_link_libraries(grpc "-framework CoreFoundation")
|
||||
@@ -1941,7 +1941,7 @@ target_link_libraries(grpc_cronet
|
||||
${_gRPC_UPB_LIBRARIES}
|
||||
${_gRPC_ALLTARGETS_LIBRARIES}
|
||||
gpr
|
||||
- upb
|
||||
+ ${_gRPC_UPB_LIBRARIES}
|
||||
)
|
||||
if(_gRPC_PLATFORM_IOS OR _gRPC_PLATFORM_MAC)
|
||||
target_link_libraries(grpc_cronet "-framework CoreFoundation")
|
||||
@@ -2283,7 +2283,7 @@ target_link_libraries(grpc_test_util
|
||||
${_gRPC_ALLTARGETS_LIBRARIES}
|
||||
gpr
|
||||
grpc
|
||||
- upb
|
||||
+ ${_gRPC_UPB_LIBRARIES}
|
||||
)
|
||||
if(_gRPC_PLATFORM_IOS OR _gRPC_PLATFORM_MAC)
|
||||
target_link_libraries(grpc_test_util "-framework CoreFoundation")
|
||||
@@ -2626,7 +2626,7 @@ target_link_libraries(grpc_test_util_unsecure
|
||||
${_gRPC_ALLTARGETS_LIBRARIES}
|
||||
gpr
|
||||
grpc_unsecure
|
||||
- upb
|
||||
+ ${_gRPC_UPB_LIBRARIES}
|
||||
)
|
||||
if(_gRPC_PLATFORM_IOS OR _gRPC_PLATFORM_MAC)
|
||||
target_link_libraries(grpc_test_util_unsecure "-framework CoreFoundation")
|
||||
@@ -3017,7 +3017,7 @@ target_link_libraries(grpc_unsecure
|
||||
${_gRPC_UPB_LIBRARIES}
|
||||
${_gRPC_ALLTARGETS_LIBRARIES}
|
||||
gpr
|
||||
- upb
|
||||
+ ${_gRPC_UPB_LIBRARIES}
|
||||
)
|
||||
if(_gRPC_PLATFORM_IOS OR _gRPC_PLATFORM_MAC)
|
||||
target_link_libraries(grpc_unsecure "-framework CoreFoundation")
|
||||
@@ -3553,7 +3553,7 @@ target_link_libraries(grpc++
|
||||
${_gRPC_ALLTARGETS_LIBRARIES}
|
||||
grpc
|
||||
gpr
|
||||
- upb
|
||||
+ ${_gRPC_UPB_LIBRARIES}
|
||||
)
|
||||
|
||||
foreach(_hdr
|
||||
@@ -4817,7 +4817,7 @@ target_link_libraries(grpc++_unsecure
|
||||
${_gRPC_ALLTARGETS_LIBRARIES}
|
||||
gpr
|
||||
grpc_unsecure
|
||||
- upb
|
||||
+ ${_gRPC_UPB_LIBRARIES}
|
||||
)
|
||||
|
||||
foreach(_hdr
|
||||
@@ -5848,7 +5848,7 @@ if(gRPC_INSTALL)
|
||||
endif()
|
||||
|
||||
endif()
|
||||
-
|
||||
+if(0)
|
||||
add_library(upb
|
||||
third_party/upb/upb/decode.c
|
||||
third_party/upb/upb/encode.c
|
||||
@@ -5888,10 +5888,10 @@ target_include_directories(upb
|
||||
target_link_libraries(upb
|
||||
${_gRPC_ALLTARGETS_LIBRARIES}
|
||||
)
|
||||
+endif()
|
||||
|
||||
|
||||
-
|
||||
-if(gRPC_INSTALL)
|
||||
+if(gRPC_INSTALL AND 0)
|
||||
install(TARGETS upb EXPORT gRPCTargets
|
||||
RUNTIME DESTINATION ${gRPC_INSTALL_BINDIR}
|
||||
LIBRARY DESTINATION ${gRPC_INSTALL_LIBDIR}
|
||||
diff --git a/cmake/gRPCConfig.cmake.in b/cmake/gRPCConfig.cmake.in
|
||||
index 504d5a7..e2a3122 100644
|
||||
--- a/cmake/gRPCConfig.cmake.in
|
||||
+++ b/cmake/gRPCConfig.cmake.in
|
||||
@@ -3,6 +3,7 @@
|
||||
@_gRPC_FIND_PROTOBUF@
|
||||
@_gRPC_FIND_SSL@
|
||||
@_gRPC_FIND_CARES@
|
||||
+find_package(upb CONFIG)
|
||||
|
||||
# Targets
|
||||
include(${CMAKE_CURRENT_LIST_DIR}/gRPCTargets.cmake)
|
||||
diff --git a/cmake/upb.cmake b/cmake/upb.cmake
|
||||
index 2c0ab84..746e067 100644
|
||||
--- a/cmake/upb.cmake
|
||||
+++ b/cmake/upb.cmake
|
||||
@@ -12,9 +12,9 @@
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
-set(UPB_ROOT_DIR ${CMAKE_CURRENT_SOURCE_DIR}/third_party/upb)
|
||||
+find_package(upb REQUIRED)
|
||||
+set(_gRPC_UPB_INCLUDE_DIR)
|
||||
|
||||
-set(_gRPC_UPB_INCLUDE_DIR "${UPB_ROOT_DIR}")
|
||||
set(_gRPC_UPB_GRPC_GENERATED_DIR "${CMAKE_CURRENT_SOURCE_DIR}/src/core/ext/upb-generated")
|
||||
|
||||
-set(_gRPC_UPB_LIBRARIES upb)
|
||||
+set(_gRPC_UPB_LIBRARIES upb::upb)
|
@ -1,5 +1,5 @@
|
||||
Source: grpc
|
||||
Version: 1.26.0
|
||||
Build-Depends: zlib, openssl, protobuf, c-ares (!uwp)
|
||||
Version: 1.26.0-1
|
||||
Build-Depends: zlib, openssl, protobuf, c-ares (!uwp), upb
|
||||
Homepage: https://github.com/grpc/grpc
|
||||
Description: An RPC library and framework
|
||||
|
@ -1,15 +1,7 @@
|
||||
include(vcpkg_common_functions)
|
||||
|
||||
if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore" OR NOT VCPKG_CMAKE_SYSTEM_NAME)
|
||||
if(VCPKG_TARGET_IS_WINDOWS)
|
||||
vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
|
||||
endif()
|
||||
|
||||
# This snippet is a workaround for users who are upgrading from an extremely old version of this
|
||||
# port, which cloned directly into `src\`
|
||||
if(EXISTS "${CURRENT_BUILDTREES_DIR}/src/.git")
|
||||
file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/src)
|
||||
endif()
|
||||
|
||||
vcpkg_from_github(
|
||||
OUT_SOURCE_PATH SOURCE_PATH
|
||||
REPO grpc/grpc
|
||||
@ -23,28 +15,19 @@ vcpkg_from_github(
|
||||
00004-link-gdi32-on-windows.patch
|
||||
00005-fix-uwp-error.patch
|
||||
00006-crypt32.patch
|
||||
00008-uwp_upb_disable_C4146_error.patch
|
||||
00009-use-system-upb.patch
|
||||
)
|
||||
|
||||
if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "arm" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64")
|
||||
if(VCPKG_TARGET_IS_UWP OR VCPKG_TARGET_ARCHITECTURE STREQUAL "arm" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64")
|
||||
set(gRPC_BUILD_CODEGEN OFF)
|
||||
else()
|
||||
set(gRPC_BUILD_CODEGEN ON)
|
||||
endif()
|
||||
|
||||
if(VCPKG_CRT_LINKAGE STREQUAL "static")
|
||||
set(gRPC_MSVC_STATIC_RUNTIME ON)
|
||||
else()
|
||||
set(gRPC_MSVC_STATIC_RUNTIME OFF)
|
||||
endif()
|
||||
string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "static" gRPC_MSVC_STATIC_RUNTIME)
|
||||
string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" gRPC_STATIC_LINKING)
|
||||
|
||||
if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
|
||||
set(gRPC_STATIC_LINKING ON)
|
||||
else()
|
||||
set(gRPC_STATIC_LINKING OFF)
|
||||
endif()
|
||||
|
||||
if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
|
||||
if(VCPKG_TARGET_IS_UWP)
|
||||
set(cares_CARES_PROVIDER OFF)
|
||||
else()
|
||||
set(cares_CARES_PROVIDER "package")
|
||||
|
@ -3,3 +3,4 @@ Version: 3.22.2-2
|
||||
Homepage: https://www.gtkmm.org/
|
||||
Description: gtkmm is the official C++ interface for the popular GUI library GTK+.
|
||||
Build-Depends: glib, atk, gtk, gdk-pixbuf, pango, cairo, libepoxy, gettext, glibmm, atkmm, cairomm, pangomm
|
||||
Supports: !uwp
|
||||
|
@ -1,8 +1,9 @@
|
||||
Source: hdf5
|
||||
Version: 1.10.5-9
|
||||
Version: 1.10.5-10
|
||||
Homepage: https://www.hdfgroup.org/downloads/hdf5/
|
||||
Description: HDF5 is a data model, library, and file format for storing and managing data
|
||||
Default-Features: szip, zlib
|
||||
Supports: !uwp
|
||||
|
||||
Feature: parallel
|
||||
Description: parallel support for HDF5
|
||||
|
@ -3,3 +3,4 @@ Version: 1.11.7-3
|
||||
Homepage: https://github.com/open-mpi/hwloc
|
||||
Description: Portable Hardware Locality (hwloc)
|
||||
The Portable Hardware Locality (hwloc) software package provides a portable abstraction (across OS, versions, architectures, ...) of the hierarchical topology of modern architectures, including NUMA memory nodes, sockets, shared caches, cores and simultaneous multithreading. It also gathers various system attributes such as cache and memory information as well as the locality of I/O devices such as network interfaces, InfiniBand HCAs or GPUs.
|
||||
Supports: !uwp
|
@ -2,3 +2,4 @@ Source: icu
|
||||
Version: 61.1-8
|
||||
Homepage: http://icu-project.org/apiref/icu4c/
|
||||
Description: Mature and widely used Unicode and localization library.
|
||||
Supports: !uwp
|
@ -1,4 +1,5 @@
|
||||
Source: jinja2cpplight
|
||||
Version: 2018-05-08
|
||||
Homepage: https://github.com/hughperkins/Jinja2CppLight
|
||||
Description: (very) lightweight version of Jinja2 for C++, Lightweight templating engine for C++, based on Jinja2.
|
||||
Description: (very) lightweight version of Jinja2 for C++, Lightweight templating engine for C++, based on Jinja2.
|
||||
Supports: !uwp
|
13
ports/jsonnet/0003-use-upstream-nlohmann-json.patch
Normal file
13
ports/jsonnet/0003-use-upstream-nlohmann-json.patch
Normal file
@ -0,0 +1,13 @@
|
||||
diff --git a/core/vm.cpp b/core/vm.cpp
|
||||
index 0cf06fa..d65a6d7 100644
|
||||
--- a/core/vm.cpp
|
||||
+++ b/core/vm.cpp
|
||||
@@ -23,7 +23,7 @@ limitations under the License.
|
||||
|
||||
#include "desugarer.h"
|
||||
#include "json.h"
|
||||
-#include "json.hpp"
|
||||
+#include "nlohmann/json.hpp"
|
||||
#include "md5.h"
|
||||
#include "parser.h"
|
||||
#include "state.h"
|
@ -24,7 +24,7 @@ index 82fb7c2..a94b4ff 100644
|
||||
endif()
|
||||
+
|
||||
+
|
||||
+install(FILES ${LIBJSONNET_HEADERS} DESTINATION include)
|
||||
+install(FILES ${LIB_HEADER} DESTINATION include)
|
||||
\ No newline at end of file
|
||||
diff --git a/cpp/CMakeLists.txt b/cpp/CMakeLists.txt
|
||||
index bf349df..6ed1442 100644
|
||||
|
@ -1,4 +1,5 @@
|
||||
Source: jsonnet
|
||||
Version: 0.14.0
|
||||
Version: 0.14.0-1
|
||||
Homepage: https://github.com/google/jsonnet
|
||||
Description: Jsonnet - The data templating language
|
||||
Build-Depends: nlohmann-json
|
||||
|
@ -11,9 +11,10 @@ vcpkg_from_github(
|
||||
PATCHES
|
||||
001-enable-msvc.patch
|
||||
002-fix-dependency-and-install.patch
|
||||
0003-use-upstream-nlohmann-json.patch
|
||||
)
|
||||
|
||||
if (VCPKG_TARGET_IS_WINDOWS)
|
||||
if(VCPKG_TARGET_IS_WINDOWS)
|
||||
vcpkg_execute_required_process(
|
||||
COMMAND Powershell -Command "((Get-Content -AsByteStream \"${SOURCE_PATH}/stdlib/std.jsonnet\") -join ',') + ',0' | Out-File -Encoding Ascii \"${SOURCE_PATH}/core/std.jsonnet.h\""
|
||||
WORKING_DIRECTORY "${SOURCE_PATH}"
|
||||
@ -27,7 +28,7 @@ else()
|
||||
)
|
||||
endif()
|
||||
|
||||
if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
|
||||
if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic")
|
||||
set(BUILD_SHARED ON)
|
||||
set(BUILD_STATIC OFF)
|
||||
else()
|
||||
@ -44,6 +45,7 @@ vcpkg_configure_cmake(
|
||||
-DBUILD_JSONNET=OFF
|
||||
-DBUILD_JSONNETFMT=OFF
|
||||
-DBUILD_TESTS=OFF
|
||||
-DUSE_SYSTEM_JSON=ON
|
||||
)
|
||||
|
||||
vcpkg_install_cmake()
|
||||
|
@ -1,3 +1,4 @@
|
||||
Source: kinectsdk1
|
||||
Version: 1.8-2
|
||||
Description: Kinect for Windows SDK for Kinect v1 sensor.
|
||||
Supports: !arm
|
@ -1,3 +1,4 @@
|
||||
Source: kinectsdk2
|
||||
Version: 2.0-2
|
||||
Description: Kinect for Windows SDK for Kinect v2 sensor.
|
||||
Supports: !arm
|
@ -1,4 +1,5 @@
|
||||
Source: lastools
|
||||
Version: 2019-07-10
|
||||
Homepage: https://github.com/LAStools/LAStools
|
||||
Description: LAStools: award-winning software for efficient LiDAR processing (with LASzip)
|
||||
Description: LAStools: award-winning software for efficient LiDAR processing (with LASzip)
|
||||
Supports: !uwp
|
@ -2,3 +2,4 @@ Source: leveldb
|
||||
Version: 1.22-1
|
||||
Homepage: https://github.com/bitcoin-core/leveldb
|
||||
Description: LevelDB is a fast key-value storage library written at Google that provides an ordered mapping from string keys to string values.
|
||||
Supports: !uwp
|
@ -4,6 +4,7 @@ Homepage: https://github.com/libarchive/libarchive
|
||||
Description: Library for reading and writing streaming archives
|
||||
Build-Depends: zlib
|
||||
Default-Features: bzip2, libxml2, lz4, lzma, lzo, openssl
|
||||
Supports: !uwp
|
||||
|
||||
Feature: bzip2
|
||||
Build-Depends: bzip2
|
||||
|
@ -1,7 +1,8 @@
|
||||
Source: libevent
|
||||
Version: 2.1.11-4
|
||||
Version: 2.1.11-5
|
||||
Homepage: https://github.com/libevent/libevent
|
||||
Description: An event notification library
|
||||
Supports: !uwp
|
||||
Default-Features: thread
|
||||
|
||||
Feature: openssl
|
||||
|
@ -2,3 +2,4 @@ Source: libexif
|
||||
Version: 0.6.21-2
|
||||
Homepage: https://libexif.github.io/
|
||||
Description: a library for parsing, editing, and saving EXIF data
|
||||
Supports: !uwp
|
@ -2,3 +2,4 @@ Source: libffi
|
||||
Version: 3.1-7
|
||||
Homepage: https://github.com/libffi/libffi
|
||||
Description: Portable, high level programming interface to various calling conventions
|
||||
Supports: !arm
|
@ -3,3 +3,4 @@ Version: 0.28.4
|
||||
Homepage: https://github.com/libgit2/libgit2
|
||||
Build-Depends: openssl (!windows&&!uwp)
|
||||
Description: Git linkable library
|
||||
Supports: !uwp
|
||||
|
@ -40,3 +40,5 @@ vcpkg_copy_pdbs()
|
||||
file(INSTALL ${SOURCE_PATH}/COPYING.LIB DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
|
||||
|
||||
vcpkg_test_cmake(PACKAGE_NAME unofficial-iconv)
|
||||
|
||||
set(VCPKG_POLICY_ALLOW_RESTRICTED_HEADERS enabled)
|
||||
|
@ -3,3 +3,4 @@ Version: 8.0.4-5
|
||||
Homepage: https://github.com/mysql/mysql-server
|
||||
Build-Depends: boost-algorithm, boost-geometry, boost-optional, boost-functional, boost-graph, openssl, icu, libevent, liblzma, lz4, zlib
|
||||
Description: A MySQL client library for C development.
|
||||
Supports: !(windows&x86)&!uwp
|
@ -2,8 +2,7 @@ cmake_minimum_required(VERSION 3.0)
|
||||
project(libodb-sqlite VERSION 2.4.0 LANGUAGES CXX)
|
||||
find_package(odb 2.4.0 REQUIRED COMPONENTS libodb)
|
||||
find_package(sqlite3 CONFIG)
|
||||
configure_file(config.unix.h.in
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/odb/sqlite/details/config.h COPYONLY)
|
||||
configure_file(config.unix.h.in odb/sqlite/details/config.h COPYONLY)
|
||||
|
||||
set(LIBODB_INSTALL_HEADERS ON CACHE BOOL "Install the header files (a debug install)")
|
||||
file(GLOB_RECURSE libodb_src LIST_DIRECTORIES False
|
||||
@ -15,7 +14,7 @@ target_include_directories(libodb-sqlite
|
||||
PUBLIC
|
||||
$<INSTALL_INTERFACE:include>
|
||||
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
|
||||
|
||||
$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}>
|
||||
)
|
||||
|
||||
target_link_libraries(libodb-sqlite PRIVATE odb::libodb sqlite3)
|
||||
@ -35,14 +34,22 @@ install(TARGETS libodb-sqlite EXPORT odb_sqliteConfig
|
||||
RUNTIME DESTINATION bin
|
||||
)
|
||||
if(LIBODB_INSTALL_HEADERS)
|
||||
install(DIRECTORY odb DESTINATION include/
|
||||
install(
|
||||
DIRECTORY odb
|
||||
DESTINATION include/
|
||||
COMPONENT sqlite
|
||||
FILES_MATCHING
|
||||
PATTERN "*.h"
|
||||
PATTERN "*.hxx"
|
||||
PATTERN "*.ixx"
|
||||
PATTERN "*.txx"
|
||||
)
|
||||
)
|
||||
install(
|
||||
FILES config.unix.h.in
|
||||
DESTINATION include/odb/sqlite/detail
|
||||
COMPONENT sqlite
|
||||
RENAME config.h
|
||||
)
|
||||
endif()
|
||||
install(EXPORT odb_sqliteConfig NAMESPACE odb:: COMPONENT sqlite DESTINATION share/odb)
|
||||
export(TARGETS libodb-sqlite NAMESPACE odb:: FILE odb_sqliteConfig.cmake)
|
@ -1,5 +1,5 @@
|
||||
Source: libodb-sqlite
|
||||
Version: 2.4.0-5
|
||||
Version: 2.4.0-6
|
||||
Homepage: https://www.codesynthesis.com/products/odb/
|
||||
Description: Sqlite support for the ODB ORM library
|
||||
Build-Depends: libodb, sqlite3
|
||||
|
@ -20,6 +20,7 @@ file(COPY
|
||||
vcpkg_configure_cmake(
|
||||
SOURCE_PATH ${SOURCE_PATH}
|
||||
PREFER_NINJA
|
||||
DISABLE_PARALLEL_CONFIGURE
|
||||
OPTIONS_DEBUG
|
||||
-DLIBODB_INSTALL_HEADERS=OFF
|
||||
)
|
||||
|
@ -3,3 +3,4 @@ Version: 2017-01-28-cf2390140
|
||||
Homepage: https://github.com/OpenMPT/openmpt
|
||||
Description: a library to render tracker music
|
||||
Build-Depends: zlib, mpg123, libogg, libvorbis, portaudio, libflac
|
||||
Supports: !uwp
|
@ -3,3 +3,4 @@ Version: 0.2.1
|
||||
Homepage: https://github.com/xiph/libopusenc
|
||||
Description: Library for encoding .opus audio files and live streams.
|
||||
Build-Depends: opus
|
||||
Supports: !uwp
|
@ -1,4 +1,5 @@
|
||||
Source: libosip2
|
||||
Version: 5.1.0-3
|
||||
Homepage: https://www.gnu.org/software/osip/
|
||||
Description: oSIP is an LGPL implementation of SIP. It's stable, portable, flexible and compliant! -may be more-! It is used mostly with eXosip2 stack (GPL) which provides simpler API for User-Agent implementation.
|
||||
Description: oSIP is an LGPL implementation of SIP. It's stable, portable, flexible and compliant! -may be more-! It is used mostly with eXosip2 stack (GPL) which provides simpler API for User-Agent implementation.
|
||||
Supports: !(windows|uwp)
|
@ -2,3 +2,4 @@ Source: libp7-baical
|
||||
Version: 4.4-4
|
||||
Homepage: https://baical.net/
|
||||
Description: P7 is a library for high-speed sending telemetry & trace data from application
|
||||
Supports: !(arm|uwp)
|
@ -1,3 +1,4 @@
|
||||
Source: libp7client
|
||||
Version: 5.2-1
|
||||
Description: Open source, cross-platform, fastest library for sending logs, telemetry & trace data from your application.
|
||||
Supports: x86|x64
|
@ -1,6 +1,7 @@
|
||||
Source: libpq
|
||||
Version: 12.0
|
||||
Build-Depends: libpq[bonjour] (osx)
|
||||
Supports: !uwp
|
||||
Homepage: https://www.postgresql.org/
|
||||
Description: The official database access API of postgresql
|
||||
Default-Features: zlib, openssl
|
||||
@ -79,4 +80,4 @@ Build-Depends: libxslt
|
||||
Description: Build with libxslt (--with-libxslt)
|
||||
|
||||
Feature: client
|
||||
Description: Build all client tools and libraries.
|
||||
Description: Build all client tools and libraries.
|
||||
|
@ -67,6 +67,7 @@ install(DIRECTORY include/ DESTINATION include
|
||||
PATTERN "*.am" EXCLUDE
|
||||
PATTERN "*.in" EXCLUDE
|
||||
PATTERN "*.template" EXCLUDE
|
||||
PATTERN "CMakeLists.txt" EXCLUDE
|
||||
)
|
||||
install(DIRECTORY ${CMAKE_BINARY_DIR}/pqxx/ DESTINATION include/pqxx
|
||||
CONFIGURATIONS Release
|
||||
|
@ -1,5 +1,5 @@
|
||||
Source: libpqxx
|
||||
Version: 6.4.5-1
|
||||
Version: 6.4.5-2
|
||||
Homepage: https://github.com/jtv/libpqxx
|
||||
Description: The official C++ client API for PostgreSQL
|
||||
Build-Depends: libpq
|
||||
Build-Depends: libpq[core]
|
||||
|
@ -6,8 +6,8 @@ vcpkg_from_github(
|
||||
REF a6b1d60e74c1427c8ac2324b85cd4a0dc2068332
|
||||
SHA512 990083f738322283dc9c98b138a676e5ba04ab77794d5a51d672557e0562d2366b5085ad5571dd91af8ba4dea56baa94e8c1e4e6fe571341c95e92eb28d2b15a
|
||||
HEAD_REF master
|
||||
PATCHES
|
||||
fix-deprecated-bug.patch
|
||||
PATCHES
|
||||
fix-deprecated-bug.patch
|
||||
)
|
||||
|
||||
file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
|
||||
|
@ -1,6 +1,7 @@
|
||||
Source: libressl
|
||||
Version: 2.9.1-2
|
||||
Description: LibreSSL is a version of the TLS/crypto stack forked from OpenSSL in 2014, with goals of modernizing the codebase, improving security, and applying best practice development processes.
|
||||
Supports: !(uwp|arm)
|
||||
|
||||
Feature: tools
|
||||
Description: Build openssl and ocspcheck executables
|
||||
|
@ -1,4 +1,5 @@
|
||||
Source: libsoundio
|
||||
Version: 2.0.0-1
|
||||
Version: 2.0.0-3
|
||||
Description: libsoundio is C library providing cross-platform audio input and output.
|
||||
Homepage: http://libsound.io/
|
||||
Supports: !uwp
|
@ -1,184 +1,49 @@
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 6541f1b..058bf3b 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -1,6 +1,4 @@
|
||||
cmake_minimum_required(VERSION 2.8.5)
|
||||
-project(libsoundio C)
|
||||
-set(CMAKE_MODULE_PATH ${libsoundio_SOURCE_DIR}/cmake ${CMAKE_MODULE_PATH})
|
||||
|
||||
if(CMAKE_VERSION VERSION_LESS 3.0.0)
|
||||
set(CMAKE_INSTALL_LIBDIR "lib" CACHE PATH "library install dir (lib)")
|
||||
@@ -11,6 +9,11 @@ else()
|
||||
cmake_policy(SET CMP0046 NEW)
|
||||
include(GNUInstallDirs)
|
||||
endif()
|
||||
+cmake_policy(SET CMP0022 NEW)
|
||||
+
|
||||
+project(libsoundio C)
|
||||
+set(CMAKE_MODULE_PATH ${libsoundio_SOURCE_DIR}/cmake ${CMAKE_MODULE_PATH})
|
||||
+set(CMAKE_INCLUDE_CURRENT_DIR_IN_INTERFACE ON)
|
||||
|
||||
if(NOT CMAKE_BUILD_TYPE)
|
||||
set(CMAKE_BUILD_TYPE "Debug" CACHE STRING
|
||||
@@ -27,8 +30,7 @@ if(NOT SOUNDIO_STATIC_LIBNAME)
|
||||
set(SOUNDIO_STATIC_LIBNAME soundio)
|
||||
endif()
|
||||
|
||||
-option(BUILD_STATIC_LIBS "Build static libraries" ON)
|
||||
-option(BUILD_DYNAMIC_LIBS "Build dynamic libraries" ON)
|
||||
+option(BUILD_SHARED_LIBS "Build dynamic libraries" ON)
|
||||
option(BUILD_EXAMPLE_PROGRAMS "Build example programs" ON)
|
||||
option(BUILD_TESTS "Build tests" ON)
|
||||
option(ENABLE_JACK "Enable JACK backend" ON)
|
||||
@@ -203,7 +205,7 @@ if(MSVC)
|
||||
set(EXAMPLE_CFLAGS "/W4")
|
||||
set(TEST_CFLAGS "${LIB_CFLAGS}")
|
||||
set(TEST_LDFLAGS " ")
|
||||
- set(LIBM " ")
|
||||
+ set(LIBM "")
|
||||
else()
|
||||
set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -Werror -pedantic")
|
||||
set(LIB_CFLAGS "-std=c11 -fvisibility=hidden -Wall -Werror=strict-prototypes -Werror=old-style-definition -Werror=missing-prototypes -D_REENTRANT -D_POSIX_C_SOURCE=200809L -Wno-missing-braces")
|
||||
@@ -223,32 +225,33 @@ configure_file(
|
||||
${DOXYGEN_CONF_FILE}
|
||||
)
|
||||
|
||||
-if(BUILD_DYNAMIC_LIBS)
|
||||
- add_library(libsoundio_shared SHARED ${LIBSOUNDIO_SOURCES})
|
||||
- set_target_properties(libsoundio_shared PROPERTIES
|
||||
+if(BUILD_SHARED_LIBS)
|
||||
+ add_library(libsoundio SHARED ${LIBSOUNDIO_SOURCES})
|
||||
+ set_target_properties(libsoundio PROPERTIES PUBLIC_HEADER "${LIBSOUNDIO_HEADERS}")
|
||||
+ set_target_properties(libsoundio PROPERTIES
|
||||
OUTPUT_NAME soundio
|
||||
SOVERSION ${LIBSOUNDIO_VERSION_MAJOR}
|
||||
VERSION ${LIBSOUNDIO_VERSION}
|
||||
COMPILE_FLAGS ${LIB_CFLAGS}
|
||||
LINKER_LANGUAGE C
|
||||
)
|
||||
- target_link_libraries(libsoundio_shared LINK_PUBLIC ${LIBSOUNDIO_LIBS})
|
||||
- install(TARGETS libsoundio_shared DESTINATION ${CMAKE_INSTALL_LIBDIR})
|
||||
-endif()
|
||||
-
|
||||
-if(BUILD_STATIC_LIBS)
|
||||
- add_library(libsoundio_static STATIC ${LIBSOUNDIO_SOURCES})
|
||||
- set_target_properties(libsoundio_static PROPERTIES
|
||||
- OUTPUT_NAME ${SOUNDIO_STATIC_LIBNAME}
|
||||
+ target_link_libraries(libsoundio LINK_PUBLIC ${LIBSOUNDIO_LIBS})
|
||||
+ install(TARGETS libsoundio EXPORT libsoundio-export LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
|
||||
+else()
|
||||
+ add_library(libsoundio STATIC ${LIBSOUNDIO_SOURCES})
|
||||
+ set_target_properties(libsoundio PROPERTIES PUBLIC_HEADER "${LIBSOUNDIO_HEADERS}")
|
||||
+ set_target_properties(libsoundio PROPERTIES
|
||||
+ OUTPUT_NAME soundio
|
||||
COMPILE_FLAGS ${LIB_CFLAGS}
|
||||
LINKER_LANGUAGE C
|
||||
)
|
||||
- install(TARGETS libsoundio_static DESTINATION ${CMAKE_INSTALL_LIBDIR})
|
||||
+ target_link_libraries(libsoundio LINK_PUBLIC ${LIBSOUNDIO_LIBS})
|
||||
+ target_compile_definitions(libsoundio PUBLIC SOUNDIO_STATIC_LIBRARY)
|
||||
+ install(TARGETS libsoundio EXPORT libsoundio-export LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
|
||||
endif()
|
||||
|
||||
-install(FILES
|
||||
- ${LIBSOUNDIO_HEADERS}
|
||||
- DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/soundio")
|
||||
+add_library(libsoundio::libsoundio ALIAS libsoundio)
|
||||
+install(EXPORT libsoundio-export FILE libsoundio-config.cmake DESTINATION share/libsoundio/ NAMESPACE ${PROJECT_NAME}:: EXPORT_LINK_INTERFACE_LIBRARIES)
|
||||
|
||||
# Example Programs
|
||||
|
||||
@@ -257,44 +260,28 @@ if(BUILD_EXAMPLE_PROGRAMS)
|
||||
set_target_properties(sio_sine PROPERTIES
|
||||
LINKER_LANGUAGE C
|
||||
COMPILE_FLAGS ${EXAMPLE_CFLAGS})
|
||||
- if(BUILD_DYNAMIC_LIBS)
|
||||
- target_link_libraries(sio_sine libsoundio_shared ${LIBM})
|
||||
- else()
|
||||
- target_link_libraries(sio_sine libsoundio_static ${LIBSOUNDIO_LIBS} ${LIBM})
|
||||
- endif()
|
||||
+ target_link_libraries(sio_sine libsoundio::libsoundio ${LIBM})
|
||||
install(TARGETS sio_sine DESTINATION ${CMAKE_INSTALL_BINDIR})
|
||||
|
||||
add_executable(sio_list_devices example/sio_list_devices.c)
|
||||
set_target_properties(sio_list_devices PROPERTIES
|
||||
LINKER_LANGUAGE C
|
||||
COMPILE_FLAGS ${EXAMPLE_CFLAGS})
|
||||
- if(BUILD_DYNAMIC_LIBS)
|
||||
- target_link_libraries(sio_list_devices libsoundio_shared)
|
||||
- else()
|
||||
- target_link_libraries(sio_list_devices libsoundio_static ${LIBSOUNDIO_LIBS})
|
||||
- endif()
|
||||
+ target_link_libraries(sio_list_devices libsoundio::libsoundio)
|
||||
install(TARGETS sio_list_devices DESTINATION ${CMAKE_INSTALL_BINDIR})
|
||||
|
||||
add_executable(sio_microphone example/sio_microphone.c)
|
||||
set_target_properties(sio_microphone PROPERTIES
|
||||
LINKER_LANGUAGE C
|
||||
COMPILE_FLAGS ${EXAMPLE_CFLAGS})
|
||||
- if(BUILD_DYNAMIC_LIBS)
|
||||
- target_link_libraries(sio_microphone libsoundio_shared)
|
||||
- else()
|
||||
- target_link_libraries(sio_microphone libsoundio_static ${LIBSOUNDIO_LIBS})
|
||||
- endif()
|
||||
+ target_link_libraries(sio_microphone libsoundio::libsoundio)
|
||||
install(TARGETS sio_microphone DESTINATION ${CMAKE_INSTALL_BINDIR})
|
||||
|
||||
add_executable(sio_record example/sio_record.c)
|
||||
set_target_properties(sio_record PROPERTIES
|
||||
LINKER_LANGUAGE C
|
||||
COMPILE_FLAGS ${EXAMPLE_CFLAGS})
|
||||
- if(BUILD_DYNAMIC_LIBS)
|
||||
- target_link_libraries(sio_record libsoundio_shared)
|
||||
- else()
|
||||
- target_link_libraries(sio_record libsoundio_static ${LIBSOUNDIO_LIBS})
|
||||
- endif()
|
||||
+ target_link_libraries(sio_record libsoundio::libsoundio)
|
||||
install(TARGETS sio_record DESTINATION ${CMAKE_INSTALL_BINDIR})
|
||||
endif()
|
||||
|
||||
@@ -308,7 +295,7 @@ if(BUILD_TESTS)
|
||||
)
|
||||
|
||||
add_executable(latency "${libsoundio_SOURCE_DIR}/test/latency.c" ${LIBSOUNDIO_SOURCES})
|
||||
- target_link_libraries(latency LINK_PUBLIC ${LIBSOUNDIO_LIBS} ${LIBM})
|
||||
+ target_link_libraries(latency LINK_PUBLIC libsoundio::libsoundio ${LIBM})
|
||||
set_target_properties(latency PROPERTIES
|
||||
LINKER_LANGUAGE C
|
||||
COMPILE_FLAGS ${LIB_CFLAGS}
|
||||
@@ -318,31 +305,19 @@ if(BUILD_TESTS)
|
||||
set_target_properties(underflow PROPERTIES
|
||||
LINKER_LANGUAGE C
|
||||
COMPILE_FLAGS ${EXAMPLE_CFLAGS})
|
||||
- if(BUILD_DYNAMIC_LIBS)
|
||||
- target_link_libraries(underflow libsoundio_shared ${LIBM})
|
||||
- else()
|
||||
- target_link_libraries(underflow libsoundio_static ${LIBSOUNDIO_LIBS} ${LIBM})
|
||||
- endif()
|
||||
+ target_link_libraries(underflow libsoundio::libsoundio ${LIBM})
|
||||
|
||||
add_executable(backend_disconnect_recover test/backend_disconnect_recover.c)
|
||||
set_target_properties(backend_disconnect_recover PROPERTIES
|
||||
LINKER_LANGUAGE C
|
||||
COMPILE_FLAGS ${EXAMPLE_CFLAGS})
|
||||
- if(BUILD_DYNAMIC_LIBS)
|
||||
- target_link_libraries(backend_disconnect_recover libsoundio_shared)
|
||||
- else()
|
||||
- target_link_libraries(backend_disconnect_recover libsoundio_static ${LIBSOUNDIO_LIBS})
|
||||
- endif()
|
||||
+ target_link_libraries(backend_disconnect_recover libsoundio::libsoundio)
|
||||
|
||||
add_executable(overflow test/overflow.c)
|
||||
set_target_properties(overflow PROPERTIES
|
||||
LINKER_LANGUAGE C
|
||||
COMPILE_FLAGS ${EXAMPLE_CFLAGS})
|
||||
- if(BUILD_DYNAMIC_LIBS)
|
||||
- target_link_libraries(overflow libsoundio_shared)
|
||||
- else()
|
||||
- target_link_libraries(overflow libsoundio_static ${LIBSOUNDIO_LIBS})
|
||||
- endif()
|
||||
+ target_link_libraries(overflow libsoundio::libsoundio)
|
||||
|
||||
|
||||
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 6541f1b..e81bdce 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -1,4 +1,5 @@
|
||||
-cmake_minimum_required(VERSION 2.8.5)
|
||||
+cmake_minimum_required(VERSION 3.14)
|
||||
+cmake_policy(SET CMP0022 NEW)
|
||||
project(libsoundio C)
|
||||
set(CMAKE_MODULE_PATH ${libsoundio_SOURCE_DIR}/cmake ${CMAKE_MODULE_PATH})
|
||||
|
||||
@@ -233,7 +234,8 @@ if(BUILD_DYNAMIC_LIBS)
|
||||
LINKER_LANGUAGE C
|
||||
)
|
||||
target_link_libraries(libsoundio_shared LINK_PUBLIC ${LIBSOUNDIO_LIBS})
|
||||
- install(TARGETS libsoundio_shared DESTINATION ${CMAKE_INSTALL_LIBDIR})
|
||||
+ target_include_directories(libsoundio_shared PUBLIC $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>)
|
||||
+ install(TARGETS libsoundio_shared EXPORT libsoundio-export)
|
||||
endif()
|
||||
|
||||
if(BUILD_STATIC_LIBS)
|
||||
@@ -243,9 +245,26 @@ if(BUILD_STATIC_LIBS)
|
||||
COMPILE_FLAGS ${LIB_CFLAGS}
|
||||
LINKER_LANGUAGE C
|
||||
)
|
||||
- install(TARGETS libsoundio_static DESTINATION ${CMAKE_INSTALL_LIBDIR})
|
||||
+ target_link_libraries(libsoundio_static PUBLIC ${LIBSOUNDIO_LIBS})
|
||||
+ target_include_directories(libsoundio_static PUBLIC $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>)
|
||||
+ install(TARGETS libsoundio_static EXPORT libsoundio-export)
|
||||
endif()
|
||||
|
||||
+add_library(libsoundio INTERFACE)
|
||||
+if(BUILD_DYNAMIC_LIBS)
|
||||
+ target_link_libraries(libsoundio INTERFACE libsoundio_shared)
|
||||
+else()
|
||||
+ target_link_libraries(libsoundio INTERFACE libsoundio_static)
|
||||
+endif()
|
||||
+install(TARGETS libsoundio EXPORT libsoundio-export)
|
||||
+install(
|
||||
+ EXPORT libsoundio-export
|
||||
+ FILE libsoundio-config.cmake
|
||||
+ DESTINATION share/libsoundio/
|
||||
+ NAMESPACE ${PROJECT_NAME}::
|
||||
+ EXPORT_LINK_INTERFACE_LIBRARIES
|
||||
+)
|
||||
+
|
||||
install(FILES
|
||||
${LIBSOUNDIO_HEADERS}
|
||||
DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/soundio")
|
||||
|
@ -1,8 +1,5 @@
|
||||
include(vcpkg_common_functions)
|
||||
|
||||
if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
|
||||
message(FATAL_ERROR "WindowsStore not supported")
|
||||
endif()
|
||||
vcpkg_fail_port_install(ON_TARGET "UWP")
|
||||
|
||||
vcpkg_from_github(
|
||||
OUT_SOURCE_PATH SOURCE_PATH
|
||||
@ -14,15 +11,22 @@ vcpkg_from_github(
|
||||
fix_cmakelists.patch
|
||||
)
|
||||
|
||||
string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" BUILD_SHARED_LIBS)
|
||||
string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" BUILD_DYNAMIC_LIBS)
|
||||
string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" BUILD_STATIC_LIBS)
|
||||
|
||||
vcpkg_configure_cmake(
|
||||
SOURCE_PATH ${SOURCE_PATH}
|
||||
PREFER_NINJA
|
||||
OPTIONS
|
||||
-DBUILD_SHARED_LIBS=${BUILD_SHARED_LIBS}
|
||||
-DBUILD_DYNAMIC_LIBS=${BUILD_DYNAMIC_LIBS}
|
||||
-DBUILD_STATIC_LIBS=${BUILD_STATIC_LIBS}
|
||||
-DBUILD_EXAMPLE_PROGRAMS=OFF
|
||||
-DBUILD_TESTS=OFF
|
||||
-DENABLE_JACK=OFF
|
||||
-DENABLE_PULSEAUDIO=OFF
|
||||
-DENABLE_ALSA=OFF
|
||||
-DENABLE_COREAUDIO=${VCPKG_TARGET_IS_OSX}
|
||||
-DENABLE_WASAPI=${VCPKG_TARGET_IS_WINDOWS}
|
||||
)
|
||||
|
||||
vcpkg_install_cmake()
|
||||
|
@ -3,6 +3,7 @@ Version: 0.9.0
|
||||
Homepage: https://www.libssh.org/
|
||||
Description: libssh is a multiplatform C library implementing the SSHv2 and SSHv1 protocol on client and server side
|
||||
Build-Depends: openssl
|
||||
Supports: !uwp
|
||||
|
||||
Feature: zlib
|
||||
Description: libssh with zlib
|
||||
|
@ -2,3 +2,4 @@ Source: libusb-win32
|
||||
Version: 1.2.6.0-3
|
||||
Homepage: https://sourceforge.net/projects/libusb-win32
|
||||
Description: Allows user space applications to access many USB device on Windows.
|
||||
Supports: windows
|
@ -1,3 +1,4 @@
|
||||
Source: libuuid
|
||||
Version: 1.0.3-3
|
||||
Description: Universally unique id library
|
||||
Supports: linux|osx
|
@ -2,6 +2,7 @@ Source: llgl
|
||||
Version: 2019-08-15
|
||||
Homepage: https://github.com/LukasBanana/LLGL
|
||||
Description: Low Level Graphics Library (LLGL) is a thin abstraction layer for the modern graphics APIs OpenGL, Direct3D, Vulkan, and Metal.
|
||||
Supports: !uwp
|
||||
|
||||
Feature: opengl
|
||||
Description: Support for opengl
|
||||
|
@ -3,6 +3,7 @@ Version: 8.0.0-3
|
||||
Homepage: https://llvm.org/
|
||||
Description: The LLVM Compiler Infrastructure
|
||||
Build-Depends: atlmfc (windows)
|
||||
Supports: !uwp
|
||||
Default-Features: tools, utils
|
||||
|
||||
Feature: tools
|
||||
@ -15,4 +16,4 @@ Feature: example
|
||||
Description: Generate build targets for the LLVM examples
|
||||
|
||||
Feature: test
|
||||
Description: Generate build targets for the LLVM unit tests.
|
||||
Description: Generate build targets for the LLVM unit tests.
|
||||
|
@ -2,4 +2,4 @@ Source: log4cpp
|
||||
Version: 2.9.1-2
|
||||
Homepage: https://github.com/orocos-toolchain/log4cpp
|
||||
Description: Log4cpp is library of C++ classes for flexible logging to files, syslog, IDSA and other destinations. It is modeled after the Log4j Java library, staying as close to their API as is reasonable.
|
||||
|
||||
Supports: !uwp
|
||||
|
@ -2,3 +2,4 @@ Source: luajit
|
||||
Version: 2.0.5-3
|
||||
Homepage: https://github.com/LuaJIT/LuaJIT
|
||||
Description: LuaJIT is a Just-In-Time (JIT) compiler for the Lua programming language.
|
||||
Supports: !uwp
|
@ -2,3 +2,4 @@ Source: lzfse
|
||||
Version: 1.0-2
|
||||
Homepage: https://github.com/lzfse/lzfse
|
||||
Description: Lempel-Ziv style data compressor using Finite State Entropy coding.
|
||||
Supports: !arm
|
@ -2,3 +2,4 @@ Source: marl
|
||||
Version: 2019-09-13
|
||||
Description: A hybrid thread/fiber task scheduler written in C++ 11
|
||||
Homepage: https://github.com/google/marl
|
||||
Supports: !uwp
|
@ -3,3 +3,4 @@ Version: 1.5.2
|
||||
Homepage: https://github.com/Matroska-Org/libmatroska
|
||||
Description: a C++ libary to parse Matroska files (.mkv and .mka)
|
||||
Build-Depends: ebml
|
||||
Supports: !uwp
|
@ -1,4 +1,4 @@
|
||||
Source: mcpp
|
||||
Version: 2.7.2.14
|
||||
Version: 2.7.2.14-1
|
||||
Homepage: https://github.com/zeroc-ice/mcpp
|
||||
Description: Fork of mcpp, a C/C++ preprocessor
|
||||
|
@ -15,7 +15,6 @@ vcpkg_install_cmake()
|
||||
|
||||
file(
|
||||
INSTALL
|
||||
${SOURCE_PATH}/config.h
|
||||
${SOURCE_PATH}/mcpp_lib.h
|
||||
${SOURCE_PATH}/mcpp_out.h
|
||||
DESTINATION
|
||||
|
@ -2,3 +2,4 @@ Source: mdnsresponder
|
||||
Version: 765.30.11-2
|
||||
Description: The mDNSResponder project is a component of Bonjour, Apple's ease-of-use IP networking initiative.
|
||||
Homepage: https://developer.apple.com/bonjour/
|
||||
Supports: !arm
|
@ -1,3 +1,4 @@
|
||||
Source: mecab
|
||||
Version: 1.0
|
||||
Description: A morphological analysis engine based on CRF
|
||||
Supports: !(uwp|arm|arm64)
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user