* [vcpkg] vcpkg_configure_meson: cross-compile fixes
This change includes two fixes to the meson cross-compile config.
The first change fixes the regex used to partition linker flag
options so that it supports double-hyphen prefixes.
The second change ensures that the cross file is always generated
when the target platform is either Android or iOS, even if the
host and target CPU architectures are the same.
* Use helper function instead of regex replace
Use vcpkg_internal_meson_convert_compiler_flags_to_list to partition
compiler flags into a list, instead of string(REGEX REPLACE ...).
* vcpkg_configure_meson: Support macOS cross-compile
* Update scripts/cmake/vcpkg_configure_meson.cmake
Co-authored-by: Alexander Neumann <30894796+Neumann-A@users.noreply.github.com>
* Use adapted regex instead, utilize for native file config as well
Co-authored-by: Alexander Neumann <30894796+Neumann-A@users.noreply.github.com>
Co-authored-by: Alexander Neumann <30894796+Neumann-A@users.noreply.github.com>
* [mesa] new port
* make mesa build more.
* more fine tuning
* fix x86
* add supports.
* comment about EGL feature.
* apply suggestion from CR.
added opengl feature.
error on disabled shared glapi if multiple GL APIs are selected.
* fix boolean option
* make sharedgl-api=true the hardcoded default
* add suggestion from CR
* add mesa:x64-windows-static=fail to ci.baseline.txt due to static crt and parts being a dynamic library.
* apply CR sugesstion
Co-authored-by: PhoebeHui <20694052+PhoebeHui@users.noreply.github.com>
* [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
* Update meson to a recent commit to fix a bug with 0.56
* rename static libraries built by meson by default on windows
* apply cmake variables detection to meson.
use native/cross files
make arm builds work.
* update munit
* fix fribidi
* fix _FLAGS variables
* set env SDKROOT and MACOSX_DEPLOYMENT_TARGET in configure_meson
* need osx env while building and configuring
* - remove unused env backup functions
- rename internal functions to be prefixed with _vcpkg_
- fix VCPKG_CHAINLOAD_TOOLCHAIN_FILE for ios/freebsd
* replace _vcpkg with vcpkg since _ has special meaning in functions
* rename functions to vcpkg_internal_meson_generate
* update control tool-meson
* 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/
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