Avoid wrong use of popular but ambiguous variables (`WIN32` etc.) in
scripts and portfiles by detection in CI.
Sometimes the variables are used wrongly, and sometimes this isn't
caught in PR review. This PR tries to catch those variables (when in the
active code path in script mode). [This can happen to every
contributor](https://github.com/microsoft/vcpkg/pull/34356#discussion_r1360074122),
even if he/she knows the rules ... vcpkg is raising the bar higher than
usual, having to deal with targets and hosts even in script mode.
(`b2-options.cmake` (boost fragment) shows where we get if we don't pay
attention: the same code being used in script mode (`WIN32` meaning
host) and in project mode (`WIN32` meaning target).)
The new check doesn't break any user builds because it relies on command
line options. However it changes the ABI hashes.
msys2-runtime no longer supports Windows 7 since version 3.5.
msys2-runtime-3.4 is the replacement for user who cannot upgrade. YMMV.
autoconf-wrapper is not updated, cf. #36774.
pkgconf is not updated, waiting for 2.2.
* Limit CI
* Update msys2
* Declare msys packages for pkgconfig and fortran...
... with explicit DEPS and PROVIDES, instead of using DIRECT_PACKAGES.
This change makes it possible to notice changed dependencies
in `vcpkg-ci-msys2` update checks. (Current case: zstd.)
It also enables reuse of general declarations from `vcpkg_acquire_msys`
in specialized cases (`vpckg_find_fortran`).
Last not least, using the the Z_DECLARE_EXTRA_PACKAGES_COMMAND
simplifies the implementation of `vcpkg-ci-msys2`, in particular for
checks across platform boundaries.
* Revert "Limit CI"
* [docs] Delete embedded documentation in favor of docs/
Drive-by for the helper ports:
1. "documentation": "https://vcpkg.io/en/docs/README.html"
2. "license": "MIT"
3. Use `include_guard(GLOBAL)` in all script files
4. Make sure any persistent variables are saved to the cache
* [docs] Restore empty regenerate.ps1 to satisfy Azure Pipelines
* [docs] PR comments
* [vcpkg docs] Change how documenting port functions works
Instead of using `##`, use comment blocks for documentation.
Also, add some minor docs and change RST -> MD
so we actually get docs generated.
* add CI stuff
* regenerate docs
* fix vcpkg_find_acquire_program to not use _execute_process
* wip
Apply suggestions from code review
Co-authored-by: Alexander Neumann <30894796+Neumann-A@users.noreply.github.com>
* [vcpkg_acquire_msys] Trim list of packages. Introduce defaults.
* [behaviortree-cpp] Fix dynamic dependency on ZMQ
Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
Co-authored-by: Alexander Neumann <30894796+Neumann-A@users.noreply.github.com>
Co-authored-by: Billy Robert O'Neal III <bion@microsoft.com>
* [vcpkg_find_acquire_program] add version check for ninja
* Change VERSION to NINJA_VERSION
* Missed VERSION change
* some more corrections
* add missing PACKAGES parameter
* add osx hash
Co-authored-by: Wolfgang Stöggl <c72578@yahoo.de>
* Remove apt/brew package names
Co-authored-by: ras0219 <533828+ras0219@users.noreply.github.com>
* move supported around and disable it for freebsd
* fix small command hickup which does not matter for ninja
Co-authored-by: Wolfgang Stöggl <c72578@yahoo.de>
Co-authored-by: ras0219 <533828+ras0219@users.noreply.github.com>
* [vcpkg/script] add vcpkg_find_fortran
* [openblas] add pkg-config fixes
* [lapack] add lapack-reference and reduce dependency on clapack
* fix build issues
* dont touch any main files
* move toolchain var into parent scope
* fix a few more issues
* create link in the noblas case
* removed unnecessary check handled by vcpkg_find_fortran.
* move dumpbin check
* fix last issue
* depend on openblas
* set cmake_binary_dir so that compiler id run gets put into buildtree.
* more paths
* add missing PARENT_SCOPE
* ws change
* [mlpack] remove dep on clapack
* comment out patches
* remove openblas again
* Install lapack wrapper since it is missing linkage against -lm and -lgfortran
* PREPEND mingw path to make sure cmake picks it up correctly
* depend on openblas also on osx
* add clapack on windows to skip due to conflicting library installs
* add clapack to skip on linux
* add -fPIC as a fortran compiler flag
* do not add the flag on windows
* add gcc explicitly to the cmake args.
* ws change
* applyrequested changes from CR
* fix the failing patch