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.
Previously the REQUIRED flag made CMake fail with an error if
`powershell` wasn't found on line 193. This prevented the `else` block
on lines 197-198 from ever running.
Only take the COMPONENT part for the runtime settings like we
already do for the DESTINATION component. The install local dependencies
should only need to be run for RUNTIME components anyway.
When running CMake 3.21 or newer in trace or debug mode, vcpkg.cmake
would trigger the CMP0126 warning for VCPKG_MANIFEST_DIR and
VCPKG_INSTALLED_DIR.
The regular variable was used to set the initial value of the cache
variable of the same name. This patch adds the regular variables
Z_VCPKG_MANIFEST_DIR_INITIAL_VALUE and
Z_VCPKG_INSTALLED_DIR_INITIAL_VALUE that are used to initialize their
respective cache variables.
* 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.cmake] fix find_package not restoring variables correctly.
* bit of formatting
* wording
* remove unused variable
* add extra spaces
* remove OUTPUT_FORMAT DECIMAL for older cmake version
Co-authored-by: Billy O'Neal <bion@microsoft.com>
The deployment script works with Python 2 and 3. On modern macOS machines
Python 2 may not be available. Find either version and use it.
Co-authored-by: Lily Wang <494550702@qq.com>
* Audit use of TO_NATIVE_PATH.
TO_NATIVE_PATH should only be used when (1) pasting a path into a command line, or (2) displaying a path to a user. It must not be used before calling other CMake operations like file(WRITE.
Fixes https://github.com/microsoft/vcpkg/issues/26178
ports/ffmpeg/portfile.cmake:
Both uses are being embedded into a command line ✅
ports/gdal/dependency_win.cmake
117: This used TO_NATIVE_PATH but didn't actually connect the result. It's going on a command line so TO_NATIVE_PATH is appropriate.
Drive by: Added quotes around other uses (all of which seem to be going to command lines).
202: ${EXPAT_LIBRARY_REL} ${ZLIB_LIBRARY_REL} don't seem to be set even though they are used; I think this is wrong but I don't know for sure that it is so I'm leaving it alone for now.
ports/msmpi/portfile.cmake
All 3 uses are being embedded into a command line ✅
ports/jemalloc/fix-utilities.patch
ports/libproxy/fix-dependency-libmodman.patch
ports/qtbase/env.patch
These are in upstream content / context so it is not edited.
ports/opengl/portfile.cmake
Broken! Drive by fixes:
* Modernized checking VCPKG_BUILD_TYPE
* Ordered things consistently to be release then debug.
* Removed funny newlines.
ports/openni2/portfile.cmake
Borderline OK; it goes into an MSBuild / vcxproj. I'm leaving it alone. Drive by fixes:
* Guarded debug-only copies for VCPKG_BUILD_TYPE
* Fixed supports expression
ports/openssl/unix/CMakeLists.txt:
Unused!
ports/pthreads/portfile.cmake:
Both uses are being embedded into a command line ✅
ports/qt5-base/cmake/qt_fix_makefile_install.cmake
I'm not sure if this one is OK but it's being embedded into a file so it's probably fine.
ports/qtapplicationmanager/portfile.cmake:
I'm pretty sure this one is wrong, but it's guarded by VCPKG_TARGET_IS_WINDOWS so the ability to create damage is limited.
ports/readosm/portfile.cmake:
The use is being embedded into a command line ✅
ports/spatialite-tools/portfile.cmake:
The use is being embedded into a command line ✅
ports/sqlcipher/portfile.cmake:
Both uses are being embedded into a command line ✅
scripts/ports.cmake:
Some uses were unused, others are immediately used and printed to the console. ✅
scripts/buildsystems/vcpkg.cmake:
Fixed :)
scripts/cmake/vcpkg_build_qmake:
Looks unused.
scripts/cmake/vcpkg_build_process.cmake:
Added to console message only. ✅
scripts/cmake/vcpkg_execute_required_process_repeat.cmake:
Added to console message only. ✅
Drive by: Fixed typo in variable name in the message.
scripts/cmake/vcpkg_execute_required_process.cmake:
Added to console message only. ✅
* Fix missing license.
* more filtering of tool paths.
* test it in CI
* only use tools/* and tools/*/bin
* debugging
* test removal of tools/* if tools/*/bin is available
* fix variable naming
* cleanup
* revert ports/qtdeclarative/portfile.cmake
* Trigger some test ports from vcpkg.cmake changes
* Bump test port version
* Revert "Bump test port version"
* Use old toolchain version for parent hashes
* Add ABI hashing note to vcpkg.cmake
* Test vcpkg.cmake with cmake instead vpckg-ci-paraview
* use vcpkg provided libs before system frameworks on macOS, remove now unnecessary mod to giflib
* fix references
* fixes from review
* apply fixes from review - remove warnings too!
* [giflib] add license
* fix references
Co-authored-by: Victor Romero <viromer@microsoft.com>
* Use host tools by default.
* use GLOB_RECURSE and filter the result
* be positiv ;)
* give me debug output
* Revert "give me debug output"
This reverts commit 17737bceda8ed0dbe1a60c2fd831a55e53707dcd.
* remove unnecessary if(IS_DIRECTORY)
Co-authored-by: Alexander Neumann <you@example.com>
* Change minimum CMake version to 3.7.2.
This moves our oldest supported Linux back up to today minus 5 years, Debian 9 from 2017 comes with 3.7.2.
* Enable more policies.
* [vcpkg.cmake] move timestamp file into binary dir. Otherwise CMake errors on reconfigure if _VCPKG_INSTALLED_DIR is a subdir of CMAKE_SOURCE_DIR and not within CMAKE_BINARY_DIR if in source changes are forbidden
* remove the cmakestamp.
* [vcpkg] Support VS2022 17.0
* small changes
* Update vcpkg.cmake
* Update the baseline version
* Update the baseline version
* Update the baselin version
* Adress the review suggestions
Co-authored-by: Billy Robert O'Neal III <bion@microsoft.com>
CMAKE_HOST_SYSTEM_PROCESSOR is set to amd64 on x86-64 FreeBSD systems.
CMake's STREQUAL gives a case-sensitive comparison so this case was
missed during bootstrapping when using vcpkg as a submodule.
* [openssl] Add cmake wrapper to handle OPENSSL_ROOT_DIR
* Get the abs path
* update version record
* apply suggestion.
* Clean up openssl related code, move to openssl wrapper.
* update version record
* [kf5holidays] Disable parallel configure
* update version record
* update version record
* bump version
* Update versions/o-/openssl.json
* update baseline
* Update ports/openssl/vcpkg-cmake-wrapper.cmake
* Update ports/openssl/vcpkg-cmake-wrapper.cmake
* Update versions/o-/openssl.json
* Update ports/openssl/vcpkg.json
* Update versions/o-/openssl.json
* Update ports/openssl/vcpkg.json
* Update versions/o-/openssl.json
* update version record
this change does not actually make any changes,
except that `VCPKG_INSTALLED_DIR` and sets `_VCPKG_INSTALLED_DIR`.
In the future, we can start using `VCPKG_INSTALLED_DIR`
completely.
* [scripts-audit] vcpkg_acquire_msys (#17687)
* [vcpkg.cmake] Change find_package function -> macro in order to shorten trace (#17997)
switch from function to macro
* [scripts-audit] z_vcpkg_apply_patches (#18013)
* [scripts-audit] z_vcpkg_escape_regex_control_characters (#18013)
* [scripts-audit] vcpkg_fail_port_install (#18054)
Note that this change allows existing failures;
it changes MATCHES to STREQUAL, meaning that
vcpkg_fail_port_install(ON_ARCH "arm") now succeeds on arm64;
this change in behavior is fine (IMO) since it strictly succeeds
when it used to fail.
This reverts commit b369b110b16b149066271a09ee56f1b9dcaec7d6.
This change broke opencv, and it was not noticed since vcpkg.cmake
didn't rebuild the world.