Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[vcpkg|toolchain] add VCPKG_OVERLAY_(PORTS|TRIPLETS) to the toolchain #13240

Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 20 additions & 5 deletions scripts/buildsystems/vcpkg.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -329,15 +329,31 @@ if(VCPKG_MANIFEST_MODE AND VCPKG_MANIFEST_INSTALL AND NOT _CMAKE_IN_TRY_COMPILE)
message(STATUS "Bootstrapping vcpkg before install - done")
endif()

set(VCPKG_OVERLAY_PORTS "" CACHE STRING "Overlay ports to use for vcpkg install in manifest mode")
mark_as_advanced(VCPKG_OVERLAY_PORTS)
set(VCPKG_OVERLAY_TRIPLETS "" CACHE STRING "Overlay triplets to use for vcpkg install in manifest mode")
mark_as_advanced(VCPKG_OVERLAY_TRIPLETS)

message(STATUS "Running vcpkg install")

set(_VCPKG_MANIFEST_FEATURES)
set(_VCPKG_ADDITIONAL_MANIFEST_PARAMS)
if(VCPKG_OVERLAY_PORTS)
foreach(_overlay_port IN LISTS VCPKG_OVERLAY_PORTS)
list(APPEND _VCPKG_ADDITIONAL_MANIFEST_PARAMS "--overlay-ports=${_overlay_port}")
endforeach()
endif()
if(VCPKG_OVERLAY_TRIPLETS)
foreach(_overlay_triplet IN LISTS VCPKG_OVERLAY_TRIPLETS)
list(APPEND _VCPKG_ADDITIONAL_MANIFEST_PARAMS "--overlay-triplets=${_overlay_triplet}")
endforeach()
endif()

foreach(feature ${VCPKG_MANIFEST_FEATURES})
list(APPEND _VCPKG_MANIFEST_FEATURES "--x-feature=${feature}")
list(APPEND _VCPKG_ADDITIONAL_MANIFEST_PARAMS "--x-feature=${feature}")
endforeach()

if(VCPKG_MANIFEST_NO_DEFAULT_FEATURES)
set(_VCPKG_MANIFEST_NO_DEFAULT_FEATURES "--x-no-default-features")
list(APPEND _VCPKG_ADDITIONAL_MANIFEST_PARAMS "--x-no-default-features")
endif()

execute_process(
Expand All @@ -346,8 +362,7 @@ if(VCPKG_MANIFEST_MODE AND VCPKG_MANIFEST_INSTALL AND NOT _CMAKE_IN_TRY_COMPILE)
--vcpkg-root "${_VCPKG_ROOT_DIR}"
"--x-manifest-root=${_VCPKG_MANIFEST_DIR}"
"--x-install-root=${_VCPKG_INSTALLED_DIR}"
${_VCPKG_MANIFEST_FEATURES}
${_VCPKG_MANIFEST_NO_DEFAULT_FEATURES}
${_VCPKG_ADDITIONAL_MANIFEST_PARAMS}
RESULT_VARIABLE _VCPKG_INSTALL_RESULT)

if (NOT _VCPKG_INSTALL_RESULT EQUAL 0)
Expand Down