From fbca724eecbedb8924af23269cd2ba37ff875c3e Mon Sep 17 00:00:00 2001 From: Alexander Neumann Date: Sun, 30 Aug 2020 22:08:54 +0200 Subject: [PATCH 1/3] add VCPKG_OVERLAY_(PORTS|TRIPLETS) to the toolchain --- scripts/buildsystems/vcpkg.cmake | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/scripts/buildsystems/vcpkg.cmake b/scripts/buildsystems/vcpkg.cmake index 753c0523c83667..78d1eaa3a846c9 100644 --- a/scripts/buildsystems/vcpkg.cmake +++ b/scripts/buildsystems/vcpkg.cmake @@ -312,8 +312,25 @@ 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_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() + set(_VCPKG_MANIFEST_FEATURES) foreach(feature ${VCPKG_MANIFEST_FEATURES}) list(APPEND _VCPKG_MANIFEST_FEATURES "--x-feature=${feature}") @@ -331,6 +348,7 @@ if(VCPKG_MANIFEST_MODE AND VCPKG_MANIFEST_INSTALL AND NOT _CMAKE_IN_TRY_COMPILE) "--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) From 9fe51b978db8d9110764fde79afab6e7692d560a Mon Sep 17 00:00:00 2001 From: Alexander Neumann Date: Thu, 10 Sep 2020 09:42:16 +0200 Subject: [PATCH 2/3] move everything into additional manifest params --- scripts/buildsystems/vcpkg.cmake | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/scripts/buildsystems/vcpkg.cmake b/scripts/buildsystems/vcpkg.cmake index 2a87d0a13dafbe..8a9fedc1a124e8 100644 --- a/scripts/buildsystems/vcpkg.cmake +++ b/scripts/buildsystems/vcpkg.cmake @@ -348,13 +348,12 @@ if(VCPKG_MANIFEST_MODE AND VCPKG_MANIFEST_INSTALL AND NOT _CMAKE_IN_TRY_COMPILE) endforeach() endif() - set(_VCPKG_MANIFEST_FEATURES) 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") + set(_VCPKG_ADDITIONAL_MANIFEST_PARAMS "--x-no-default-features") endif() execute_process( @@ -363,8 +362,6 @@ 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) From c70bf932956e8ba638b7af9521ed63a82ff52588 Mon Sep 17 00:00:00 2001 From: Alexander Neumann Date: Thu, 10 Sep 2020 09:43:12 +0200 Subject: [PATCH 3/3] fix me not thinking --- scripts/buildsystems/vcpkg.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/buildsystems/vcpkg.cmake b/scripts/buildsystems/vcpkg.cmake index 8a9fedc1a124e8..1b46771b15393e 100644 --- a/scripts/buildsystems/vcpkg.cmake +++ b/scripts/buildsystems/vcpkg.cmake @@ -353,7 +353,7 @@ if(VCPKG_MANIFEST_MODE AND VCPKG_MANIFEST_INSTALL AND NOT _CMAKE_IN_TRY_COMPILE) endforeach() if(VCPKG_MANIFEST_NO_DEFAULT_FEATURES) - set(_VCPKG_ADDITIONAL_MANIFEST_PARAMS "--x-no-default-features") + list(APPEND _VCPKG_ADDITIONAL_MANIFEST_PARAMS "--x-no-default-features") endif() execute_process(