File tree Expand file tree Collapse file tree 5 files changed +72
-0
lines changed
Expand file tree Collapse file tree 5 files changed +72
-0
lines changed Original file line number Diff line number Diff line change @@ -6,6 +6,11 @@ if(WIN32 AND NOT MINGW)
66 endif ()
77endif ()
88
9+ IF (WIN32 )
10+ # no permission for the default install prefix %ProgramFiles%
11+ SET (CMAKE_INSTALL_PREFIX "${CMAKE_BINARY_DIR} /install" CACHE STRING "installation path" )
12+ ENDIF ()
13+
914IF (NOT DEFINED CMAKE_BUILD_TYPE )
1015 # No effect for multi-configuration generators (e.g. for Visual Studio)
1116 SET (CMAKE_BUILD_TYPE RelWithDebInfo CACHE STRING "Choose: RelWithDebInfo Release Debug MinSizeRel None" )
@@ -125,12 +130,18 @@ SET(LIBRARIES
125130 ${LIBFREENECT2_THREADING_LIBRARIES}
126131)
127132
133+ SET (LIBFREENECT2_DLLS
134+ ${LibUSB_DLL}
135+ ${TurboJPEG_DLL}
136+ )
137+
128138IF (ENABLE_OPENGL)
129139 FIND_PACKAGE (GLFW3)
130140 FIND_PACKAGE (OpenGL)
131141 IF (GLFW3_FOUND)
132142 INCLUDE_DIRECTORIES (${GLFW3_INCLUDE_DIRS} )
133143
144+ LIST (APPEND LIBFREENECT2_DLLS ${GLFW3_DLL} )
134145 LIST (APPEND LIBRARIES
135146 ${GLFW3_LIBRARIES}
136147 ${OPENGL_gl_LIBRARY}
Original file line number Diff line number Diff line change @@ -58,5 +58,17 @@ FIND_LIBRARY(GLFW3_LIBRARIES
5858 ${_SUFFIX}
5959)
6060
61+ IF (WIN32 )
62+ FIND_FILE (GLFW3_DLL
63+ glfw3.dll
64+ PATHS
65+ "${DEPENDS_DIR} /glfw"
66+ "$ENV{ProgramW6432} /glfw"
67+ ENV GLFW_ROOT
68+ PATH_SUFFIXES
69+ ${_SUFFIX}
70+ )
71+ ENDIF ()
72+
6173INCLUDE (FindPackageHandleStandardArgs)
6274FIND_PACKAGE_HANDLE_STANDARD_ARGS(GLFW3 "Could NOT find GLFW3 - try adding GLFW_ROOT in enviroment variables." GLFW3_LIBRARIES GLFW3_INCLUDE_DIRS)
Original file line number Diff line number Diff line change @@ -53,5 +53,22 @@ FIND_LIBRARY(LibUSB_LIBRARIES
5353 MS64/dll
5454)
5555
56+ IF (WIN32 )
57+ FIND_FILE (LibUSB_DLL
58+ libusb-1.0.dll
59+ PATHS
60+ "${DEPENDS_DIR} /libusb"
61+ "${DEPENDS_DIR} /libusbx"
62+ ENV LibUSB_ROOT
63+ PATH_SUFFIXES
64+ x64/Release/dll
65+ x64/Debug/dll
66+ Win32 /Release/dll
67+ Win32 /Debug/dll
68+ MS64
69+ MS64/dll
70+ )
71+ ENDIF ()
72+
5673INCLUDE (FindPackageHandleStandardArgs)
5774FIND_PACKAGE_HANDLE_STANDARD_ARGS(LibUSB DEFAULT_MSG LibUSB_LIBRARIES LibUSB_INCLUDE_DIRS)
Original file line number Diff line number Diff line change @@ -38,6 +38,20 @@ FIND_LIBRARY(TurboJPEG_LIBRARIES
3838 lib64
3939)
4040
41+ IF (WIN32 )
42+ FIND_FILE (TurboJPEG_DLL
43+ turbojpeg.dll
44+ DOC "Found TurboJPEG DLL path"
45+ PATHS
46+ "${DEPENDS_DIR} /libjpeg_turbo"
47+ "${DEPENDS_DIR} /libjpeg-turbo64"
48+ "C:/libjpeg-turbo64"
49+ ENV TurboJPEG_ROOT
50+ PATH_SUFFIXES
51+ bin
52+ )
53+ ENDIF ()
54+
4155IF (TurboJPEG_INCLUDE_DIRS AND TurboJPEG_LIBRARIES)
4256INCLUDE (CheckCSourceCompiles)
4357set (CMAKE_REQUIRED_INCLUDES ${TurboJPEG_INCLUDE_DIRS} )
Original file line number Diff line number Diff line change @@ -29,8 +29,10 @@ LIST(APPEND CMAKE_MODULE_PATH ${freenect2_ROOT_DIR}/cmake_modules) # FindGLFW3.c
2929IF (TARGET freenect2)
3030 MESSAGE (STATUS "Using in-tree freenect2 target" )
3131 SET (freenect2_LIBRARIES freenect2)
32+ SET (freenect2_DLLS ${LIBFREENECT2_DLLS} )
3233ELSE ()
3334 FIND_PACKAGE (freenect2 REQUIRED)
35+ # Out-of-tree build will have to have DLLs manually copied.
3436ENDIF ()
3537
3638INCLUDE_DIRECTORIES (
@@ -45,6 +47,10 @@ SET(Protonect_LIBRARIES
4547 ${freenect2_LIBRARIES}
4648)
4749
50+ SET (Protonect_DLLS
51+ ${freenect2_DLLS}
52+ )
53+
4854IF (ENABLE_OPENGL)
4955 FIND_PACKAGE (GLFW3)
5056 FIND_PACKAGE (OpenGL)
@@ -54,6 +60,7 @@ IF(ENABLE_OPENGL)
5460 ${flextGL_INCLUDE_DIRS}
5561 )
5662
63+ LIST (APPEND Protonect_DLLS ${GLFW3_DLL} )
5764 LIST (APPEND Protonect_src
5865 viewer.cpp
5966 ${flextGL_SOURCES}
@@ -73,3 +80,14 @@ ADD_EXECUTABLE(Protonect
7380TARGET_LINK_LIBRARIES (Protonect
7481 ${Protonect_LIBRARIES}
7582)
83+
84+ IF (WIN32 )
85+ INSTALL (TARGETS Protonect DESTINATION bin)
86+ LIST (REMOVE_DUPLICATES Protonect_DLLS)
87+ FOREACH (FILEI ${Protonect_DLLS} )
88+ ADD_CUSTOM_COMMAND (TARGET Protonect POST_BUILD
89+ COMMAND ${CMAKE_COMMAND} -E copy_if_different ${FILEI} $<TARGET_FILE_DIR:Protonect>
90+ )
91+ ENDFOREACH (FILEI)
92+ INSTALL (FILES ${Protonect_DLLS} DESTINATION bin)
93+ ENDIF ()
You can’t perform that action at this time.
0 commit comments