Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
8782b0b
[vcpkg] Fix spec instance name (#10660)
PhoebeHui Apr 3, 2020
f71a22f
[function2] Update to version 4.1.0 (#10666)
gjasny Apr 3, 2020
c1be618
[libwebsockets] Update to 4.0.1 (#10658)
NancyLi1013 Apr 3, 2020
d604c92
[googleapis] upgrade to v0.7.0 release (#10651)
coryan Apr 3, 2020
a4028d3
ixwebsocket: update to 9.1.9 (#10633)
bsergean Apr 3, 2020
f4759a6
[opus] Make AVX an optional feature (#10634)
Ghabry Apr 3, 2020
171ff29
[freerdp] Fix include paths and output (#10630)
jarveson Apr 3, 2020
b065d5f
[openvr] Added Linux support and updated to v1.10.30 (#10629)
makinori Apr 3, 2020
32d29d6
[abseil] Fix feature name error (#10620)
LilyWangL Apr 3, 2020
9ffd7c4
[reproc] Update to version 12.0.0 (#10594)
daandemeyer Apr 3, 2020
9409abf
[hunspell] Disable build tools in non-Windows (#10574)
JackBoosY Apr 3, 2020
449adbe
[skyr-url] Add new port (#10463)
glynos Apr 3, 2020
f29a191
[sciter] Update to 4.4.1.5 (#10071)
pravic Apr 3, 2020
84ad06a
[vcpkg baseline] Remove replxx:x86-windows=fail (#10703)
strega-nil Apr 6, 2020
359661a
[qt5-base] Fix EGL absolute path on Linux (#10641)
Neumann-A Apr 6, 2020
c4e7c83
[nana] Add Xorg dependency libxcursor-dev and modify deprecated funct…
Cheney-W Apr 6, 2020
f2023a7
[blend2d] Update to beta_2020-03-29 (#10600)
ZeeWanderer Apr 6, 2020
6283a51
[libffi] Support arm/arm64 (#10485)
JackBoosY Apr 6, 2020
52b5dfd
Android Support: Exporting to Android Archive (AAR) (#10271)
atkawa7 Apr 6, 2020
bd0c710
[vcpkg] Make configure meson sane and work for all targets. (#10395)
Neumann-A Apr 6, 2020
6028fd5
[angle] Improve port (#9965)
Neumann-A Apr 6, 2020
7edaafb
[mpfr] Add mirror for mpfr at gnu.org (#10035)
michaelkonecny Apr 6, 2020
6c4e822
[vcpkg] Fix vcpkgTools.xml, vcpkg_find_acquire_program.cmake version/…
LilyWangL Apr 6, 2020
a3a6e70
[google-cloud-cpp*] update to the latest release (#10680)
coryan Apr 7, 2020
919856a
fix some remaining absolute paths. (#10746)
Neumann-A Apr 8, 2020
0304c45
[jsoncons] update to v0.150.0 (#10688)
danielaparker Apr 8, 2020
47a4913
[vcpkg] Correct UInt128 code 😇 (#10583)
strega-nil Apr 9, 2020
1448db9
[vcpkg-test] Fix the check for ability to make symlinks (#10543)
strega-nil Apr 9, 2020
bf85807
fix vcpkg_find_acquire_program for script (#10621)
Neumann-A Apr 10, 2020
0edffcf
[vcpkg] New policy: SKIP_ARCHITECTURE_CHECK. (#10398)
Neumann-A Apr 10, 2020
941d546
[qt5-base, qt5-imageformat] fix issues on osx (#9705)
Neumann-A Apr 10, 2020
1e19af0
[boringssl] Add new port (#8455)
Apr 15, 2020
22623e3
[vcpkg] Clean up CMake build system (#10834)
strega-nil Apr 15, 2020
4db554b
[vcpkg] Fix bootstrap from out of directory (#10846)
strega-nil Apr 15, 2020
c5f01e1
Add initial iOS support (#6275)
alcroito Apr 15, 2020
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -304,6 +304,14 @@ __pycache__/
!triplets/community/x86-windows-static.cmake
!triplets/community/x86-windows-static-md.cmake
!triplets/community/x64-osx-dynamic.cmake
!triplets/community/x64-android.cmake
!triplets/community/x86-android.cmake
!triplets/community/arm-android.cmake
!triplets/community/arm64-android.cmake
!triplets/community/arm64-ios.cmake
!triplets/community/arm-ios.cmake
!triplets/community/x64-ios.cmake
!triplets/community/x86-ios.cmake
!triplets/arm-uwp.cmake
!triplets/x64-uwp.cmake
!triplets/x64-windows.cmake
Expand All @@ -320,3 +328,5 @@ __pycache__/
# vcpkg - End
############################################################
archives
.DS_Store
prefab/
124 changes: 124 additions & 0 deletions docs/specifications/prefab.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,124 @@
## Exporting to Android Archives (AAR files)

Vcpkg current supports exporting to android archive files([AAR files](https://developer.android.com/studio/projects/android-library)). Once the archive is created it can imported in Android Studio as a native dependent. The archive is automatically consumed using [android studio's prefab tool](https://github.com/google/prefab). For more information on Prefab checkout the following article ["Native Dependencies in Android Studio 4.0"](https://android-developers.googleblog.com/2020/02/native-dependencies-in-android-studio-40.html) and the documentation on how to use prefab on [https://google.github.io/prefab/](https://google.github.io/prefab).

#### To support export to android the following tools should be available;

- `maven <optional>`
- `ndk <required>`
- `7zip <required on windows>` or `zip <required on linux>`

**Android triplets that support the following architectures arm64-v8a, armeabi-v7a, x86_64 x86 must be present**

#### An example of a triplet configuration targeting android would be

```cmake
set(VCPKG_TARGET_ARCHITECTURE arm64)
set(VCPKG_CRT_LINKAGE dynamic)
set(VCPKG_LIBRARY_LINKAGE dynamic)
set(VCPKG_CMAKE_SYSTEM_NAME Android)
```

The following table outlines the mapping from vcpkg architectures to android architectures

|vcpkg architecture | android architecture |
|-------------------|----------------------|
|arm64 | arm64-v8a |
|arm | armeabi-v7a |
|x64 | x86_64 |
|x86 | x86 |

**Please note the four architectures are required. If any is missing the export will fail**
**To export the following environment `ANDROID_NDK_HOME` variable is required for exporting**

#### Example exporting [jsoncpp]
The `--prefab-maven` flag is option. Only call it when you have maven installed
```
./vcpkg export --triplet x64-android jsoncpp --prefab --prefab-maven
```

```
The following packages are already built and will be exported:
jsoncpp:x86-android
Exporting package jsoncpp...
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------< org.apache.maven:standalone-pom >-------------------
[INFO] Building Maven Stub Project (No POM) 1
[INFO] --------------------------------[ pom ]---------------------------------
[INFO]
[INFO] --- maven-install-plugin:2.4:install-file (default-cli) @ standalone-pom ---
[INFO] Installing<root>/prefab/jsoncpp/jsoncpp-1.9.2.aar to /.m2/repository/com/vcpkg/ndk/support/jsoncpp/1.9.2/jsoncpp-1.9.2.aar
[INFO] Installing <vcpkg_root>/prefab/jsoncpp/pom.xml to /.m2/repository/com/vcpkg/ndk/support/jsoncpp/1.9.2/jsoncpp-1.9.2.pom
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 0.301 s
[INFO] Finished at: 2020-03-01T10:18:15Z
[INFO] ------------------------------------------------------------------------
In app/build.gradle

com.vcpkg.ndk.support:jsoncpp:1.9.2

And cmake flags

externalNativeBuild {
cmake {
arguments '-DANDROID_STL=c++_shared'
cppFlags "-std=c++17"
}
}

In gradle.properties

android.enablePrefab=true
android.enableParallelJsonGen=false
android.prefabVersion=${prefab.version}

Successfuly exported jsoncpp. Checkout <vcpkg_root>/prefab/jsoncpp/aar
```

#### The output directory after export
```
prefab
└── jsoncpp
├── aar
│   ├── AndroidManifest.xml
│   ├── META-INF
│   │   └── LICENCE
│   └── prefab
│   ├── modules
│   │   └── jsoncpp
│   │   ├── include
│   │   │   └── json
│   │   │   ├── allocator.h
│   │   │   ├── assertions.h
│   │   │   ├── autolink.h
│   │   │   ├── config.h
│   │   │   ├── forwards.h
│   │   │   ├── json.h
│   │   │   ├── json_features.h
│   │   │   ├── reader.h
│   │   │   ├── value.h
│   │   │   ├── version.h
│   │   │   └── writer.h
│   │   ├── libs
│   │   │   ├── android.arm64-v8a
│   │   │   │   ├── abi.json
│   │   │   │   └── libjsoncpp.so
│   │   │   ├── android.armeabi-v7a
│   │   │   │   ├── abi.json
│   │   │   │   └── libjsoncpp.so
│   │   │   ├── android.x86
│   │   │   │   ├── abi.json
│   │   │   │   └── libjsoncpp.so
│   │   │   └── android.x86_64
│   │   │   ├── abi.json
│   │   │   └── libjsoncpp.so
│   │   └── module.json
│   └── prefab.json
├── jsoncpp-1.9.2.aar
└── pom.xml

13 directories, 25 files
```
4 changes: 4 additions & 0 deletions docs/users/triplets.md
Original file line number Diff line number Diff line change
Expand Up @@ -140,6 +140,10 @@ Sets the minimum macOS version for compiled binaries. This also changes what ver
### VCPKG_OSX_SYSROOT
Set the name or path of the macOS platform SDK that will be used by CMake. See the CMake documentation for [CMAKE_OSX_SYSROOT](https://cmake.org/cmake/help/latest/variable/CMAKE_OSX_SYSROOT.html) for more information.


### VCPKG_OSX_ARCHITECTURES
Set the macOS / iOS target architecture which will be used by CMake. See the CMake documentation for [CMAKE_OSX_ARCHITECTURES](https://cmake.org/cmake/help/latest/variable/CMAKE_OSX_ARCHITECTURES.html) for more information.

## Per-port customization
The CMake Macro `PORT` will be set when interpreting the triplet file and can be used to change settings (such as `VCPKG_LIBRARY_LINKAGE`) on a per-port basis.

Expand Down
4 changes: 2 additions & 2 deletions ports/abseil/CONTROL
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
Source: abseil
Version: 2020-03-03-1
Version: 2020-03-03-2
Homepage: https://github.com/abseil/abseil-cpp
Description: an open-source collection designed to augment the C++ standard library.
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.

Feature: c++17
Feature: cxx17
Description: Enable compiler C++17.
2 changes: 1 addition & 1 deletion ports/abseil/portfile.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ vcpkg_from_github(
)

set(CMAKE_CXX_STANDARD )
if("c++17" IN_LIST FEATURES)
if("cxx17" IN_LIST FEATURES)
set(CMAKE_CXX_STANDARD 17)
endif()

Expand Down
Loading