From 883766c4cb3faa8d0abf5b654796dc4b628a4214 Mon Sep 17 00:00:00 2001
From: JackBoosY <47264268+JackBoosY@users.noreply.github.com>
Date: Sat, 3 Aug 2019 04:31:02 +0800
Subject: [libusb]Fix using mismatched CRT_linkage/library_linkage issue.
(#7465)
---
ports/libusb/CONTROL | 2 +-
ports/libusb/portfile.cmake | 14 +++++++++++++-
2 files changed, 14 insertions(+), 2 deletions(-)
diff --git a/ports/libusb/CONTROL b/ports/libusb/CONTROL
index e4229daed..d8b7d7042 100644
--- a/ports/libusb/CONTROL
+++ b/ports/libusb/CONTROL
@@ -1,4 +1,4 @@
Source: libusb
-Version: 1.0.22-3
+Version: 1.0.22-4
Homepage: https://github.com/libusb/libusb
Description: a cross-platform library to access USB devices
diff --git a/ports/libusb/portfile.cmake b/ports/libusb/portfile.cmake
index d5047841f..9ab38c869 100644
--- a/ports/libusb/portfile.cmake
+++ b/ports/libusb/portfile.cmake
@@ -18,7 +18,7 @@ vcpkg_from_github(
fix_c2001.patch
)
-if(NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
+if(VCPKG_TARGET_IS_WINDOWS)
if(VCPKG_PLATFORM_TOOLSET MATCHES "v142")
set(MSVS_VERSION 2017) #they are abi compatible, so it should work
elseif(VCPKG_PLATFORM_TOOLSET MATCHES "v141")
@@ -29,8 +29,20 @@ if(NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore
if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic")
set(LIBUSB_PROJECT_TYPE dll)
+ if (VCPKG_CRT_LINKAGE STREQUAL static)
+ file(READ "${SOURCE_PATH}/msvc/libusb_${LIBUSB_PROJECT_TYPE}_${MSVS_VERSION}.vcxproj" PROJ_FILE)
+ string(REPLACE "MultiThreadedDLL" "MultiThreaded" PROJ_FILE "${PROJ_FILE}")
+ string(REPLACE "MultiThreadedDebugDLL" "MultiThreadedDebug" PROJ_FILE "${PROJ_FILE}")
+ file(WRITE "${SOURCE_PATH}/msvc/libusb_${LIBUSB_PROJECT_TYPE}_${MSVS_VERSION}.vcxproj" "${PROJ_FILE}")
+ endif()
else()
set(LIBUSB_PROJECT_TYPE static)
+ if (VCPKG_CRT_LINKAGE STREQUAL dynamic)
+ file(READ "${SOURCE_PATH}/msvc/libusb_${LIBUSB_PROJECT_TYPE}_${MSVS_VERSION}.vcxproj" PROJ_FILE)
+ string(REPLACE "MultiThreaded" "MultiThreadedDLL" PROJ_FILE "${PROJ_FILE}")
+ string(REPLACE "MultiThreadedDebug" "MultiThreadedDebugDLL" PROJ_FILE "${PROJ_FILE}")
+ file(WRITE "${SOURCE_PATH}/msvc/libusb_${LIBUSB_PROJECT_TYPE}_${MSVS_VERSION}.vcxproj" "${PROJ_FILE}")
+ endif()
endif()
vcpkg_install_msbuild(
--
cgit v1.2.3