aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJackBoosY <47264268+JackBoosY@users.noreply.github.com>2019-08-03 04:31:02 +0800
committerVictor Romero <romerosanchezv@gmail.com>2019-08-02 13:31:02 -0700
commit883766c4cb3faa8d0abf5b654796dc4b628a4214 (patch)
treed1ffd344a2ca2d225bdd6a57cab947ca7989df63
parent44306f74bb5c40466135b26aa739a312ad041899 (diff)
downloadvcpkg-883766c4cb3faa8d0abf5b654796dc4b628a4214.tar.gz
vcpkg-883766c4cb3faa8d0abf5b654796dc4b628a4214.zip
[libusb]Fix using mismatched CRT_linkage/library_linkage issue. (#7465)
-rw-r--r--ports/libusb/CONTROL2
-rw-r--r--ports/libusb/portfile.cmake14
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 "<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>" "<RuntimeLibrary>MultiThreaded</RuntimeLibrary>" PROJ_FILE "${PROJ_FILE}")
+ string(REPLACE "<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>" "<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>" 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 "<RuntimeLibrary>MultiThreaded</RuntimeLibrary>" "<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>" PROJ_FILE "${PROJ_FILE}")
+ string(REPLACE "<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>" "<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>" PROJ_FILE "${PROJ_FILE}")
+ file(WRITE "${SOURCE_PATH}/msvc/libusb_${LIBUSB_PROJECT_TYPE}_${MSVS_VERSION}.vcxproj" "${PROJ_FILE}")
+ endif()
endif()
vcpkg_install_msbuild(