diff --git a/CMakeLists.txt b/CMakeLists.txt index ff61df5df..47a9f0703 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -277,6 +277,7 @@ elseif (WIN32) set(HIDAPI_FOUND ON CACHE INTERNAL "") set(HIDAPI_INCLUDE_DIRS "${EXTERNAL_LIBRARY_FOLDER}/hidapi/include" CACHE INTERNAL "") set(HIDAPI_LIBRARIES "${EXTERNAL_LIBRARY_FOLDER}/hidapi/x64/hidapi.lib" CACHE INTERNAL "") + set(HIDAPI_DLL_DIR "${EXTERNAL_LIBRARY_FOLDER}/hidapi/x64" CACHE INTERNAL "") # used on fixup_bundle phase set(WINDOWS_FIXUP_BUNDLE_LIB_DIRS diff --git a/cmake/cpack/CMakeLists.txt b/cmake/cpack/CMakeLists.txt index 1dced7c79..3b69a7889 100644 --- a/cmake/cpack/CMakeLists.txt +++ b/cmake/cpack/CMakeLists.txt @@ -176,6 +176,14 @@ elseif(WIN32 OR MINGW) ) endforeach(codec2_dll) + file(GLOB HIDAPI_DLLS "${HIDAPI_DLL_DIR}/*${CMAKE_SHARED_LIBRARY_SUFFIX}") + foreach(hidapi_dll ${HIDAPI_DLLS}) + get_filename_component(hidapi_dll_name "${hidapi_dll}" NAME) + add_custom_target(copy_hidapi_${hidapi_dll_name} ALL + COMMAND ${CMAKE_COMMAND} -E copy_if_different "${hidapi_dll}" "${SDRANGEL_BINARY_BIN_DIR}/" + ) + endforeach(hidapi_dll) + if(ENABLE_USRP AND UHD_FOUND) file(GLOB UHD_DLLS "${UHD_DLL_DIR}/*${CMAKE_SHARED_LIBRARY_SUFFIX}") foreach(uhd_dll ${UHD_DLLS}) @@ -248,6 +256,9 @@ elseif(WIN32 OR MINGW) # codec2 install(DIRECTORY "${CODEC2_DLL_DIR}/" DESTINATION "${INSTALL_LIB_DIR}" FILES_MATCHING PATTERN "*${CMAKE_SHARED_LIBRARY_SUFFIX}") + # hidapi + install(DIRECTORY "${HIDAPI_DLL_DIR}/" DESTINATION "${INSTALL_LIB_DIR}" + FILES_MATCHING PATTERN "*${CMAKE_SHARED_LIBRARY_SUFFIX}") # uhd install(DIRECTORY "${UHD_DLL_DIR}/" DESTINATION "${INSTALL_LIB_DIR}" FILES_MATCHING PATTERN "*${CMAKE_SHARED_LIBRARY_SUFFIX}")