Skip to content

Commit e4d69fe

Browse files
committed
build: Use usbdk for libusb on Windows
1 parent 5750c99 commit e4d69fe

File tree

4 files changed

+40
-17
lines changed

4 files changed

+40
-17
lines changed

CMakeLists.txt

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,9 @@ OPTION(ENABLE_OPENGL "Enable OpenGL support" ON)
3737
OPTION(ENABLE_VAAPI "Enable VA-API support" ON)
3838
OPTION(ENABLE_TEGRAJPEG "Enable Tegra HW JPEG support" ON)
3939
OPTION(ENABLE_PROFILING "Collect profiling stats (memory consuming)" OFF)
40+
IF(WIN32)
41+
OPTION(LIBUSB_USE_USBDK "Use Usbdk backend for libusb (or libusbK if OFF)" ON)
42+
ENDIF()
4043

4144
IF(ENABLE_PROFILING)
4245
SET(LIBFREENECT2_WITH_PROFILING 1)
@@ -257,7 +260,7 @@ IF(TurboJPEG_FOUND)
257260
)
258261
ENDIF()
259262

260-
SET(HAVE_OpenGL disablsed)
263+
SET(HAVE_OpenGL disabled)
261264
IF(ENABLE_OPENGL)
262265
FIND_PACKAGE(GLFW3)
263266
FIND_PACKAGE(OpenGL)
@@ -289,7 +292,7 @@ IF(ENABLE_OPENGL)
289292
ENDIF()
290293
ENDIF(ENABLE_OPENGL)
291294

292-
SET(HAVE_OpenCL disablsed)
295+
SET(HAVE_OpenCL disabled)
293296
IF(ENABLE_OPENCL)
294297
FIND_PACKAGE(OpenCL)
295298

@@ -329,11 +332,13 @@ IF(ENABLE_OPENCL)
329332
ENDIF(OpenCL_FOUND)
330333
ENDIF(ENABLE_OPENCL)
331334

332-
SET(HAVE_CUDA disablsed)
335+
SET(HAVE_CUDA disabled)
333336
IF(ENABLE_CUDA)
334337
FIND_PACKAGE(CUDA)
335338
SET(HAVE_CUDA no)
336-
IF(CUDA_FOUND)
339+
IF(CUDA_FOUND AND MSVC14 AND CUDA_VERSION VERSION_LESS 8.0)
340+
SET(HAVE_CUDA "no (VS2015 not supported)")
341+
ELSEIF(CUDA_FOUND)
337342
SET(LIBFREENECT2_WITH_CUDA_SUPPORT 1)
338343
SET(HAVE_CUDA yes)
339344

@@ -367,7 +372,7 @@ IF(ENABLE_CUDA)
367372
LIST(APPEND LIBRARIES
368373
${CUDA_LIBRARIES}
369374
)
370-
ENDIF(CUDA_FOUND)
375+
ENDIF()
371376
ENDIF(ENABLE_CUDA)
372377

373378
# RPATH handling for private libusb copies
@@ -424,14 +429,14 @@ INSTALL(FILES "${PROJECT_BINARY_DIR}/freenect2.pc" DESTINATION lib/pkgconfig/)
424429

425430
ADD_SUBDIRECTORY(${MY_DIR}/doc)
426431

427-
SET(HAVE_Examples disablsed)
432+
SET(HAVE_Examples disabled)
428433
IF(BUILD_EXAMPLES)
429434
SET(HAVE_Examples yes)
430435
MESSAGE(STATUS "Configurating examples")
431436
ADD_SUBDIRECTORY(${MY_DIR}/examples)
432437
ENDIF()
433438

434-
SET(HAVE_OpenNI2 disablsed)
439+
SET(HAVE_OpenNI2 disabled)
435440
IF(BUILD_OPENNI2_DRIVER)
436441
FIND_PACKAGE(OpenNI2)
437442
SET(HAVE_OpenNI2 no)

cmake_modules/FindLibUSB.cmake

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,8 +41,13 @@ FIND_PATH(LibUSB_INCLUDE_DIRS
4141
include/libusb-1.0
4242
)
4343

44+
SET(LIBUSB_NAME libusb)
45+
IF(LIBUSB_USE_USBDK)
46+
SET(LIBUSB_NAME libusb-usbdk)
47+
ENDIF()
48+
4449
FIND_LIBRARY(LibUSB_LIBRARIES
45-
NAMES libusb-1.0
50+
NAMES ${LIBUSB_NAME}-1.0
4651
PATHS
4752
"${DEPENDS_DIR}/libusb"
4853
"${DEPENDS_DIR}/libusbx"
@@ -58,7 +63,7 @@ FIND_LIBRARY(LibUSB_LIBRARIES
5863

5964
IF(WIN32)
6065
FIND_FILE(LibUSB_DLL
61-
libusb-1.0.dll
66+
${LIBUSB_NAME}-1.0.dll
6267
PATHS
6368
"${DEPENDS_DIR}/libusb"
6469
"${DEPENDS_DIR}/libusbx"
@@ -71,6 +76,11 @@ FIND_FILE(LibUSB_DLL
7176
MS64
7277
MS64/dll
7378
)
79+
IF(LibUSB_DLL AND LIBUSB_USE_USBDK)
80+
FILE(COPY ${LibUSB_DLL} DESTINATION ${CMAKE_BINARY_DIR})
81+
SET(LibUSB_DLL ${CMAKE_BINARY_DIR}/libusb-1.0.dll)
82+
FILE(RENAME ${CMAKE_BINARY_DIR}/${LIBUSB_NAME}-1.0.dll ${LibUSB_DLL})
83+
ENDIF()
7484
ENDIF()
7585

7686
INCLUDE(FindPackageHandleStandardArgs)

depends/install_libusb_vs2013.cmd

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,15 @@ git fetch xlz || exit /b
1111
git merge xlz/winiso
1212

1313
set CONFIG=Release
14-
msbuild msvc\libusb_dll_2013.vcxproj /p:Platform=x64 /p:Configuration=%CONFIG% /target:Rebuild
14+
set YEAR=2013
15+
set MSBUILD="C:\Program Files (x86)\MSBuild\12.0\Bin\MSBuild.exe"
16+
17+
%MSBUILD% msvc\libusb_dll_%YEAR%.vcxproj /p:Platform=x64 /p:Configuration=%CONFIG% /target:Rebuild || exit /b
18+
%MSBUILD% msvc\libusb_usbdk_dll_%YEAR%.vcxproj /p:Platform=x64 /p:Configuration=%CONFIG% /target:Rebuild || exit /b
1519

1620
mkdir ..\libusb\include\libusb-1.0
1721
copy libusb\libusb.h ..\libusb\include\libusb-1.0
1822
mkdir ..\libusb\MS64\dll
19-
copy x64\%CONFIG%\dll\libusb-1.0.lib ..\libusb\MS64\dll
20-
copy x64\%CONFIG%\dll\libusb-1.0.dll ..\libusb\MS64\dll
21-
copy x64\%CONFIG%\dll\libusb-1.0.pdb ..\libusb\MS64\dll
23+
copy x64\%CONFIG%\dll\*.lib ..\libusb\MS64\dll
24+
copy x64\%CONFIG%\dll\*.dll ..\libusb\MS64\dll
25+
copy x64\%CONFIG%\dll\*.pdb ..\libusb\MS64\dll

depends/install_libusb_vs2015.cmd

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,15 @@ git fetch xlz || exit /b
1111
git merge xlz/winiso
1212

1313
set CONFIG=Release
14-
msbuild msvc\libusb_dll_2015.vcxproj /p:Platform=x64 /p:Configuration=%CONFIG% /target:Rebuild
14+
set YEAR=2015
15+
set MSBUILD="C:\Program Files (x86)\MSBuild\14.0\Bin\MSBuild.exe"
16+
17+
%MSBUILD% msvc\libusb_dll_%YEAR%.vcxproj /p:Platform=x64 /p:Configuration=%CONFIG% /target:Rebuild || exit /b
18+
%MSBUILD% msvc\libusb_usbdk_dll_%YEAR%.vcxproj /p:Platform=x64 /p:Configuration=%CONFIG% /target:Rebuild || exit /b
1519

1620
mkdir ..\libusb\include\libusb-1.0
1721
copy libusb\libusb.h ..\libusb\include\libusb-1.0
1822
mkdir ..\libusb\MS64\dll
19-
copy x64\%CONFIG%\dll\libusb-1.0.lib ..\libusb\MS64\dll
20-
copy x64\%CONFIG%\dll\libusb-1.0.dll ..\libusb\MS64\dll
21-
copy x64\%CONFIG%\dll\libusb-1.0.pdb ..\libusb\MS64\dll
23+
copy x64\%CONFIG%\dll\*.lib ..\libusb\MS64\dll
24+
copy x64\%CONFIG%\dll\*.dll ..\libusb\MS64\dll
25+
copy x64\%CONFIG%\dll\*.pdb ..\libusb\MS64\dll

0 commit comments

Comments
 (0)