diff options
| author | JackBoosY <47264268+JackBoosY@users.noreply.github.com> | 2019-08-03 04:31:02 +0800 |
|---|---|---|
| committer | Victor Romero <romerosanchezv@gmail.com> | 2019-08-02 13:31:02 -0700 |
| commit | 883766c4cb3faa8d0abf5b654796dc4b628a4214 (patch) | |
| tree | d1ffd344a2ca2d225bdd6a57cab947ca7989df63 | |
| parent | 44306f74bb5c40466135b26aa739a312ad041899 (diff) | |
| download | vcpkg-883766c4cb3faa8d0abf5b654796dc4b628a4214.tar.gz vcpkg-883766c4cb3faa8d0abf5b654796dc4b628a4214.zip | |
[libusb]Fix using mismatched CRT_linkage/library_linkage issue. (#7465)
| -rw-r--r-- | ports/libusb/CONTROL | 2 | ||||
| -rw-r--r-- | 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 "<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( |
