commit | ed877f6d8d1517d2255be5daa0ad0a6278561d68 | [log] [tgz] |
---|---|---|
author | ouakheli <[email protected]> | Fri Mar 05 02:29:58 2021 +0000 |
committer | GitHub <[email protected]> | Thu Mar 04 21:29:58 2021 -0500 |
tree | fa5047b5519e32d277396d8de22dc6dca3294006 | |
parent | 2ba05c4d2173db2536f5a157ff94afa8bb355016 [diff] |
Fix cl2.hpp so it compiles for both 1.2 and 2.0 (#130) The compiler complains about missing braces when compiling for 2.0, and complains about "too many braces" for 1.2, because cl_image_desc has a union in 2.0, but just a cl_mem in 1.2. Set only needed members of cl_image_desc struct.
Doxgen documentation for the bindings is available here:
http://khronosgroup.github.io/OpenCL-CLHPP/
Components:
include/CL/opencl.hpp
: The latest, maintained, version of the C++ bindings. It should work with all versions of OpenCL (including 1.x). This is what most users will want.
include/CL/cl2.hpp
: Includes opencl.hpp
and emits a warning, for backwards compability.
docs
: Doxygen file used to generate HTML documentation for opencl.hpp
.
examples
: A simple example application using the very basic features of the bindings.
tests
: A (very small, incomplete) set of regression tests. Building the tests requires Python, Ruby, Unity and CMock. For the last two we use Unity 2.1.0 and CMock top-of-tree from Github (the version 2.0.204 on Sourceforge does not work).
CMakeLists.txt
: Build system for the examples and tests and logic for the bindings installation.
To get external dependencies needed for testing, use --recursive
when cloning the repository, or run git submodule update --init
.
You may need to tell CMake where to find the OpenCL headers and libraries, using the variables OPENCL_INCLUDE_DIR
and OPENCL_LIB_DIR
.
These can be set either as environment variables, or on the cmake command line using the syntax -D<VAR>=<VALUE>
.
The following is an example set of commands to checkout and build the C++ bindings (adapt paths as required):
git clone --recursive https://github.com/KhronosGroup/OpenCL-CLHPP cd OpenCL-CLHPP mkdir build cd build cmake .. -DOPENCL_INCLUDE_DIR=/path/to/OpenCL/headers -DOPENCL_LIB_DIR=/path/to/OpenCL/library make make test
After building, the headers appear in build/include/CL/
.
If Doxygen is available, you can generate HTML documentation by typing make docs
.