while playing with qtbase on x64-uwp i found that it could not pass a
try_compile command since important variables are not correctly
forwarded. As such I concluded that the handling of try_compile in vcpkg
is completely wrong.
#35084 introduced a regression for native ARM Linux builds where the
toolchain would mistakenly try to reference a cross-compiler (e.g.
`aarch64-linux-gnu-gcc`) despite building natively because vcpkg spells
the architecture differently from what the system reports (`arm64` vs.
`aarch64`).
This fixes the issue by checking whether the
`CMAKE_HOST_SYSTEM_PROCESSOR` matches the target (in CMake's spelling of
the architecture).
---------
Co-authored-by: Kai Pastor <dg0yt@darc.de>
When cross-compiling for x86 Linux, the -m32 flag must also be passed to the linker otherwise it complains about trying to link code built for the wrong architecture.
* UWP toolchain fix and update some ports supports expressions for uwp/xbox
* Update baseline
* More ports updated for !xbox
* Update baseline
* Update support expression for ms-gdkx
* Update baseline
* ms-gdkx port should fail on ado system
* Revert change to opengl-registry since its needed for angle on UWP
* Minor github actions cr
* Refresh baseline
* Try adding xbox triplets
* Update for Gaming Command Prompt usage
* Fix directxtk12 shaders for xbox
* Add toolchain for xbox
* Fix ports for feature builds
* Code review feedback
* More code review
* Code review
* WIN32_LEAN_AND_MEAN is too aggressive for many libs
* Normalize GDK variable paths
* Need to leave oldnames.lib as many libs use POSIX names
* More code review feedback
* Remove extra file
* Use of /DEFAULTLIB fixed 41 ports
* Code review feedback
* Added basic xbox supports expression
* Updates for xbox-aware ports
* Update for CMake fixes upstream
* Minor synatx fix
* Fix up merge issues
* Need directx-headers for linux
* Missed one port revision
* Removed VCPKG_TARGET_IS_XBOX from project scope after upstream fixes
* Update baseline
* License updates per github-actions bot
* Update baseline
* Update toolchain to support try_compile for GDK headers
* Update port numbers
* Update baseline
* Don't need directx-dxc for Xbox builds
* Update baseline
* Update hashes
* Code review
* Update baseline
* Refresh hashes for upstream fixes
* Update baseline
* Add ms-gdkx stub port
* Update baseline
* updated ms-gdkx with user-friendly output
* Update baseline
* Code review for the toolchain file
* Update directxkt12 hash
* Refresh baseline
* Update MSBuild integration to select proper triplet for GDK custom platforms
* Update CMake integration to select proper xbox triplet from XBOX_CONSOLE_TARGET
* vcpkg.targets update
* Code review feedback
* Update baseline
* Refresh baseline
* Code review for MSBuild
* Code review for xbox toolchain
* vcpkg.cmake codereview
---------
Co-authored-by: walbourn <chuckw_walbourn@yahoo.com>
* [vcpkg toolchain] Fix CMAKE_CROSSCOMPILING when building on UWP
* [kfr] Set cpu arch to generic to avoid call try_run
* version
* [kfr] Re-fix cross configure issue
* version
* Revert changes about kfr, add kfr:x64-uwp to ci.baseline instead
* version
* Remove VCPKG_LINKER_FLAGS_RELEASE from debug builds, and apply other changes from windows.cmake for consistency.
Co-authored-by: JackBoosY <yuzaiyang@beyondsoft.com>
Co-authored-by: Billy Robert O'Neal III <bion@microsoft.com>
This follows the pattern in the Windows toolchain with respect to
setting VCPKG_CMAKE_SYSTEM_VERSION and also how arm64 macOS can execute
x86_64 through Rosetta.
* [osx] set CMAKE_SYSTEM_PROCESSOR from VCPKG_TARGET_ARCHITECTURE on osx
* [linux] Set CMAKE_ASM_COMPILER and CMAKE_ASM-ATT_COMPILER in case of crosscompile
* [wavpack] migrate to vcpkg_cmake_install
* [wavpack] enable arm builds
* [wavpack] Add license field to vcpkg.json
* [OSX] don't default to 86_64
* [toolchain windows] set CMAKE_SYSTEM_NAME and CMAKE_SYSTEM_PROCESSOR
In specific, I did this for the cpuinfo PR - I realized the reason
that cpuinfo doesn't support arm64 windows cross compilation is because
we don't set CMAKE_SYSTEM_PROCESSOR.
* correctly set CMAKE_CROSSCOMPILING
* start fixin libraries
* more changes:
- gainput: remove line
- glog: remove try_run when cross compiling
- windows.cmake: set CMAKE_SYSTEM_VERSION
* more patches
- mapnik: set BOOST_REGEX_HAS_ICU to avoid check_cxx_source_runs
- orc: set HAS_PRE_1970 and HAS_POST_2038 for same
- seal: change out check_cxx_source_runs for check_cxx_source_compiles
* more changes
* fix x86-windows
* fix qpid-proton, glog
* build corrade-rc
* fix x64-uwp ports
* forgot to _actually_ always build corrade-rc .,.
* Replay #22831
* Dedupe CMAKE_SYSTEM_NAME settings.
* Add quotes for corrade_rc_param
Co-authored-by: Jack·Boos·Yu <47264268+JackBoosY@users.noreply.github.com>
* Update version DB.
Co-authored-by: nicole mazzuca <mazzucan@outlook.com>
Co-authored-by: Billy Robert O'Neal III <bion@microsoft.com>
Co-authored-by: Jack·Boos·Yu <47264268+JackBoosY@users.noreply.github.com>
This change allows for adding a prefix to android overlay ports, which many other systems support already. The android system relies on regex matching of the triplet name to deduce the ABI, so this change just allows for that string to be anywhere in the overlay triplet string.
* Fixed android toolchain with newest NDK
ANDROID_NATIVE_API_LEVEL has been removed from NDK cmake toolchain so we now have to use ANDROID_PLATFORM
* Fix android toolchain: Maintain backward compatibility for older NDK
* compile for android including armv6.
* Update arm-android.cmake
* Update from comment in the PR
support ANDROID_NATIVE_API_LEVEL from env variable. (to be able to compile also 16 and not just 21 as default)
* Add ANDROID_ARM_NEON from env var
* Short version of update ANDROID_ARM_NEON.
* remove ANDROID_NATIVE_API_LEVEL now using vcpkg_CMAKE_SYSTEM_VERSION in triplet
Add cache to ANDROID_ARM_NEON
fix indents
* Update neon triplet
* Add arm-neon-android.cmake file.