Commit Graph

28 Commits

Author SHA1 Message Date
huangqinjin
e886d48561
[android] Link C++ runtime according to VCPKG_CRT_LINKAGE (#11266)
https://developer.android.com/ndk/guides/cpp-support
2020-05-11 13:42:08 -07:00
zhbanito
b07e46b368
[vcpkg] Add Linux toolchain x86 support (#8588)
Add compile option for x86 triplet target architecture

Co-authored-by: wangli28 <wangli28@beyondsoft.com>
2020-05-07 14:11:32 -07:00
alcroito
c5f01e1dee
Add initial iOS support (#6275)
* Add iOS community triplets and toolchain support

Added an iOS toolchain to enable building packages for iOS.
The toolchain is used when a triplet's VCPKG_CMAKE_SYSTEM_NAME is set
to iOS.

To configure which architecture should be built, as well as other
iOS specifics, the following triplet variables can be set:
- VCPKG_TARGET_ARCHITECTURE
- VCPKG_OSX_SYSROOT
- VCPKG_OSX_DEPLOYMENT_TARGET
- VCPKG_OSX_ARCHITECTURES

The following VCPKG_TARGET_ARCHITECTURE values are currently
supported:
 - arm, arm64, x64, x86.

The following VCPKG_OSX_SYSROOT values are currently supported:
 - iphoneos, iphonesimulator, or an absolute path to the device or
   simulator Xcode SDK.

VCPKG_OSX_DEPLOYMENT_TARGET can be set to control the minimum iOS
delopyment target for the built libraries.

CMAKE_OSX_ARCHITECTURES is derived from VCPKG_TARGET_ARCHITECTURE,
so generally it should not be set. In case if someone needs to target
a more specific architecture (like armv7k or arm64e), it can
be set in the triplet via VCPKG_OSX_ARCHITECTURES.

Note that only certain combinations of the architecture and sysroot
will work: simulator SDKs only provide x86-based libraries, etc.

The toolchain also sets CMAKE_SYSTEM_PROCESSOR for certain
configurations, because certain packages (like libpng) depend on the
processor type.

Added 4 community iOS triplets that build static libraries:
- arm-ios, arm64-ios, x86-ios, x64-ios.
The non-arm triplets target the iOS simulator.

The triplets build static libraries because they are easiest to
integrate into an iOS project. Dynamic libraries or frameworks require
code signing on iOS, which complicates integration.

Added heuristics to try and automatically detect what iOS triplet to
use when building your own CMake project (so when a CMake project sets
CMAKE_TOOLCHAIN_FILE to buildsystems/vcpkg.cmake), if no explicit
triplet is provided (VCPKG_TARGET_TRIPLET is undefined).

The heuristic checks for the values of CMAKE_SYSTEM_NAME and
CMAKE_OSX_ARCHITECTURES. Note that for this to work,
CMAKE_OSX_ARCHITECTURES needs to be set before the first project()
call in your CMake project.

Added workaround so find_package finds vcpkg installed packages
when targeting iOS.
This is done by saving / restoring the value of CMAKE_FIND_ROOT_PATH
while also adding the vcpkg package root in the find_package override
macro.
The workaround can be removed once vcpkg upgrades to CMake 3.15.0
or higher where the issue is fixed.

Fixes: #6003

* Fix building libpng and pcre2 targetting iOS

Fixes: #6003
2020-04-15 13:06:55 -07:00
Jack·Boos·Yu
9b44e4768b
[vcpkg] Revert #9862 changes to fix crt check (#10562) 2020-03-26 02:19:01 -07:00
Alexander Neumann
da0a154852
use _INIT flags in windows toolchain just like in the other toolchains (#9862) 2020-03-25 13:46:37 -07:00
Marc Boucek
b2e928f19b
[vcpkg] set CMAKE_MSVC_RUNTIME_LIBRARY for cmake policy CMP0091 (#9452)
Co-authored-by: Marc Boucek <marc.boucek@native-instruments.de>
2020-03-13 11:23:11 -07:00
Cristian Adam
38b959022c Add support for building with MinGW (#9137)
* Add support for building with MinGW

Tested with MSYS2 MinGW 8.3.0, gcc-mcf.lhmouse MinGW 9.2.1,
and StephanTLavavej/mingw-distro!

* Add MinGW toolchain

From your MinGW configured shell you could just use vcpkg to
configure packages.

An x64-mingw triplet would look like:
```
set(VCPKG_TARGET_ARCHITECTURE x64)
set(VCPKG_CRT_LINKAGE dynamic)
set(VCPKG_LIBRARY_LINKAGE static)
set(VCPKG_ENV_PASSTHROUGH PATH)

set(VCPKG_CMAKE_SYSTEM_NAME MinGW)
```

* Add MinGW community tripplets

x64 tested with https://github.com/StephanTLavavej/mingw-distro
x86, arm64, arm tested with https://github.com/mstorsjo/llvm-mingw
2020-01-17 15:36:08 -08:00
Victor Romero
e2049cb975
[vcpkg_configure_cmake] Add NO_CHARSET_FLAG option (#7074)
* [vcpkg_configure_cmake] Add NO_CHARSET_FLAG option

* [vcpkg_configure_cmake] Add documentation for new NO_CHARSET_FLAG option

* [vcpkg_configure_cmake, windows toolchain] Handle NO_CHARSET_FLAG in toolchain

* [build.cpp] Add Windows toolchain to package hash

* [duilib,msix,thrift,tidy-html5] Use NO_CHARSET_FLAG to fix regressions
2019-06-30 09:31:22 -07:00
dan-shaw
9cc9978c5b set CMAKE_SYSTEM_PROCESSOR in Linux (#6872)
* add vcpkg_target_architecture to vcpkg_configure_cmake

* modify shogun and thrift

* update glbinding
2019-06-14 13:09:38 -07:00
Phoebe
83f13067f3 [Thrift] Updates 2019.03.29 (#5924) 2019-04-03 14:43:56 -07:00
Bradley Austin Davis
b2996e1fd4 Support custom Android NDK, better ABI specification (#4986) 2018-12-17 16:45:09 -08:00
Robert Schumacher
828cedb755 [vcpkg] Add support for muslc, static crt linkage, and forcing the system binaries for cmake and ninja 2018-12-12 09:19:37 -08:00
Robert Schumacher
4d1fd42fca [vcpkg-toolchains] Use XYZ_INIT CMake variables for _significantly_ better integration
[brynet] Add missing openssl dependency
[discord-rpc] Ensure no external downloading
[podofo] Improve stability. Modernize.
[usrsctp] Disable Werror

[vcpkg-toolchains] Add linux changes to android and freebsd.

[usrsctp] Remove excess DLLs
2018-12-04 18:01:23 -08:00
Robert Schumacher
3b01335e61 Revert "WIP [vcpkg] Fix CMAKE_SYSTEM_PROCESSOR with UWP and Linux triplets (#4688)"
This reverts commit 83af530a42.
2018-11-20 16:28:12 -08:00
Tsukasa Sugiura
83af530a42 WIP [vcpkg] Fix CMAKE_SYSTEM_PROCESSOR with UWP and Linux triplets (#4688)
* [vcpkg] Fix CMAKE_SYSTEM_PROCESSOR

Add CMAKE_SYSTEM_PROCESSOR setting under UWP, Linux, and Darwin.
If explicitly specified VCPKG_CMAKE_SYSTEM_PROCESSOR in triplet files, CMAKE_SYSTEM_PROCESSOR is set to specified architecture.

* [vcpkg-toolchains] Move logic out of vcpkg_configure_cmake and into the toolchains.
2018-11-20 15:51:32 -08:00
Koby Kahane
91ba6e4631 [rocksdb] update to v5.15.10 (#4342)
* [rocksdb] Update to v5.15.10

* [rocksdb] Cleanup

* [rocksdb] Fix cmake targets name.

* [toolchains] Set NDEBUG in release

* [rocksdb] Disable vcpkg_test_cmake due to misbehavior in x64

* [tiff] Use lzma on linux
2018-11-01 20:47:44 -07:00
LRFLEW
16e7f4187b Create macOS configuration variables for triplets (#4477)
* Create macOS configuration variables for triplets

* Add new macOS configuration variables to documentation

* [vcpkg-configure-cmake] Fix typo
2018-10-23 16:49:48 -07:00
LRFLEW
c7f30eca90 Add definitions for CMAKE_SYSTEM_VERSION and CMAKE_SYSTEM_PROCESSOR to osx toolchain (#4441) 2018-10-10 05:00:05 -07:00
Robert Schumacher
97828a4be0 [vcpkg] Use -fPIC in all builds to enable mixing static libs with shared objects. 2018-07-17 16:09:12 -07:00
Simon Hausmann
929f2d9b9b Make locating the Android NDK configurable (#3754)
Prefer an environment variable and fall back to the previous path if not
set.
2018-07-03 06:20:13 -07:00
Alexander Karatarakis
1d52df8140 Fix toolchain for linux 2018-05-30 17:19:29 -07:00
Arkady Shapkin
f35ff4c8bc [openexr] Fix linux build 2018-05-16 17:26:45 +03:00
Robert Schumacher
58be848276 [vcpkg] Always use -c65001 for the resource compiler on windows. Fixes #3221. 2018-04-10 10:52:19 -07:00
Robert Schumacher
bb054e645d [vcpkg] Don't pass /utf-8 to VS 2013 2018-04-10 10:34:05 -07:00
Robert Schumacher
7142a09344 [vcpkg] Improve non-Windows default triplet detection 2018-03-13 05:56:02 -07:00
Robert Schumacher
ece289b9a6 [vcpkg] Don't set CMAKE_CROSSCOMPILING when targetting Linux-on-Linux 2018-03-11 23:42:54 -07:00
Robert Schumacher
f56a5e4e94 [vcpkg] Improve defaults for other platforms 2018-03-11 23:42:53 -07:00
Robert Schumacher
ad7fa55bb0 [vcpkg] Improve handling of external toolchains. Extract MSVC settings to a separate toolchain file. 2018-03-11 23:42:53 -07:00