summaryrefslogtreecommitdiff
path: root/cmake
diff options
context:
space:
mode:
authorBlaž Tomažič <blaz.tomazic@gmail.com>2012-08-29 22:18:22 +0200
committerBlaž Tomažič <blaz.tomazic@gmail.com>2012-09-05 14:56:00 +0200
commit9ffd30f4180e827b0a20641ebcfba50f595c57ef (patch)
treeb2d1e3ec14516430b2adf1b126d9db39ec7f507c /cmake
parent5ce701941127e8e05ec67ca87c429e74c1744db6 (diff)
cmake: Build OpenCL utilities and framework
Add BUILD_CL_TESTS option to cmake configuration and build OpenCL utilities and framework to library piglitutil_cl. Signed-off-by: Blaž Tomažič <blaz.tomazic@gmail.com>
Diffstat (limited to 'cmake')
-rw-r--r--cmake/Modules/FindOpenCL.cmake39
-rw-r--r--cmake/piglit_util.cmake2
-rw-r--r--cmake/target_api/CMakeLists.txt4
-rw-r--r--cmake/target_api/cl/CMakeLists.txt10
4 files changed, 54 insertions, 1 deletions
diff --git a/cmake/Modules/FindOpenCL.cmake b/cmake/Modules/FindOpenCL.cmake
new file mode 100644
index 000000000..52aa8bd4c
--- /dev/null
+++ b/cmake/Modules/FindOpenCL.cmake
@@ -0,0 +1,39 @@
+# Copyright © 2012 Blaž Tomažič <blaz.tomazic@gmail.com>
+#
+# Permission is hereby granted, free of charge, to any person obtaining a
+# copy of this software and associated documentation files (the "Software"),
+# to deal in the Software without restriction, including without limitation
+# the rights to use, copy, modify, merge, publish, distribute, sublicense,
+# and/or sell copies of the Software, and to permit persons to whom the
+# Software is furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice (including the next
+# paragraph) shall be included in all copies or substantial portions of the
+# Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+# DEALINGS IN THE SOFTWARE.
+
+# This module defines the following variables:
+#
+# OPENCL_FOUND
+# True if OpenCL is installed.
+#
+# OPENCL_INCLUDE_PATH
+#
+# OPENCL_opencl_LIBRARY
+# Path to OpenCL's library.
+
+find_path(OPENCL_INCLUDE_PATH CL/opencl.h)
+find_library(OPENCL_opencl_LIBRARY OpenCL)
+
+include(FindPackageHandleStandardArgs)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(OpenCL
+ DEFAULT_MSG
+ OPENCL_opencl_LIBRARY OPENCL_INCLUDE_PATH
+ )
diff --git a/cmake/piglit_util.cmake b/cmake/piglit_util.cmake
index fccbadd53..681ce90b5 100644
--- a/cmake/piglit_util.cmake
+++ b/cmake/piglit_util.cmake
@@ -29,7 +29,7 @@ function(piglit_include_target_api)
# Verify that the value of `piglit_target_api` is valid.
set(valid_api FALSE)
- foreach(api "gl" "gles1" "gles2" "no_api")
+ foreach(api "gl" "gles1" "gles2" "cl" "no_api")
if(piglit_target_api STREQUAL ${api})
set(valid_api TRUE)
break()
diff --git a/cmake/target_api/CMakeLists.txt b/cmake/target_api/CMakeLists.txt
index f152ba206..d3e23f9ff 100644
--- a/cmake/target_api/CMakeLists.txt
+++ b/cmake/target_api/CMakeLists.txt
@@ -32,3 +32,7 @@ endif(BUILD_GLES1_TESTS)
if(BUILD_GLES2_TESTS)
add_subdirectory(gles2)
endif(BUILD_GLES2_TESTS)
+
+if(BUILD_CL_TESTS)
+ add_subdirectory(cl)
+endif(BUILD_CL_TESTS)
diff --git a/cmake/target_api/cl/CMakeLists.txt b/cmake/target_api/cl/CMakeLists.txt
new file mode 100644
index 000000000..7145ba1eb
--- /dev/null
+++ b/cmake/target_api/cl/CMakeLists.txt
@@ -0,0 +1,10 @@
+set(piglit_target_api "cl")
+
+add_definitions(
+ -DUSE_OPENCL
+ )
+
+add_subdirectory(${piglit_SOURCE_DIR}/tests
+ ${piglit_BINARY_DIR}/target_api/${piglit_target_api}/tests
+ )
+