aboutsummaryrefslogtreecommitdiff
path: root/scripts/buildsystems
diff options
context:
space:
mode:
authornicole mazzuca <83086508+strega-nil-ms@users.noreply.github.com>2021-07-29 11:47:35 -0500
committerGitHub <noreply@github.com>2021-07-29 09:47:35 -0700
commit5304f826b5736eea0aa4749ce49c84539badaf4a (patch)
tree7107a64743a0c1d9b58c31351bfd6da0f18d4497 /scripts/buildsystems
parent8dddc6c899ce6fdbeab38b525a31e7f23cb2d5bb (diff)
downloadvcpkg-5304f826b5736eea0aa4749ce49c84539badaf4a.tar.gz
vcpkg-5304f826b5736eea0aa4749ce49c84539badaf4a.zip
[rollup] 2021-07-26 (#19157)
* [rollup:2021-07-26 1/6] PR #18783 (@strega-nil) [scripts-audit] vcpkg_copy_tools and friends * [rollup:2021-07-26 2/6] PR #18898 (@dg0yt) [vcpkg] Fix toolchain compatibility with cmake < 3.15 * [rollup:2021-07-26 3/6] PR #18980 (@strega-nil) [cmake-guidelines] Minor update, for `if()` * [rollup:2021-07-26 4/6] PR #18981 (@strega-nil) [scripts-audit] vcpkg_check_linkage * [rollup:2021-07-26 5/6] PR #19158 (@Hoikas) [vcpkg.cmake] Fix variable case. * [rollup:2021-07-26 6/6] PR #18839 [scripts-audit] z_vcpkg_get_cmake_vars Co-authored-by: nicole mazzuca <mazzucan@outlook.com>
Diffstat (limited to 'scripts/buildsystems')
-rw-r--r--scripts/buildsystems/vcpkg.cmake51
1 files changed, 18 insertions, 33 deletions
diff --git a/scripts/buildsystems/vcpkg.cmake b/scripts/buildsystems/vcpkg.cmake
index ff0873457..e59779e4e 100644
--- a/scripts/buildsystems/vcpkg.cmake
+++ b/scripts/buildsystems/vcpkg.cmake
@@ -385,39 +385,24 @@ set(_VCPKG_INSTALLED_DIR "${VCPKG_INSTALLED_DIR}"
CACHE PATH
"The directory which contains the installed libraries for each triplet" FORCE)
-if(VCPKG_PREFER_SYSTEM_LIBS)
- set(Z_VCPKG_PATH_LIST_OP APPEND)
-else()
- set(Z_VCPKG_PATH_LIST_OP PREPEND)
-endif()
-
-if(CMAKE_BUILD_TYPE MATCHES "^[Dd][Ee][Bb][Uu][Gg]$" OR NOT DEFINED CMAKE_BUILD_TYPE) #Debug build: Put Debug paths before Release paths.
- list(${Z_VCPKG_PATH_LIST_OP} CMAKE_PREFIX_PATH
- "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/debug"
- "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}"
- )
- list(${Z_VCPKG_PATH_LIST_OP} CMAKE_LIBRARY_PATH
- "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/debug/lib/manual-link"
- "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/lib/manual-link"
- )
- list(${Z_VCPKG_PATH_LIST_OP} CMAKE_FIND_ROOT_PATH
- "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/debug"
- "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}"
- )
-else() #Release build: Put Release paths before Debug paths. Debug Paths are required so that CMake generates correct info in autogenerated target files.
- list(${Z_VCPKG_PATH_LIST_OP} CMAKE_PREFIX_PATH
- "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}"
- "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/debug"
- )
- list(${Z_VCPKG_PATH_LIST_OP} CMAKE_LIBRARY_PATH
- "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/lib/manual-link"
- "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/debug/lib/manual-link"
+function(z_vcpkg_add_vcpkg_to_cmake_path list suffix)
+ set(vcpkg_paths
+ "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}${suffix}"
+ "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/debug${suffix}"
)
- list(${Z_VCPKG_PATH_LIST_OP} CMAKE_FIND_ROOT_PATH
- "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}"
- "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/debug"
- )
-endif()
+ if(NOT DEFINED CMAKE_BUILD_TYPE OR CMAKE_BUILD_TYPE MATCHES "^[Dd][Ee][Bb][Uu][Gg]$")
+ list(REVERSE vcpkg_paths) # Debug build: Put Debug paths before Release paths.
+ endif()
+ if(VCPKG_PREFER_SYSTEM_LIBS)
+ list(APPEND "${list}" "${vcpkg_paths}")
+ else()
+ list(INSERT "${list}" 0 "${vcpkg_paths}") # CMake 3.15 is required for list(PREPEND ...).
+ endif()
+ set("${list}" "${${list}}" PARENT_SCOPE)
+endfunction()
+z_vcpkg_add_vcpkg_to_cmake_path(CMAKE_PREFIX_PATH "")
+z_vcpkg_add_vcpkg_to_cmake_path(CMAKE_LIBRARY_PATH "/lib/manual-link")
+z_vcpkg_add_vcpkg_to_cmake_path(CMAKE_FIND_ROOT_PATH "")
# If one CMAKE_FIND_ROOT_PATH_MODE_* variables is set to ONLY, to make sure that ${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}
# and ${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/debug are searched, it is not sufficient to just add them to CMAKE_FIND_ROOT_PATH,
@@ -692,7 +677,7 @@ if(X_VCPKG_APPLOCAL_DEPS_INSTALL)
list(APPEND parsed_targets "${arg}")
endif()
- if(last_command STREQUAL "DESTINATION" AND (MODIFIER STREQUAL "" OR MODIFIER STREQUAL "RUNTIME"))
+ if(last_command STREQUAL "DESTINATION" AND (modifier STREQUAL "" OR modifier STREQUAL "RUNTIME"))
set(destination "${arg}")
endif()
if(last_command STREQUAL "COMPONENT")