Skip to content

Commit 3e3800e

Browse files
committed
Merge pull request #429 from xlz/build-cleanup
Assorted fixes and cleanup for 0.1
2 parents cdeb079 + aecaab4 commit 3e3800e

23 files changed

+13422
-196
lines changed

CMakeLists.txt

Lines changed: 45 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,11 @@ if(WIN32 AND NOT MINGW)
66
endif()
77
endif()
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+
914
IF(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")
@@ -22,6 +27,13 @@ OPTION(ENABLE_CXX11 "Enable C++11 support" OFF)
2227
OPTION(ENABLE_OPENCL "Enable OpenCL support" ON)
2328
OPTION(ENABLE_OPENGL "Enable OpenGL support" ON)
2429

30+
IF(MSVC)
31+
# suppress several "possible loss of data" warnings, and
32+
# "zero-length array in struct" from libusb.h
33+
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /wd4267 /wd4244 /wd4200 /wd4305 /wd4146")
34+
ADD_DEFINITIONS(-D_CRT_SECURE_NO_WARNINGS) # no warning for getenv()
35+
ENDIF()
36+
2537
IF(ENABLE_CXX11)
2638
INCLUDE(CheckCXXCompilerFlag)
2739
CHECK_CXX_COMPILER_FLAG("-std=c++11" COMPILER_SUPPORTS_CXX11)
@@ -45,10 +57,11 @@ INCLUDE(SetupLibfreenect2Threading)
4557
INCLUDE(GenerateResources)
4658

4759
#set the default path for built executables to the "bin" directory
48-
SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/bin)
60+
SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/bin)
4961

5062
#set the default path for built libraries to the "lib" directory
51-
SET(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR}/lib)
63+
SET(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/lib)
64+
SET(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/lib)
5265

5366
# dependencies
5467
FIND_PACKAGE(PkgConfig) # try find PKGConfig as it will be used if found
@@ -65,10 +78,7 @@ INCLUDE_DIRECTORIES(
6578
${TurboJPEG_INCLUDE_DIRS}
6679
)
6780

68-
LINK_DIRECTORIES(${LibUSB_LIBRARY_DIRS})
69-
7081
SET(RESOURCES_INC_FILE "${PROJECT_BINARY_DIR}/resources.inc.h")
71-
SET(CONFIG_H_FILE "${PROJECT_BINARY_DIR}/libfreenect2/config.h")
7282

7383
SET(SOURCES
7484
include/internal/libfreenect2/protocol/command.h
@@ -117,7 +127,8 @@ SET(SOURCES
117127

118128
${LIBFREENECT2_THREADING_SOURCE}
119129
${RESOURCES_INC_FILE}
120-
${CONFIG_H_FILE}
130+
"${PROJECT_BINARY_DIR}/libfreenect2/config.h"
131+
"${PROJECT_BINARY_DIR}/libfreenect2/export.h"
121132
)
122133

123134
SET(LIBRARIES
@@ -126,13 +137,18 @@ SET(LIBRARIES
126137
${LIBFREENECT2_THREADING_LIBRARIES}
127138
)
128139

140+
SET(LIBFREENECT2_DLLS
141+
${LibUSB_DLL}
142+
${TurboJPEG_DLL}
143+
)
144+
129145
IF(ENABLE_OPENGL)
130146
FIND_PACKAGE(GLFW3)
131147
FIND_PACKAGE(OpenGL)
132148
IF(GLFW3_FOUND)
133149
INCLUDE_DIRECTORIES(${GLFW3_INCLUDE_DIRS})
134150

135-
LINK_DIRECTORIES(${GLFW3_LIBRARY_DIRS})
151+
LIST(APPEND LIBFREENECT2_DLLS ${GLFW3_DLL})
136152
LIST(APPEND LIBRARIES
137153
${GLFW3_LIBRARIES}
138154
${OPENGL_gl_LIBRARY}
@@ -157,16 +173,23 @@ ENDIF(ENABLE_OPENGL)
157173
IF(ENABLE_OPENCL)
158174
FIND_PACKAGE(OpenCL)
159175

160-
IF(OPENCL_FOUND)
176+
IF(OpenCL_FOUND)
177+
IF(UNIX AND NOT APPLE)
178+
INCLUDE(CheckOpenCLICDLoader)
179+
IF(OpenCL_C_WORKS AND NOT OpenCL_CXX_WORKS)
180+
SET(LIBFREENECT2_OPENCL_ICD_LOADER_IS_OLD 1)
181+
MESSAGE(WARNING "Your libOpenCL.so is incompatible with CL/cl.h. Install ocl-icd-opencl-dev to update libOpenCL.so?")
182+
ENDIF()
183+
ENDIF()
161184
SET(LIBFREENECT2_WITH_OPENCL_SUPPORT 1)
162-
INCLUDE_DIRECTORIES(${OPENCL_INCLUDE_DIRS})
185+
INCLUDE_DIRECTORIES(${OpenCL_INCLUDE_DIRS})
163186

164187
LIST(APPEND SOURCES
165188
src/opencl_depth_packet_processor.cpp
166189
)
167190

168191
LIST(APPEND LIBRARIES
169-
${OPENCL_LIBRARIES}
192+
${OpenCL_LIBRARIES}
170193
)
171194

172195
LIST(APPEND RESOURCES
@@ -179,7 +202,7 @@ IF(ENABLE_OPENCL)
179202
IF(UNIX AND NOT APPLE)
180203
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-exceptions")
181204
ENDIF()
182-
ENDIF(OPENCL_FOUND)
205+
ENDIF(OpenCL_FOUND)
183206
ENDIF(ENABLE_OPENCL)
184207

185208
# RPATH handling for private libusb copies
@@ -200,34 +223,35 @@ IF(DEFINED CMAKE_INSTALL_RPATH)
200223
MESSAGE(STATUS "RPATH set to ${CMAKE_INSTALL_RPATH}")
201224
ENDIF()
202225

203-
CONFIGURE_FILE("${MY_DIR}/include/libfreenect2/config.h.in" "${CONFIG_H_FILE}" @ONLY)
226+
CONFIGURE_FILE("${MY_DIR}/include/libfreenect2/config.h.in" "${PROJECT_BINARY_DIR}/libfreenect2/config.h" @ONLY)
204227
GENERATE_RESOURCES(${RESOURCES_INC_FILE} ${MY_DIR} ${RESOURCES})
205228

206229
ADD_DEFINITIONS(-DRESOURCES_INC)
207-
SET(CMAKE_CXX_VISIBILITY_PRESET hidden)
208-
SET(CMAKE_C_VISIBILITY_PRESET hidden)
209-
SET(CMAKE_VISIBILITY_INLINES_HIDDEN 1)
210-
INCLUDE(GenerateExportHeader)
211-
212230
ADD_LIBRARY(freenect2 ${SOURCES})
231+
SET_TARGET_PROPERTIES(freenect2 PROPERTIES
232+
CXX_VISIBILITY_PRESET hidden
233+
VISIBILITY_INLINES_HIDDEN 1
234+
)
235+
INCLUDE(GenerateExportHeader)
213236
GENERATE_EXPORT_HEADER(freenect2
214237
BASE_NAME libfreenect2
238+
EXPORT_FILE_NAME libfreenect2/export.h
215239
)
216240

217241
IF(MSVC AND NOT BUILD_SHARED_LIBS)
218242
# MSVC creates freenect2.lib for both dynamic and static by default
219243
set_target_properties(freenect2 PROPERTIES SUFFIX "static.lib")
220244
ENDIF()
221-
MESSAGE(STATUS "Linking with these libraries: ${LIBRARIES}")
245+
STRING(REPLACE ";" "\n " LIBRARIES_STRING "${LIBRARIES}")
246+
MESSAGE(STATUS "Linking with these libraries: \n ${LIBRARIES_STRING}")
222247
TARGET_LINK_LIBRARIES(freenect2 ${LIBRARIES})
223248

224249
CONFIGURE_FILE(freenect2.cmake.in "${PROJECT_BINARY_DIR}/freenect2Config.cmake" @ONLY)
225250
CONFIGURE_FILE(freenect2.pc.in "${PROJECT_BINARY_DIR}/freenect2.pc" @ONLY)
226251

227-
INSTALL(TARGETS freenect2 DESTINATION lib)
252+
INSTALL(TARGETS freenect2 DESTINATION lib RUNTIME DESTINATION bin)
228253
INSTALL(DIRECTORY "${MY_DIR}/include/${PROJECT_NAME}" DESTINATION include PATTERN "*.in" EXCLUDE)
229-
INSTALL(FILES "${CONFIG_H_FILE}" DESTINATION include/${PROJECT_NAME})
230-
INSTALL(FILES "${PROJECT_BINARY_DIR}/libfreenect2_export.h" DESTINATION include/${PROJECT_NAME})
254+
INSTALL(DIRECTORY "${PROJECT_BINARY_DIR}/${PROJECT_NAME}" DESTINATION include)
231255
INSTALL(FILES "${PROJECT_BINARY_DIR}/freenect2Config.cmake" DESTINATION lib/cmake/freenect2/)
232256
INSTALL(FILES "${PROJECT_BINARY_DIR}/freenect2.pc" DESTINATION lib/pkgconfig/)
233257

README.md

Lines changed: 57 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,19 @@ Missing features:
1616

1717
Watch the OpenKinect wiki at www.openkinect.org and the mailing list at https://groups.google.com/forum/#!forum/openkinect for the latest developments and more information about the K4W2 USB protocol.
1818

19+
## Requirements
20+
21+
Supported operating systems:
22+
* Windows 7 (buggy), Windows 8, Windows 8.1, and probably Windows 10
23+
* Linux. Ubuntu and Debian are most well tested.
24+
* Mac OS X
25+
26+
Virtual machines likely do not work, because USB 3.0 isochronous transfer is quite delicate.
27+
28+
The following minimum requirements must be met in order to enable the optional features:
29+
* OpenGL depth processing: OpenGL 3.1 (Windows, Linux, Mac OS X). No OpenGL ES support at the moment.
30+
* OpenCL depth processing: OpenCL 1.1
31+
1932
## FAQ
2033

2134
### Can I use the Kinect v2 without an USB3 port?
@@ -47,7 +60,11 @@ Messages in `dmesg` like this means bugs in the USB driver. Updating kernel migh
4760
[ 509.238580] xhci_hcd 0000:03:00.0: Assuming host is dying, halting host.
4861
```
4962

50-
Finally, it's also possible that your executable is not actually using the patched libusb from the `depends/` folder which is required at the moment. Check this using `ldd ./Protonect | grep libusb` (shows `libusb-1.0` under `depends/`), and adjust your `LD_LIBRARY_PATH` if necessary.
63+
Windows 7 does not have great USB 3.0 drivers. In our testing the above known working devices will stop working after running for a while. However, the official Kinect v2 SDK does not support Windows 7 at all, so there is still hope for Windows 7 users. Windows 8.1 and 10 have improved USB 3.0 drivers.
64+
65+
Diabling USB selective suspend/autosuspend might be helpful to ameliorate transfer problems.
66+
67+
When you report USB issues, please attach relevant debug log from running the program with environment variable `LIBUSB_DEBUG=4`, and relevant log from `dmesg`.
5168

5269
### I'm seeing the color camera stream, but no depth/IR (black windows).
5370

@@ -71,27 +88,27 @@ If you're using an expansion card, make sure it's not plugged into an PCI-E x1 s
7188

7289
## Installation
7390

74-
This project uses the libusbx drivers and API. Setting things up varies by platform.
91+
This project uses the libusb-1.0 drivers and API. Setting things up varies by platform.
7592

7693
### Windows / Visual Studio
7794

7895
#### libusbK driver
7996

80-
If you have the Kinect for Windows v2 SDK, install it first. You don't need to uninstall the SDK or the driver before doing this procedure.
97+
You don't need the Kinect for Windows v2 SDK to build and install libfreenect2, though it doesn't hurt to have it too. You don't need to uninstall the SDK or the driver before doing this procedure.
8198

82-
Install the libusbK backend driver for libusbx:
99+
Install the libusbK backend driver for libusb. Please follow the steps exactly:
83100

84101
1. Download Zadig from http://zadig.akeo.ie/.
85-
2. Run Zadig and in options, check List All Devices and uncheck Ignore Hubs or Composite Parents
86-
3. Select the Xbox NUI Sensor (composite parent) from the drop-down box. (Ignore the Interface 0 and Interface 2 varieties.) The current driver will list usbccgp. USB ID is VID 045E, PID 02C4.
87-
4. Select libusbK (v3.0.6.0) from the replacement driver list.
88-
5. Click the Replace Driver button. Click yes on the warning about replacing a system driver. (This is because it is a composite parent.)
102+
2. Run Zadig and in options, check "List All Devices" and uncheck "Ignore Hubs or Composite Parents"
103+
3. Select the "Xbox NUI Sensor (composite parent)" from the drop-down box. (Important: Ignore the "NuiSensor Adaptor" varieties, which are the adapter, NOT the Kinect) The current driver will list usbccgp. USB ID is VID 045E, PID 02C4 or 02D8.
104+
4. Select libusbK (v3.0.7.0 or newer) from the replacement driver list.
105+
5. Click the "Replace Driver" button. Click yes on the warning about replacing a system driver. (This is because it is a composite parent.)
89106
6. Done.
90107

91108
To uninstall the libusbK driver (and get back the official SDK driver, if installed):
92109

93110
1. Open Device Manager
94-
2. Under libusbK USB Devices, right click the "Xbox NUI Sensor (Composite Parent)" device and select uninstall.
111+
2. Under "libusbK USB Devices" tree, right click the "Xbox NUI Sensor (Composite Parent)" device and select uninstall.
95112
3. Important: Check the "Delete the driver software for this device." checkbox, then click OK.
96113

97114
If you already had the official SDK driver installed and you want to use it:
@@ -104,20 +121,12 @@ You can go back and forth between the SDK driver and the libusbK driver very qui
104121

105122
#### libusb
106123

107-
* Build from source (recommended)
108-
```bash
124+
* Open a Git shell, or any shell that has access to git.exe and msbuild.exe
125+
```
109126
cd depends/
110-
git clone https://github.com/libusb/libusb.git
111-
cd libusb
112-
git remote add joshblake https://github.com/JoshBlake/libusbx.git
113-
git fetch joshblake
114-
git merge joshblake/winiso # patches for libusbK backend
127+
.\install_libusb_vs2013.cmd
115128
```
116-
Open `libusb/msvc/libusb_2013.sln` with Visual Studio 2013 (or older version, accordingly), set configurations to "Release x64", and build "libusb-1.0 (dll)". You can clone the libusb repo to somewhere else, but you will need to set environment variable `LibUSB_ROOT` to that path. Building with "Win32" is not recommended as it results in lower performance.
117-
118-
* Pre-built binary
119-
120-
Joshua Blake provided a Debug version binary: https://www.dropbox.com/s/madoye1ayaoajet/libusbx-winiso.zip. Install it as `depends/libusbx`. This version was built in 2013.
129+
Or `install_libusb_vs2015.cmd`. If you see some errors, you can always open the cmd files and follow the git commands, and maybe build `libusb_201x.sln` with Visual Studio by hand. Building with "Win32" is not recommended as it results in lower performance.
121130

122131
#### TurboJPEG
123132

@@ -131,49 +140,43 @@ Joshua Blake provided a Debug version binary: https://www.dropbox.com/s/madoye1a
131140

132141
#### OpenCL
133142

134-
* Intel GPU: Download `intel_sdk_for_ocl_applications_2014_x64_setup.msi` from http://www.softpedia.com/get/Programming/SDK-DDK/Intel-SDK-for-OpenCL-Applications.shtml (SDK official download is replaced by $$$ and no longer available) and install it. Then verify `INTELOCLSDKROOT` is set as an environment variable.
143+
* Intel GPU: Download `intel_sdk_for_ocl_applications_2014_x64_setup.msi` from http://www.softpedia.com/get/Programming/SDK-DDK/Intel-SDK-for-OpenCL-Applications.shtml (SDK official download is replaced by $$$ and no longer available) and install it. Then verify `INTELOCLSDKROOT` is set as an environment variable. You may need to download and install additional OpenCL runtime.
135144

136145
#### Build
137146

138147
```
139148
mkdir build && cd build
140-
cmake .. -G "Visual Studio 12 2013 Win64" -DCMAKE_INSTALL_PREFIX=.
141-
cmake --build . --config Release --target install
149+
cmake .. -G "Visual Studio 12 2013 Win64"
150+
cmake --build . --config RelWithDebInfo --target install
142151
```
143-
144-
Then you can run the program with `.\bin\Protonect.exe`. If DLLs are missing, you can copy them to the `bin` folder.
152+
Or `-G "Visual Studio 14 2015 Win64"`. Then you can run the program with `.\install\bin\Protonect.exe`, or start debugging in Visual Studio. `RelWithDebInfo` provides debug symbols with release performance. The default installation path is `install`, you may change it by editing `CMAKE_INSTALL_PREFIX`.
145153

146154
### Mac OSX
147155

148-
Use your favorite package managers (brew, ports, etc.)
156+
Use your favorite package managers (brew, ports, etc.) to install most if not all dependencies:
149157

150158
1. ``cd`` into a directory where you want to keep libfreenect2 stuff in
151-
1. Make sure these build tools are available: wget, git, cmake, pkg-config, automake, autoconf, libtool. Xcode may provide some of them. Install the rest via package managers.
152-
1. Install dependencies: TurboJPEG, GLFW.
159+
1. Make sure these build tools are available: wget, git, cmake, pkg-config. Xcode may provide some of them. Install the rest via package managers.
160+
1. Install dependencies: libusb, TurboJPEG, GLFW.
153161

154162
```
155163
brew update
164+
brew install libusb
156165
brew tap homebrew/science
157166
brew install jpeg-turbo
158167
brew tap homebrew/versions
159168
brew install glfw3
160169
```
161170

162-
Do not install libusb via package managers for libfreenect2. libfreenect2 includes an unreleased local version of libusb with USB3 specific patches. libfreenect2's libusb should still work fine in presence of a global version libusb.
171+
It **is** now recommended to install libusb from package managers instead of building from source locally. Previously it was not recommended but that is no longer the case.
163172

164-
It is not recommended to build TurboJPEG from source, which produces corrupted results on Mac OSX according to reports. Install TurboJPEG binary only from package managers.
173+
It is not recommended to build TurboJPEG from source, which may produce corrupted results on Mac OSX according to user reports. Install TurboJPEG binary only from package managers.
165174

166175
1. Download the libfreenect2 repository
167176

168177
```
169-
git clone [email protected]:OpenKinect/libfreenect2.git
170-
```
171-
172-
1. Install a bunch of dependencies
173-
174-
```
175-
cd ./libfreenect2
176-
sh ./depends/install_mac.sh
178+
git clone https://github.com/OpenKinect/libfreenect2.git
179+
cd libfreenect2
177180
```
178181

179182
1. Build the actual protonect executable
@@ -191,38 +194,45 @@ make install
191194
./bin/Protonect
192195
```
193196

194-
### Debian/Ubuntu 14.04 (perhaps earlier)
197+
### Debian/Ubuntu 14.04
195198

196199
1. Install libfreenect2
197200

198201
```
199202
git clone https://github.com/OpenKinect/libfreenect2.git
200203
```
201204

202-
1. Install a bunch of dependencies
205+
1. Install build tools, TurboJPEG, and OpenGL dependencies
203206

204207
```bash
205-
sudo apt-get install build-essential libturbojpeg libjpeg-turbo8-dev libtool autoconf libudev-dev cmake mesa-common-dev freeglut3-dev libxrandr-dev doxygen libxi-dev automake
208+
sudo apt-get install build-essential cmake pkg-config libturbojpeg libjpeg-turbo8-dev mesa-common-dev freeglut3-dev libxrandr-dev libxi-dev
206209
# sudo apt-get install libturbojpeg0-dev (Debian)
210+
```
211+
212+
1. Install libusb. `sudo apt-get install libusb-1.0-0-dev`. The version must be >=1.0.20. You may use `sudo apt-add-repository ppa:floe/libusb` if version 1.0.20 is not available.
207213

214+
1. Install GLFW3. If `sudo apt-get install libglfw3-dev` is not available (e.g. Ubuntu trusty 14.04), you can download and install deb files from later Ubuntu releases:
215+
216+
```bash
208217
cd libfreenect2/depends
209218
sh install_ubuntu.sh
210-
sudo dpkg -i libglfw3*_3.0.4-1_*.deb # Ubuntu 14.04 only
211-
# sudo apt-get install libglfw3-dev (Debian/Ubuntu 14.10+:)
219+
sudo dpkg -i libglfw3*_3.0.4-1_*.deb
212220
```
221+
If you have Intel GPU, there is a serious GLSL bug with `libgl1-mesa-dri`. You are recommended but not required to update it to >=10.3 or newest using later releases or xorg-edgers ppa.
213222

214223
1. OpenCL dependency
224+
* OpenCL ICD loader: if you have `ocl-icd-libopencl1` (provides libOpenCL.so) installed, you are recommended but not required to update it to 2.2.4+ using later releases. Early versions have a deadlock bug that may cause hanging.
215225
* AMD GPU: Install the latest version of the AMD Catalyst drivers from https://support.amd.com and `apt-get install opencl-headers`.
216-
* Nvidia GPU: Install the latest version of the Nvidia drivers, for example nvidia-346 from `ppa:xorg-edgers` and `apt-get install opencl-headers`.
217-
* Intel GPU (kernel 3.16+ recommended): Install beignet-dev 1.0+, `apt-get install beignet-dev`. If not available, use this ppa `sudo apt-add-repository ppa:pmjdebruijn/beignet-testing`.
226+
* Nvidia GPU: Install the latest version of the Nvidia drivers, for example nvidia-346 from `ppa:xorg-edgers` and `apt-get install opencl-headers`. Make sure that `dpkg -S libOpenCL.so` shows `ocl-icd-libopencl1` instead of nvidia opencl packages which are incompatible with `opencl-headers`. CUDA toolkit is not required for OpenCL.
227+
* Intel GPU (kernel 3.16+ recommended): Install beignet-dev 1.0+, `apt-get install beignet-dev`. If not available, use this ppa `sudo apt-add-repository ppa:pmjdebruijn/beignet-testing`. Do not install `beignet` which has version 0.3.
218228

219229
1. Build the actual protonect executable
220230

221231
```
222232
mkdir build && cd build
223233
cmake ..
224234
make
225-
sudo make install
235+
sudo make install # without sudo if cmake -DCMAKE_INSTALL_PREFIX=$HOME/...
226236
```
227237

228238
1. Run the program
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
INCLUDE(CheckCXXSourceCompiles)
2+
INCLUDE(CheckCSourceCompiles)
3+
4+
SET(CMAKE_REQUIRED_INCLUDES "${MY_DIR}/include/internal" ${OpenCL_INCLUDE_DIRS})
5+
SET(CMAKE_REQUIRED_LIBRARIES ${OpenCL_LIBRARIES})
6+
CHECK_C_SOURCE_COMPILES("
7+
#include <CL/cl.h>
8+
int main() {
9+
clGetPlatformIDs(0, 0, 0);
10+
return 0;
11+
}" OpenCL_C_WORKS)
12+
CHECK_CXX_SOURCE_COMPILES("
13+
#include <CL/cl.hpp>
14+
int main() {
15+
cl::Context context;
16+
cl::Platform platform;
17+
cl::Device device;
18+
return 0;
19+
}" OpenCL_CXX_WORKS)
20+
SET(CMAKE_REQUIRED_INCLUDES)
21+
SET(CMAKE_REQUIRED_LIBRARIES)

0 commit comments

Comments
 (0)