* [vcpkg] Add new function vcpkg_copy_tools
* [cpuinfo][czmq][nanomsg][uriparser] Use vcpkg_copy_tools
* [czmq] Clean even tools are not copied
[libsvm][zyre] Use vcpkg_copy_tools
* [vcpkg-copy-tools] Clean debug/bin
This should fix czmq build error
* [czmq] czmq does not have BUILD_TOOLS option
* [vcpkg] Split clean logic into another function
* [cpuinfo][czmq][nanomsg][uriparser] Fix calling of vcpkg_copy_tools
* [zyre] Fix regression error
* [vcpkg] Update try_remove_empty_directory
* [libsvm] Fix vcpkg_copy_tools call
* add new function vcpkg_fixup_pkgconfig
* make message with changed files a debug_message
* add two more cases to the debug *.pc files
* comment out prefix.
use --define-variable=prefix=INSTALL_PATH
* changed the comment header.
* add missing word
* finish vcpkg_fixup_pkgconfig.cmake
* Update vcpkg_fixup_pkgconfig.cmake
Note: since CMake is run in script mode the description of VCPKG_FIXUP_PKGCONFIG_CALLED cannot be viewed
* transfer changes from x windows pr
* fix typo in regex
* make the regex comment aware
make pc files relocatable by using ${pcfiledir} in prefix
tested with x window pr
* 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
* fix configure meson for non windows builds.
* change to the two ports using meson
* fix passing of empty compiler arguments.
* dont transform / into - for all flags
* copy meson logs into the buildtree to better diagnose CI errors of meson ports
* another change to the two ports to actually force a CI rebuild
* add missing /pkgconfig dir to PKG_CONFIG_PATH
* fix pkgconfig setup
* add share/pkgconfig to PKG_CONFIG_PATH
* Add CMake path to PATH for meson
* add share folder to prefix for meson
* remove double message
* add libdir so that meson does not install into architecture folder in linux
and make prefix path target dependent. (Or should it be host dependent?)
* bump controls
* update toolchain selector to use VCPKG_TARGET_IS_<paltform>.
* change pkgconfig prefix and path.....
meson is not correctly handling native windows paths and eating "\"
PKG_CONFIG_PATH also nees : to correctly separate paths
Prefix still must be near to native path but with / instead of \ C:/somepath/
* vcpkg_from_git: Add support for git over ssh
* vcpkg_from_git: append ssh bin directory to path
* vcpkg_from_git: fix function signature on non windows platforms
* Revert "vcpkg_from_git: fix function signature on non windows platforms"
This reverts commit 0d608ee591.
* Revert "vcpkg_from_git: append ssh bin directory to path"
This reverts commit 377ce3fae1.
* Partial Revert "vcpkg_from_git: Add support for git over ssh"
This partially reverts commit 9b81b16c4c.
Co-authored-by: Marc Boucek <marc.boucek@native-instruments.de>
Co-authored-by: Marc Boucek <marc.boucek@posteo.net>
Resolves#10322
* Update MSYS2 download source. Resolve#10322
Proposal to resolve https://github.com/microsoft/vcpkg/issues/10322
* Use Sourceforge as MSYS2 download source (up to SF to choose mirror, fair to everyone and more reliable)
* Updated msys2 version to 2019-05-24 (Otherwise need to spend extra time on ```pacman -Syu```)
* Updated SHA512 accordingly
* Tested with building icu:x64-windows
* add official repo as backup
* 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>
* Update the repo for jom 1.1.3
- The qt repo is unreliable, often down. Use the Berkeley mirror instead.
* Set two possible URLs for JOM v1.1.3
* Update indent to match coding style
Only the current and the previous version of doxygen can be downloaded
from: http://doxygen.nl
Sourceforge provides the current version and any previously released
versions for download: https://sourceforge.net/projects/doxygen/files/
Add sourceforge as alternative download URL. This avoids situations,
when the version of doxygen in vcpkg is n-2 and cannot be downloaded
any more, see e.g. commit: 526f937580
* 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
* Fix static qt5 builds and ignore system qmake
closes#9234 and #9239
* fix angle conflict and icu dependency
* add egl-registry as a dependency
* remove space
* adding spaces resolved the problem
* move files only if they exist
* Update the Wrapper to use the Postgres target
fixes some observed linkage issues
* update baseline
* add fontconfig on linux so CI is less flaky in a full rebuild
* fix linkage dependent qt5-imageformats libs
* Fix Wrapper for Linux and add other platform libs to Qt5::Core
* fix plugin properties in cmake files
* fix cmake files.
* fix missing plugin qminimal deployment into tools dir
* change wrapper slightly
* UNIX also means APPLE so it needs to be excluded
* fix the static windows build
* mark the parts of fixcmake which require further work to work with single configuration builds
* Update ci.baseline.txt
make qt5-tools pass for CI testing
* fix last regression
* break auto fontconfig in configure script to fix qt5-tools
* update baseline
* enable verbose to debug ci
* try to help it instead of breaking it
* completly link icu
* try to fix fontconfig configure
* fix configure call. cannot be called with a list!
* remove invalid line from patch
* force icu and reduce the required icu libs according to the configure script
* fix icu linkage
* add more icu dependencies and names for windows
* add more icu libs. Seems like all are needed
* fix typo
* print icu libs in debug
* check releasenames
* try again
* change link order
* add icu to wrapper
* fix typo
* patch icu configure for static windows builds
* add other icu libraries to the icu patch
* fix icu in x64-windows-static
* update baseline. VTK builds in local WSL so it should work in CI
* update VTK control to force rebuild
* remove qt5-tools=pass from baseline
* remove qcustomplot:x64-linux=fail from baseline
Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
* [vcpkg_install_qmake] Add vcpkg_install_qmake and convert existing ports to use it.
[vcpkg_configure_qmake] Add 'staticlib' to CONFIG in static builds
* [vcpkg_configure_qmake] Don't specify DESTDIR
* [libqglviewer][vcpkg_configure_qmake] Add staticlib CONFIG only for libqglviewer
* [qt5-base] Increment version to track changes in vcpkg_configure_qmake()
* Fix separate make and install execution error issue.
* trigger CI system.
* Fix multiple copy files under debug, fix separator between make and install in linux.
Removing the compiler flag /Oi (Generate Intrinsic Functions) allows
meson to detect functions like memmove, memset correctly. This is
relevant to meson configure for fribidi (see fribidi/meson.build).
This fixes the following "issues" (from fribidi meson-log.txt):
testfile.c(17): error C2168: 'memmove': too few actual parameters for
intrinsic function
Checking for function "memmove" : NO
testfile.c(17): error C2168: 'memset': too few actual parameters for
intrinsic function
Checking for function "memset" : NO
And enables detection of the functions:
Checking for function "memmove" : YES
Checking for function "memset" : YES
* forward extra arguments to vcpkg_configure_qmake from submodules
* make image format dependent on tiff and libwebp
* make tools dependent on imageformat
* build options must be passed a bit different then normal qmake options
* add the required dependencies
* a new dependency discovered in qt5-declarative
* need webpdemux also
* qt5-declarative is dependent on imageformats so we can drop it here
* remove empty qt.conf if it exists. closes#8180
* add all recommended dependencies as dependencies in control.
* [vcpkg] add missing implib definitions, fix shared lib extension on mac
(cherry picked from commit 2cddef9541)
* Better find_library suffixes and prefixes.
* moved additional suffix into a comment and reverted back to what is expected on windows
* updated documentation for add variables.
* - Added scripts variable to ports file.
- Added check if triplet file is not available (NPE).
* - Fixed line endings.
* Provide location of .vcpkg-root to ports.cmake
* vcpkg sets VCPKG_ROOT_PATH in ports.cmake
* [vcpkg] Fail if VCPKG_ROOT_PATH is not passed from vcpkg.exe
* [vcpkg] Fix vcpkg rooth path
* [vcpkg] Make --x-scripts-root an experimental command
* update to 5.12.4
* removed port qt5-modularscripts and split it functionality into more functions into qt5-base
* added qt_port_hashes.cmake for simpler upgrade.
* added optional VCPKG_QT_HOST_MKSPEC and VCPKG_QT_TARGET_MKSPEC to select QTs build mkspecs from a triplet
* qt_<config>.conf are now copied from the build dir instead from the port dir
* fixed freetype dependencies.
* cleanup of vcpkg_qmake scripts. No strange/unclear replacements anymore.
* introduced vcpkg_buildpath_length_warning
* changed directory layout of the qt5 installation executables and mkspecs a bit.
* [portfile functions] Override execute_process() to accept ALLOW_IN_DOWNLOAD_MODE option
* [vcpkg install] Set VCPKG_DOWNLOAD_MODE when using --only-downloads option
* [vcpkg_find_acquire_program] Allow in Download Mode
* Don't stop when build fails for a package
* Download sources for all packages in dependency graph
* Improve output messages
* Enable acquiring MSYS packages in download mode
* Documentation
* Update documentation
* execute_process() always fails on Download Mode
* Regenerate docs and fix formatting
* Run clang-format
* Use _execute_process on vcpkg_from_<source> helpers
* Fix calls to _execute_process() when not in Download Mode
* [portfile functions] Override execute_process() to accept ALLOW_IN_DOWNLOAD_MODE option
* [vcpkg install] Set VCPKG_DOWNLOAD_MODE when using --only-downloads option
* [vcpkg_find_acquire_program] Allow in Download Mode
* Don't stop when build fails for a package
* Download sources for all packages in dependency graph
* Improve output messages
* Enable acquiring MSYS packages in download mode
* Documentation
* Update documentation
* execute_process() always fails on Download Mode
* Regenerate docs and fix formatting
* Run clang-format
* Use _execute_process on vcpkg_from_<source> helpers
* [vcpkg_check_features] Set OUT_EXPAND_OPTIONS explicitly
* [vcpkg_check_features] Allow reverse logic for features
* [vcpkg_check_features] Document new parameters
* [vcpkg_check_features] Remove unnecessary logging
* Do not create variables for each feature only set OUT_FEATURE_OPTIONS
* Improve documentation
* Update ports that use vcpkg_check_features()
* Missing documentation updates
* [pcl] Fix tools feature
* [opencv,opencv4] Fix usage of vcpkg_check_features()
* [opencv4] Fix typo
* added function vcpkg_fail_port_install to fail the portfile under requested circumstances and display a standarized failure message
* added always option.
* fix linux regressions
* bump control for ci tu rerun
Setting a variable in PARENT_SCOPE will not make the variable also visible in
current scope, which, as a result, causes FEATURE_OPTIONS to be set incorrectly.
* [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
* Introduce an easier way to identify target systems...
* fix missing ()
* move the include around.
also added vcpkg_common_functions to be automatically included
* remove warning message
* added remaining VCPKG_CMAKE_SYSTEM_NAMEs found only in vcpkg_configure_cmake to load a toolchain.
* remove warning again from messed up merge
* [scripts] Fix vcpkg_fixup_cmake on non Windows platforms
Script was only handling tools executables ending with .exe.
Changed it so anything under /bin/ in transformed.
This fixes for instance FlatcTargets-release.cmake from flatbuffers
port on osx.
* [vcpkg] update python3 to 3.7.3 on windows
* Update scripts/cmake/vcpkg_find_acquire_program.cmake
Co-Authored-By: Bradley Austin Davis <bdavis@saintandreas.org>