diff options
| author | nicole mazzuca <83086508+strega-nil-ms@users.noreply.github.com> | 2021-07-29 11:47:35 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-07-29 09:47:35 -0700 |
| commit | 5304f826b5736eea0aa4749ce49c84539badaf4a (patch) | |
| tree | 7107a64743a0c1d9b58c31351bfd6da0f18d4497 /scripts/buildsystems | |
| parent | 8dddc6c899ce6fdbeab38b525a31e7f23cb2d5bb (diff) | |
| download | vcpkg-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.cmake | 51 |
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") |
