* [vcpkg docs] add docs for manifest files
These are just for the maintainer docs,
not user docs.
* [vcpkg] EBNF-ify platform expression parsing
this modifies nothing about what strings are accepted or rejected,
it just moves stuff around.
also adds tests.
* [vcpkg docs] add manifest mode example
* [wip] docs for augustin
also fix tabs
* [vcpkg manifest] switch to using maps for features
* Apply suggestions from code review
* un-experimentize format-manifest
* flesh out the user manifest mode docs
* CRs
* billy CRs
* final personal pass-thru
* [vcpkg] Pass CMAKE_DISABLE_SOURCE_CHANGES to all ports by default
* [docs] Regenerate
Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
Co-authored-by: Billy Robert O'Neal III <bion@microsoft.com>
* Un-.gitignore /triplets/community and use an absolute glob for all non .gitignore'd triplets.
* Fix vcpkg_check_linkage.md example to a port that actually uses vcpkg_check_linkage.
* Exclude all of the community directory.
* Update .gitignore
Co-authored-by: nicole mazzuca <mazzucan@outlook.com>
Co-authored-by: nicole mazzuca <mazzucan@outlook.com>
* [vcpkg] Track hashes of cmake script helpers in consuming portfiles
* [vcpkg] Format
* [vcpkg_find_acquire_program] Use cpkg_from_sourceforge for FLEX and BISON
Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
* [ignition-plugin1] Add new port
* vcpkg_fixup_cmake_targets: Add DO_NOT_DELETE_PARENT_CONFIG_PATH
By default the vcpkg_fixup_cmake_targets script remove the parent
path of CONFIG_PATH if it named "cmake", this behaviour is not convenient
for ports that install more than one CMake package config file, and
for which vcpkg_fixup_cmake_targets is invoked multiple times.
To optionally disable this behaviour, this commit adds the option
DO_NOT_DELETE_PARENT_CONFIG_PATH to vcpkg_fixup_cmake_targets.
* [ignition-modularscripts] Add support for ignition libraries that install multiple CMake package config files
Some ignition libraries install several CMake package config files,
to represent the different components of the library. This commit modifies
the ignition_modular_library function to fixup correctly all the cmake package config files.
* vcpkg_fixup_pkgconfig: Move definition of SYSTEM_LIBRARIES to vcpkg_common_definitions
To correctly validate installed pkg-config files, vcpkg_fixup_pkgconfig needs to know
for each platform which libraries are not managed by vcpkg. This commits improve this
definitions for all the triplet supported by vcpkg, and move this definition to vcpkg_common_definitions
in a way that permit custom triplets to overload its value.
* add x86-wasm.cmake to community triplets
The EMSDK enviroment variable is normally defined when first installing Emscripten.
* Rename x86-wasm.cmake to wasm32-emscripten.cmake
* Update wasm32-emscripten.cmake
* Update wasm32-emscripten.cmake
* Add wasm32 and wasm64 arch to docs
* Create wasm64-emscripten.cmake
* remove wasm64
* Delete wasm64-emscripten.cmake
* Add wasm32 to list of identifiers
* add emscripten VCPKG_CMAKE_SYSTEM_NAME support
* add path check to EMSDK cmake toolchain
* [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
* 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>
* 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>
* [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()
* [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
* [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
* [control file] Add optional 'Homepage' tag
This allows a 'Homepage' tag to be added to a port in order to support
changes such as PR #2933. It currently does not do anything with it.
* [docs]
Add Homepage to the control file documentation
* move urls from descriptions to homepage field.
* Add headers to vcpkg_download_distfile
Allows headers to be appended when downloading a distribution. This allows for setting
authentication headers to download from a private repository.
* [scripts,docs] Regenerate docs for portfile functions
* [docs,scripts] Fix typo regressions
* [docs,scripts] Fix broken link