Commit Graph

36 Commits

Author SHA1 Message Date
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
Stefano Sinigardi
a5590520f0 [libpng] Strong cleanup of the port (#9198)
* [libpng] strong cleanup of the port

* [libpng] do not install unhandled tools

* [libpng] restore library proper name on windows-static triplets
2019-12-23 15:26:04 -08:00
Phoebe
61dc5580d6 [libpng] Fix CMake targets (#8716)
* [libpng] fix cmake targets

* fix typo issue

* Merge changes from PR#8293
2019-11-25 15:57:43 -08:00
JackBoosY
ff6a725392 [lipng/libpng-apng]Remove port libpng-apng and add apng as a feature with libpng. (#8622)
* [lipng/libpng-apng]Remove port libpng-apng and add apng as a feature with libpng.

* [libpng]Move feature apng operations before download libpng source.

* [libpng]Fix unset patch path.

* [libpng]Re-fix unset patch path.
2019-11-19 11:19:51 -08:00
Kai Blaschke
8887f6c09c [libpng] Replace find_library() with a simple set() for linking libm on UNIX (#8079) 2019-09-13 10:25:09 -07:00
Victor Romero
dc61560b9e
[libpng] Fix find_package() in CONFIG mode (#7968) (#7972)
* Fix find_package(libpng CONFIG)

* Fix typos
2019-08-30 01:15:10 -07:00
Stefano Sinigardi
47d206e149 [many ports] improvements for linux/wsl (#6730)
* [many ports] improve compatibility with WSL and mixed case filesystems

* [treehopper] express dependency on libusb, which was not working on non-win32 platforms and is still broken there

* [libharu] add compatibility with non-win32 platforms

* [geogram] fix openblas on linux
[clapack] better integration with linux environment
[visit-struct] put cmake config file in the expected folder
[geogram] remove trailing underscore to enable compatibility with OpenBLAS

* [openblas] playing with underscore, without success

* [openblas/lapack] fix library integration

* [clapack] improve target handling in cmake module

* [openblas] promote self-generated config to default cmake module, otherwise internal ones thinks wrongly that openblas can also solve lapack libs

* [clapack,openblas] improve libraries integration

* [many ports] fix cmake unnecessary target paths, wrong config paths, empty default dependencies, unnecessary [core] tags

* [suitesparse] improve integration with new lapack/openblas mechanism

* [suitesparse] add no underscore postfix also for linux

* [ceres] fix integration with newer openblas/lapack configs

* [aws-c-event-stream] fix regression

* [systemc] fix regression

* [libwebp,geogram] trigger rebuild

* [libwebp,pthread4w] fix regressions

* [glbinding] fix cmake module installation

* [globjects] disentangle unnecessary dependency from qt5

* [jasper] remove broken and unnecessary patches

* [libwebp] fix regression

* [many ports] avoid using BUILD_SHARED_LIBS which is uninitialized in port files

* [clapack] correctly find dlls

* [clapack] use a generic blas as dependency

* [fizz,g2o] restore expected version

* fix mistake

* [many ports] remove WIN32, APPLE and UNIX (again, they keep creeping in) from ports since they are broken and usually break non-win32 ports

* [libressl,openssl] do not try to build one if the other is already installed

* [itk] update ref and patch to avoid regression

* [libressl,openssl] implement full strategy to fix CI

* [libwebp] disable components that are broken on macOS

* [ogre] enable macOS build

* [freeimage,jxrlib,ogre,openexr,protobuf] port patches from #5169

* [ogre] add missing install command

* [ffmpeg] enable wrapper for cmake module

* [ffmpeg] add avresample module finder

* [ffmpeg] improve module detection and exported symbols

* [ffmpeg] add variables to cache

* [thrift] remove unnecessary build option

* [allegro5] fix shared/static inversion

* [protobuf] cleanup

* [libressl] cleanup

* [moos-core] cleanup

* commented features must not be separated from other features, otherwise vcpkg complains

* [itk] fix regression

* [shogun,itk] fix regressions

* [ogre] fix regression

* [opusfile] add compatibility with non-win32

* [itk] fix regression

* [sndfile,libsndfile] remove duplicate, redirect sndfile to libsndfile

* add missing dependencies

* [ismrmrd] fix regression

* [ffmpeg] trigger rebuild

* [clapack,openblas,libogg] fix regressions on macOS

* [libtins] fix regression

* force rebuild windows regressions, unable to reproduce locally

* [mosquitto] enable non-win32 builds

* [json-dto] force rebuild, unable to reproduce regression locally

* [many ports] uniform naming and path length requests

* fix regression

* fix regression

* [ffmpeg] fixes for downstream projects

* clean up - thanks to reviewers

* trigger rebuild of regressions on macOS

* trigger rebuild of regressions on macOS - part2

* Add core back

* Use VCPKG_CONCURRENCY

* Add core back to suitesparse

* Add core back to curl

* Add core back to magnum

* Add core back to magnum

* Add core back to magnum

* Add core back to cgal
2019-06-20 19:11:54 -07:00
Stefano Sinigardi
d60f874400 [libpng] remove broken patch (#6293) 2019-05-07 10:40:35 -07:00
Robert Schumacher
516d10bb68 [many ports] Updates 2019.04.19 (#6155)
* [many ports] Updates 2019.04.19
2019-04-30 09:20:18 -07:00
Victor Romero
8641dfd9dd
Modify vcpkg_fixup_cmake_targets() (#5459)
* some libraries export <PackageName>LibraryDepends.cmake
instead of <PackageName>Targets.cmake.
Those file also need the fix of #1044

should close #4753

* prefered the general solution #4622.
hopefully solved the issue within #4150
replaced the regex with something more readable
(also ident is lost)

should close:
#4753
#4633
#4150
and maybe more

* Hash vcpkg_fixup_cmake_targets.cmake

* [boost] Fix use of find_package(Boost) with cache variables
[socket-io-client] Fix install

* reversed change back to use regex replace

* [glbinding] Fix _IMPORT_PREFIX depth in *-export.cmake files

* [tinyspline] Ignore warnings treated as errors

* [libevent, liblemon, libpng, smpeg2, zlib] Fix apply patches

* [libsodium] Fix apply patches

* [folly] Link correct libraries in debug and release

* [vtk] Remove unset of _IMPORT_PREFIX

* [tinyspline] Do not treat warnings as errors

* [smpeg2] Fix double* to int comparison

* [nvtt] Define value for HAVE_UNISTD_H in MacOS

* [libui] Fix MacOS X build

* [zlib] Fix download URL

* [qhull] Update to v7.2.1

* [podofo] Set value for HAVE_UNISTD_H in MacOS

* [mongo-cxx-driver,ogre,podofo,qhull] Bump CONTROL version

* [mongo-c-driver] Set _IMPORT_PREFIX

* [tmxparser] Bump CONTROL version

* [qhull,vxl] Bump CONTROL version
2019-02-28 23:53:42 -08:00
Robert Schumacher
bb1bb1c94a Updates 2018.12.14 2019-01-09 12:27:19 -08:00
Robert Schumacher
c3d34e7d8e Upgrades 2018.06.31 2018-08-03 00:09:21 -07:00
Robert Schumacher
ee3183c58a [nana] Fix linux builds; install cmake targets 2018-06-15 14:51:57 -07:00
past-due
0b629c4ff1 [libpng] Fix static build failure when VCPKG_BUILD_TYPE is set 2018-03-19 20:15:49 -04:00
Robert Schumacher
9f9778ccff [many ports] Improve behavior on Linux and general cleanup 2018-03-11 23:42:54 -07:00
Robert Schumacher
22fbd3ac36 [libpng] Remove unneeded CMAKE_SYSTEM_PROCESSOR override 2017-11-25 13:49:51 -08:00
Robert Schumacher
1b2f75be94 [vcpkg] Support \share\<port>\usage to handle libraries which are found through built-in Find Modules. 2017-11-16 23:54:55 -08:00
jasjuang
e2b2f49dc6 [libpng] use vcpkg_from_github 2017-11-07 01:41:19 -08:00
Robert Schumacher
493483f52c [libpng] Add older-releases mirror 2017-11-06 10:53:52 -08:00
Mikhail Paulyshka
054a013bf3 [libpng] update to 1.6.34
https://sourceforge.net/projects/libpng/files/libpng16/older-releases/1.6.33/
https://sourceforge.net/projects/libpng/files/libpng16/1.6.34/
2017-11-05 12:12:32 +03:00
codicodi
3d42bc2be8 [libpng] update to 1.6.32 2017-08-27 14:11:21 +02:00
codicodi
c979a4b1ba [libpng] update to 1.6.31 2017-07-28 01:04:04 +02:00
codicodi
5ab198c4ad [libpng] update to 1.6.30 2017-07-12 19:12:36 +02:00
Robert Schumacher
bfc687284e [libpng] Define CMAKE_SYSTEM_PROCESSOR to avoid double-eval failure 2017-06-19 22:18:19 -07:00
Mikhail Paulyshka
98d98683f3 [libpng] update to 1.6.29 2017-06-20 02:03:27 +03:00
Robert Schumacher
cf93d45879 [libpng] Fix x86-uwp builds 2017-04-07 11:24:14 -07:00
Felix Bytow
50129fba99 Updated libpng port to version 1.6.28 2017-03-09 18:29:51 +01:00
Alexander Karatarakis
1808d461b0 triplet is now automatically included before portfiles.
Also remove trailing whitespaces from portfiles
2016-11-08 14:25:47 -08:00
Alexander Karatarakis
71594b6bef Remove portfile branching of vcpkg_copy_pdbs() 2016-10-31 12:34:04 -07:00
Alexander Karatarakis
50fb104f6a Change VCPKG_BUILD_SHARED_LIBS to VCPKG_LIBRARY_LINKAGE with values
dynamic or static
2016-10-07 16:34:31 -07:00
Robert Schumacher
b1fe038a83 Remove use of vcpkg_build_cmake() across all portfiles. Fixes #123 2016-10-06 15:29:37 -07:00
Alexander Karatarakis
b54881eacc [libpng] Add static library building 2016-10-06 13:15:43 -07:00
Ninetainedo
930d0a7ded URL and MIRRORS are now URLS
Updated all portfiles accordingly.
2016-09-25 00:23:04 +02:00
Ninetainedo
8cee9c6e07 Replaced everything concerning MD5 with SHA512 2016-09-22 21:30:58 +02:00
Alexander Karatarakis
fe62b41085 Improve libpng portfile 2016-09-19 16:49:44 -07:00
Alexander Karatarakis
ccca198c1b Initial commit 2016-09-18 20:54:03 -07:00