From f74753127f6534e1cad8fdfe4a96856ec0427456 Mon Sep 17 00:00:00 2001 From: Lingzhu Xiang Date: Tue, 9 Jun 2015 00:12:51 +0000 Subject: [PATCH 1/2] Copy DLLs for Protonect on Windows --- examples/protonect/CMakeLists.txt | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/examples/protonect/CMakeLists.txt b/examples/protonect/CMakeLists.txt index b56c89c49..aaa613d19 100644 --- a/examples/protonect/CMakeLists.txt +++ b/examples/protonect/CMakeLists.txt @@ -40,7 +40,7 @@ SET(LIBRARY_OUTPUT_PATH ${MY_DIR}/lib) # dependencies FIND_PACKAGE(PkgConfig) # try find PKGConfig as it will be used if found FIND_PACKAGE(LibUSB REQUIRED) -FIND_PACKAGE(OpenCV REQUIRED) +FIND_PACKAGE(OpenCV REQUIRED core highgui) FIND_PACKAGE(TurboJPEG REQUIRED) #does not provide a package-config file # Add includes @@ -193,6 +193,7 @@ TARGET_LINK_LIBRARIES(Protonect CONFIGURE_FILE(freenect2.cmake.in "${PROJECT_BINARY_DIR}/freenect2Config.cmake" @ONLY) +INSTALL(TARGETS Protonect DESTINATION bin) INSTALL(TARGETS freenect2shared DESTINATION lib) INSTALL(TARGETS freenect2static DESTINATION lib) INSTALL(DIRECTORY "${MY_DIR}/include/" DESTINATION include PATTERN "*.in" EXCLUDE) @@ -201,3 +202,24 @@ IF(LIBFREENECT2_THREADING_TINYTHREAD) ENDIF(LIBFREENECT2_THREADING_TINYTHREAD) INSTALL(FILES "${PROJECT_BINARY_DIR}/freenect2Config.cmake" DESTINATION lib/cmake/freenect2/) +IF(WIN32) + INSTALL(TARGETS freenect2shared RUNTIME DESTINATION bin) + + FOREACH(LIB ${OpenCV_LIBS}) + INSTALL(FILES $ DESTINATION bin) + ENDFOREACH() + + get_filename_component(LibUSB_LIBDIR ${LibUSB_LIBRARIES} DIRECTORY) + FIND_FILE(LibUSB_DLL libusb-1.0.dll PATHS ${LibUSB_LIBDIR} NO_DEFAULT_PATH) + INSTALL(FILES ${LibUSB_DLL} DESTINATION bin) + + get_filename_component(TurboJPEG_LIBDIR ${TurboJPEG_LIBRARIES} DIRECTORY) + FIND_FILE(TurboJPEG_DLL turbojpeg.dll PATHS "${TurboJPEG_LIBDIR}/../bin" NO_DEFAULT_PATH) + INSTALL(FILES ${TurboJPEG_DLL} DESTINATION bin) + + IF(GLFW3_FOUND) + get_filename_component(GLFW3_LIBDIR ${GLFW3_LIBRARIES} DIRECTORY) + FIND_FILE(GLFW3_DLL glfw3.dll PATHS ${GLFW3_LIBDIR} NO_DEFAULT_PATH) + INSTALL(FILES ${GLFW3_DLL} DESTINATION bin) + ENDIF() +ENDIF() From 7b02deff1fea9a933e2671fe2970c1744e60ba2a Mon Sep 17 00:00:00 2001 From: Lingzhu Xiang Date: Tue, 9 Jun 2015 16:05:00 -0400 Subject: [PATCH 2/2] Do not fail if DLLs are not found --- examples/protonect/CMakeLists.txt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/examples/protonect/CMakeLists.txt b/examples/protonect/CMakeLists.txt index aaa613d19..2deb0b215 100644 --- a/examples/protonect/CMakeLists.txt +++ b/examples/protonect/CMakeLists.txt @@ -211,15 +211,15 @@ IF(WIN32) get_filename_component(LibUSB_LIBDIR ${LibUSB_LIBRARIES} DIRECTORY) FIND_FILE(LibUSB_DLL libusb-1.0.dll PATHS ${LibUSB_LIBDIR} NO_DEFAULT_PATH) - INSTALL(FILES ${LibUSB_DLL} DESTINATION bin) + INSTALL(FILES ${LibUSB_DLL} DESTINATION bin OPTIONAL) get_filename_component(TurboJPEG_LIBDIR ${TurboJPEG_LIBRARIES} DIRECTORY) FIND_FILE(TurboJPEG_DLL turbojpeg.dll PATHS "${TurboJPEG_LIBDIR}/../bin" NO_DEFAULT_PATH) - INSTALL(FILES ${TurboJPEG_DLL} DESTINATION bin) + INSTALL(FILES ${TurboJPEG_DLL} DESTINATION bin OPTIONAL) IF(GLFW3_FOUND) get_filename_component(GLFW3_LIBDIR ${GLFW3_LIBRARIES} DIRECTORY) FIND_FILE(GLFW3_DLL glfw3.dll PATHS ${GLFW3_LIBDIR} NO_DEFAULT_PATH) - INSTALL(FILES ${GLFW3_DLL} DESTINATION bin) + INSTALL(FILES ${GLFW3_DLL} DESTINATION bin OPTIONAL) ENDIF() ENDIF()