diff --git a/examples/protonect/CMakeLists.txt b/examples/protonect/CMakeLists.txt index 2ff532033..7df076efb 100644 --- a/examples/protonect/CMakeLists.txt +++ b/examples/protonect/CMakeLists.txt @@ -6,6 +6,7 @@ SET(CMAKE_BUILD_TYPE RelWithDebInfo) SET(MY_DIR ${libfreenect2_SOURCE_DIR}) OPTION(ENABLE_CXX11 "Enable C++11 support" OFF) +OPTION(ENABLE_OPENCL "Enable OpenCL support" ON) IF(ENABLE_CXX11) INCLUDE(CheckCXXCompilerFlag) @@ -131,7 +132,7 @@ LIST(APPEND RESOURCES src/shader/stage2.fs ) -IF(OPENCL_FOUND) +IF(ENABLE_OPENCL AND OPENCL_FOUND) ADD_DEFINITIONS(-DWITH_OPENCL_SUPPORT) INCLUDE_DIRECTORIES(${OPENCL_INCLUDE_DIRS}) @@ -146,7 +147,7 @@ IF(OPENCL_FOUND) LIST(APPEND RESOURCES src/opencl_depth_packet_processor.cl ) -ENDIF(OPENCL_FOUND) +ENDIF(ENABLE_OPENCL AND OPENCL_FOUND) GENERATE_RESOURCES(${RESOURCES_INC_FILE} ${MY_DIR} ${RESOURCES}) diff --git a/examples/protonect/include/libfreenect2/packet_pipeline.h b/examples/protonect/include/libfreenect2/packet_pipeline.h index d0f863c96..e19022f48 100644 --- a/examples/protonect/include/libfreenect2/packet_pipeline.h +++ b/examples/protonect/include/libfreenect2/packet_pipeline.h @@ -90,6 +90,7 @@ class OpenGLPacketPipeline : public BasePacketPipeline virtual ~OpenGLPacketPipeline(); }; +#ifdef WITH_OPENCL_SUPPORT class OpenCLPacketPipeline : public BasePacketPipeline { protected: @@ -98,6 +99,7 @@ class OpenCLPacketPipeline : public BasePacketPipeline OpenCLPacketPipeline(); virtual ~OpenCLPacketPipeline(); }; +#endif // WITH_OPENCL_SUPPORT typedef OpenGLPacketPipeline DefaultPacketPipeline; diff --git a/examples/protonect/src/packet_pipeline.cpp b/examples/protonect/src/packet_pipeline.cpp index 1e7c394c7..a461e5ab6 100644 --- a/examples/protonect/src/packet_pipeline.cpp +++ b/examples/protonect/src/packet_pipeline.cpp @@ -113,6 +113,9 @@ DepthPacketProcessor *OpenGLPacketPipeline::createDepthPacketProcessor() return depth_processor; } + +#ifdef WITH_OPENCL_SUPPORT + OpenCLPacketPipeline::OpenCLPacketPipeline() { initialize(); @@ -129,5 +132,6 @@ DepthPacketProcessor *OpenCLPacketPipeline::createDepthPacketProcessor() return depth_processor; } +#endif // WITH_OPENCL_SUPPORT } /* namespace libfreenect2 */