From 4fb225608532e9fb2fd2f5f1dbe9ec092cdc7c93 Mon Sep 17 00:00:00 2001 From: Billy O'Neal Date: Wed, 3 Jun 2020 19:31:28 -0700 Subject: [vcpkg] Allow CI to pass in all relevant directories and remove use of symbolic links (#11483) --- scripts/buildsystems/msbuild/vcpkg.targets | 26 ++++++++++++++++---------- scripts/buildsystems/vcpkg.cmake | 8 +++++--- 2 files changed, 21 insertions(+), 13 deletions(-) (limited to 'scripts/buildsystems') diff --git a/scripts/buildsystems/msbuild/vcpkg.targets b/scripts/buildsystems/msbuild/vcpkg.targets index f956a4f33..de7334d09 100644 --- a/scripts/buildsystems/msbuild/vcpkg.targets +++ b/scripts/buildsystems/msbuild/vcpkg.targets @@ -54,7 +54,13 @@ Debug Release $([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), .vcpkg-root))\ - $(VcpkgRoot)installed\$(VcpkgTriplet)\ + + $(VcpkgRoot) + $(VcpkgRootSanitized)\ + $(VcpkgCurrentInstalledDir) + $(VcpkgRootSanitized)installed\$(VcpkgTriplet)\ + $(VcpkgCurrentInstalledDirSanitized)\ true @@ -63,21 +69,21 @@ - %(AdditionalDependencies);$(VcpkgCurrentInstalledDir)debug\lib\*.lib - %(AdditionalDependencies);$(VcpkgCurrentInstalledDir)lib\*.lib - %(AdditionalLibraryDirectories);$(VcpkgCurrentInstalledDir)lib;$(VcpkgCurrentInstalledDir)lib\manual-link - %(AdditionalLibraryDirectories);$(VcpkgCurrentInstalledDir)debug\lib;$(VcpkgCurrentInstalledDir)debug\lib\manual-link + %(AdditionalDependencies);$(VcpkgCurrentInstalledDirSanitized)debug\lib\*.lib + %(AdditionalDependencies);$(VcpkgCurrentInstalledDirSanitized)lib\*.lib + %(AdditionalLibraryDirectories);$(VcpkgCurrentInstalledDirSanitized)lib;$(VcpkgCurrentInstalledDirSanitized)lib\manual-link + %(AdditionalLibraryDirectories);$(VcpkgCurrentInstalledDirSanitized)debug\lib;$(VcpkgCurrentInstalledDirSanitized)debug\lib\manual-link - %(AdditionalIncludeDirectories);$(VcpkgCurrentInstalledDir)include + %(AdditionalIncludeDirectories);$(VcpkgCurrentInstalledDirSanitized)include - %(AdditionalIncludeDirectories);$(VcpkgCurrentInstalledDir)include + %(AdditionalIncludeDirectories);$(VcpkgCurrentInstalledDirSanitized)include - + @@ -87,11 +93,11 @@ File="$(TLogLocation)$(ProjectName).write.1u.tlog" Lines="^$(TargetPath);$([System.IO.Path]::Combine($(ProjectDir),$(IntDir)))vcpkg.applocal.log" Encoding="Unicode"/> diff --git a/scripts/buildsystems/vcpkg.cmake b/scripts/buildsystems/vcpkg.cmake index 66f9ec921..03926336b 100644 --- a/scripts/buildsystems/vcpkg.cmake +++ b/scripts/buildsystems/vcpkg.cmake @@ -1,7 +1,7 @@ # Mark variables as used so cmake doesn't complain about them mark_as_advanced(CMAKE_TOOLCHAIN_FILE) -# VCPKG toolchain options. +# VCPKG toolchain options. option(VCPKG_VERBOSE "Enables messages from the VCPKG toolchain for debugging purposes." OFF) mark_as_advanced(VCPKG_VERBOSE) @@ -28,7 +28,7 @@ endif() #If CMake does not have a mapping for MinSizeRel and RelWithDebInfo in imported targets #it will map those configuration to the first valid configuration in CMAKE_CONFIGURATION_TYPES or the targets IMPORTED_CONFIGURATIONS. -#In most cases this is the debug configuration which is wrong. +#In most cases this is the debug configuration which is wrong. if(NOT DEFINED CMAKE_MAP_IMPORTED_CONFIG_MINSIZEREL) set(CMAKE_MAP_IMPORTED_CONFIG_MINSIZEREL "MinSizeRel;Release;") if(VCPKG_VERBOSE) @@ -151,7 +151,9 @@ if(NOT DEFINED _VCPKG_ROOT_DIR) endwhile() set(_VCPKG_ROOT_DIR ${_VCPKG_ROOT_DIR_CANDIDATE} CACHE INTERNAL "Vcpkg root directory") endif() -set(_VCPKG_INSTALLED_DIR ${_VCPKG_ROOT_DIR}/installed) +if (NOT DEFINED _VCPKG_INSTALLED_DIR) + set(_VCPKG_INSTALLED_DIR ${_VCPKG_ROOT_DIR}/installed) +endif() if(NOT EXISTS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}" AND NOT _CMAKE_IN_TRY_COMPILE AND NOT VCPKG_SUPPRESS_INSTALLED_LIBRARIES_WARNING) message(WARNING "There are no libraries installed for the Vcpkg triplet ${VCPKG_TARGET_TRIPLET}.") -- cgit v1.2.3