diff options
Diffstat (limited to 'scripts')
| -rw-r--r-- | scripts/buildsystems/vcpkg.cmake | 25 |
1 files changed, 20 insertions, 5 deletions
diff --git a/scripts/buildsystems/vcpkg.cmake b/scripts/buildsystems/vcpkg.cmake index f2e89c5db..1b46771b1 100644 --- a/scripts/buildsystems/vcpkg.cmake +++ b/scripts/buildsystems/vcpkg.cmake @@ -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( @@ -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) |
