Commit Graph

47 Commits

Author SHA1 Message Date
Daniel Schürmann
8ca9b2b84c
[wavpack] arm support (#21790)
* [osx] set CMAKE_SYSTEM_PROCESSOR from VCPKG_TARGET_ARCHITECTURE on osx

* [linux] Set CMAKE_ASM_COMPILER and CMAKE_ASM-ATT_COMPILER in case of crosscompile

* [wavpack] migrate to vcpkg_cmake_install

* [wavpack] enable arm builds

* [wavpack] Add  license field to vcpkg.json

* [OSX] don't default to 86_64
2022-04-29 11:42:37 -07:00
nicole mazzuca
9ccd693f1b
[toolchain windows] set CMAKE_SYSTEM_PROCESSOR (#24100)
* [toolchain windows] set CMAKE_SYSTEM_NAME and CMAKE_SYSTEM_PROCESSOR

In specific, I did this for the cpuinfo PR - I realized the reason
that cpuinfo doesn't support arm64 windows cross compilation is because
we don't set CMAKE_SYSTEM_PROCESSOR.

* correctly set CMAKE_CROSSCOMPILING

* start fixin libraries

* more changes:

- gainput: remove line
- glog: remove try_run when cross compiling
- windows.cmake: set CMAKE_SYSTEM_VERSION

* more patches

- mapnik: set BOOST_REGEX_HAS_ICU to avoid check_cxx_source_runs
- orc: set HAS_PRE_1970 and HAS_POST_2038 for same
- seal: change out check_cxx_source_runs for check_cxx_source_compiles

* more changes

* fix x86-windows

* fix qpid-proton, glog

* build corrade-rc

* fix x64-uwp ports

* forgot to _actually_ always build corrade-rc .,.

* Replay #22831

* Dedupe CMAKE_SYSTEM_NAME settings.

* Add quotes for corrade_rc_param

Co-authored-by: Jack·Boos·Yu <47264268+JackBoosY@users.noreply.github.com>

* Update version DB.

Co-authored-by: nicole mazzuca <mazzucan@outlook.com>
Co-authored-by: Billy Robert O'Neal III <bion@microsoft.com>
Co-authored-by: Jack·Boos·Yu <47264268+JackBoosY@users.noreply.github.com>
2022-04-29 11:40:30 -07:00
Alexander Neumann
05c93c5c5a
[Fix uwp toolchain|world rebuild] make ninja work for uwp (#22831) 2022-04-27 18:12:48 -07:00
Geoff Evans
75ad7f54db
[scripts/toolchains/android.cmake] Remove start-of-string regex check for overlay triplet name matching. (#20059)
This change allows for adding a prefix to android overlay ports, which many other systems support already. The android system relies on regex matching of the triplet name to deduce the ABI, so this change just allows for that string to be anywhere in the overlay triplet string.
2022-01-31 21:14:16 -08:00
Christophe Calmejane
be65fbbf75
Fixed android toolchain with newest NDK (#21465)
* Fixed android toolchain with newest NDK
ANDROID_NATIVE_API_LEVEL has been removed from NDK cmake toolchain so we now have to use ANDROID_PLATFORM

* Fix android toolchain: Maintain backward compatibility for older NDK
2021-12-06 20:15:20 -08:00
talregev
b8dbf43b08
[vcpkg] [Android]Compile armv6 with arm mode (#17962)
* Compile amrv6 with arm mode

* Update android.cmake
2021-06-07 11:33:48 -07:00
talregev
27fe7a50db
Compile for android including armv6. (#16847)
* compile for android including armv6.

* Update arm-android.cmake

* Update from comment in the PR
support ANDROID_NATIVE_API_LEVEL from env variable. (to be able to compile also 16 and not just 21 as default)

* Add ANDROID_ARM_NEON from env var

* Short version of update ANDROID_ARM_NEON.

* remove ANDROID_NATIVE_API_LEVEL now using vcpkg_CMAKE_SYSTEM_VERSION in triplet
Add cache to ANDROID_ARM_NEON
fix indents

* Update neon triplet

* Add arm-neon-android.cmake file.
2021-05-05 13:32:47 -07:00
Long Nguyen
08c867c52a
[mingw] Remove executable extension on non-Windows hosts (#15282) 2020-12-26 22:19:16 -08:00
Long Nguyen
0e05a1f629
[mingw] Use find_file to find compiler, fall back to unprefixed windres if the prefixed version doesn't exist (#15179) 2020-12-21 09:01:18 -08:00
Joakim L. Gilje
d9633d939c
[vcpkg] initial openbsd (community) support (#14549)
* initial openbsd support in vcpkg

* after clang-format

* hardcoded in the preferred compiler for openbsd in bootstrap scipt (thanks @tormfinn)

* Fetch a patched pkg-config because openbsd pkg-config lacks {fcfiledir}

* fixes from review feedback

* corrected hash for pkg-config.openbsd

* re-added missing endif()

* regenerate docs

* Update scripts/cmake/vcpkg_configure_meson.cmake

Co-authored-by: Nicole Mazzuca <mazzucan@outlook.com>
2020-11-23 09:43:23 -08:00
Christophe Calmejane
ef77f3c99f
[vcpkg android] Fix for issue #11927 (#14625)
Allow selection of Android SDK platform version from triplet file.
2020-11-18 15:45:05 -08:00
Long Nguyen
6edef9f1f6
Add compiler executable name into toolchain file (#14269) 2020-10-30 12:43:59 -07:00
xyb
5e4d2fab86
[vcpkg] Support cross compile arm64-linux, arm-linux triplets on linux (#13374)
x86_64 host.
2020-10-30 12:15:40 -07:00
xyb
27a2418e91
[vcpkg] CMAKE_SYSTEM_PROCESSOR is missing if VCPKG_TARGET_ARCHITECTURE is arm or arm64. (#13465)
This change tries to fix issue #13395.

Root cause:
In script mode, cmake won't populate CMAKE_SYSTEM_PROCESSOR parameter automatically. That parameter is
required by libpng to configure build parameters. To fix this issue, we need explicitly set CMAKE_SYSTEM_PROCESSOR
value.

Verify:
On arm64-linux host, run `./vcpkg install tesseract:arm64-linux`.
2020-10-17 02:12:49 -07:00
Paul
6c7f2d95d8
11129: Add VCPKG_LINKER_FLAGS_<CONFIG>. (#11290)
Co-authored-by: Nicole Mazzuca <mazzucan@outlook.com>
Co-authored-by: JackBoosY <yuzaiyang@beyondsoft.com>
Co-authored-by: Billy Robert O'Neal III <bion@microsoft.com>
2020-09-03 11:00:35 -07:00
Christophe Calmejane
60bb798ceb
[vcpkg] Improving android support (#12634)
* Fix for Android compilation
See https://github.com/microsoft/vcpkg/issues/5809

* Allow for custom android triplets. Fallback to Xamarin installed NDK.

* Increased Port-Version for boost-modular-build-helper

* More restrictive matching pattern for android toolchain
2020-08-07 16:14:05 -07:00
Jamie Kydd
a17543d840
Fix android toolchain so it correctly adds -fPIC flag (#12097)
(cherry picked from commit 497fe8ab805bcafd2cb2abd538db8783f897f9ad)
2020-07-31 10:46:26 -07:00
alcroito
f1fbee87db
[vcpkg] Fix iOS toolchain detection when using the iOS community triplets (#12361)
* [vcpkg ios] Fix detection of iOS toolchain (#6003)

Added mapping of CMAKE_SYSTEM_NAME == iOS to the bundled iOS toolchain
file.

This fixes the "Unable to determine toolchain to use for
triplet arm64-ios with CMAKE_SYSTEM_NAME iOS" error.

* [vcpkg ios] Set the CMake system processor for the simulator arches (#6003)

So it's consistent for all architectures.
2020-07-13 14:13:44 -07:00
Alexander Neumann
c704058346
[vcpkg] Add nologo to windows toolchain (#11146)
* add nologo to windows toolchain

* bump control of one cmake port for ci testing

* [scripts] add nologo to _DEBUG flags

* revert version bump
2020-06-11 13:43:24 -07:00
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