[Cmake-commits] CMake branch, next, updated. v3.5.2-825-g9acba5e
Brad King
brad.king at kitware.com
Thu Jun 2 09:20:53 EDT 2016
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "CMake".
The branch, next has been updated
via 9acba5e6d650906234bf8e4eead1507a10e6ca6c (commit)
via b66d4739b5e0944a58d4a94431ed7ad042fad05d (commit)
from a8adcbd4283935a34d600f0a69e1019c8336a92b (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=9acba5e6d650906234bf8e4eead1507a10e6ca6c
commit 9acba5e6d650906234bf8e4eead1507a10e6ca6c
Merge: a8adcbd b66d473
Author: Brad King <brad.king at kitware.com>
AuthorDate: Thu Jun 2 09:20:48 2016 -0400
Commit: CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Thu Jun 2 09:20:48 2016 -0400
Merge topic 'FindOpenCL-imported-target' into next
b66d4739 FindOpenCL: Add an imported target
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=b66d4739b5e0944a58d4a94431ed7ad042fad05d
commit b66d4739b5e0944a58d4a94431ed7ad042fad05d
Author: Matthäus G. Chajdas <cmake at anteru.net>
AuthorDate: Tue May 31 21:10:40 2016 +0200
Commit: Brad King <brad.king at kitware.com>
CommitDate: Thu Jun 2 08:46:43 2016 -0400
FindOpenCL: Add an imported target
diff --git a/Help/release/dev/FindOpenCL-imported-target.rst b/Help/release/dev/FindOpenCL-imported-target.rst
new file mode 100644
index 0000000..259c745
--- /dev/null
+++ b/Help/release/dev/FindOpenCL-imported-target.rst
@@ -0,0 +1,4 @@
+FindOpenCL-imported-target
+--------------------------
+
+* The :module:`FindOpenCL` module now provides imported targets.
diff --git a/Modules/FindOpenCL.cmake b/Modules/FindOpenCL.cmake
index 4d3ed84..feda315 100644
--- a/Modules/FindOpenCL.cmake
+++ b/Modules/FindOpenCL.cmake
@@ -4,7 +4,16 @@
#
# Try to find OpenCL
#
-# Once done this will define::
+# IMPORTED Targets
+# ^^^^^^^^^^^^^^^^
+#
+# This module defines :prop_tgt:`IMPORTED` target ``OpenCL::OpenCL``, if
+# OpenCL has been found.
+#
+# Result Variables
+# ^^^^^^^^^^^^^^^^
+#
+# This module defines the following variables::
#
# OpenCL_FOUND - True if OpenCL was found
# OpenCL_INCLUDE_DIRS - include directories for OpenCL
@@ -20,7 +29,7 @@
#
#=============================================================================
-# Copyright 2014 Matthaeus G. Chajdas
+# Copyright 2014-2016 Matthaeus G. Chajdas
#
# Distributed under the OSI-approved BSD License (the "License");
# see accompanying file Copyright.txt for details.
@@ -134,3 +143,10 @@ find_package_handle_standard_args(
mark_as_advanced(
OpenCL_INCLUDE_DIR
OpenCL_LIBRARY)
+
+if(OpenCL_FOUND AND NOT TARGET OpenCL::OpenCL)
+ add_library(OpenCL::OpenCL UNKNOWN IMPORTED)
+ set_target_properties(OpenCL::OpenCL PROPERTIES
+ IMPORTED_LOCATION "${OpenCL_LIBRARY}"
+ INTERFACE_INCLUDE_DIRECTORIES "${OpenCL_INCLUDE_DIRS}")
+endif()
diff --git a/Tests/CMakeLists.txt b/Tests/CMakeLists.txt
index 2db5ded..b72ecf5 100644
--- a/Tests/CMakeLists.txt
+++ b/Tests/CMakeLists.txt
@@ -1378,6 +1378,10 @@ ${CMake_BINARY_DIR}/bin/cmake -DDIR=dev -P ${CMake_SOURCE_DIR}/Utilities/Release
add_subdirectory(FindLTTngUST)
endif()
+ if(CMake_TEST_FindOpenCL)
+ add_subdirectory(FindOpenCL)
+ endif()
+
if(CMake_TEST_FindOpenSSL)
add_subdirectory(FindOpenSSL)
endif()
diff --git a/Tests/FindOpenCL/CMakeLists.txt b/Tests/FindOpenCL/CMakeLists.txt
new file mode 100644
index 0000000..88d2eae
--- /dev/null
+++ b/Tests/FindOpenCL/CMakeLists.txt
@@ -0,0 +1,10 @@
+add_test(NAME FindOpenCL.Test COMMAND
+ ${CMAKE_CTEST_COMMAND} -C $<CONFIGURATION>
+ --build-and-test
+ "${CMake_SOURCE_DIR}/Tests/FindOpenCL/Test"
+ "${CMake_BINARY_DIR}/Tests/FindOpenCL/Test"
+ ${build_generator_args}
+ --build-project TestFindOpenCL
+ --build-options ${build_options}
+ --test-command ${CMAKE_CTEST_COMMAND} -V -C $<CONFIGURATION>
+ )
diff --git a/Tests/FindOpenCL/Test/CMakeLists.txt b/Tests/FindOpenCL/Test/CMakeLists.txt
new file mode 100644
index 0000000..f8a6587
--- /dev/null
+++ b/Tests/FindOpenCL/Test/CMakeLists.txt
@@ -0,0 +1,14 @@
+cmake_minimum_required(VERSION 3.4)
+project(TestFindOpenCL C)
+include(CTest)
+
+find_package(OpenCL REQUIRED)
+
+add_executable(test_tgt main.c)
+target_link_libraries(test_tgt OpenCL::OpenCL)
+add_test(NAME test_tgt COMMAND test_tgt)
+
+add_executable(test_var main.c)
+target_include_directories(test_var PRIVATE ${OpenCL_INCLUDE_DIRS})
+target_link_libraries(test_var PRIVATE ${OpenCL_LIBRARIES})
+add_test(NAME test_var COMMAND test_var)
diff --git a/Tests/FindOpenCL/Test/main.c b/Tests/FindOpenCL/Test/main.c
new file mode 100644
index 0000000..b075caf
--- /dev/null
+++ b/Tests/FindOpenCL/Test/main.c
@@ -0,0 +1,16 @@
+#ifdef __APPLE__
+ #include <OpenCL/opencl.h>
+#else
+ #include <CL/cl.h>
+#endif
+
+int main()
+{
+ cl_uint platformIdCount;
+
+ // We can't assert on the result because this may return an error if no ICD is
+ // found
+ clGetPlatformIDs (0, NULL, &platformIdCount);
+
+ return 0;
+}
-----------------------------------------------------------------------
Summary of changes:
Help/release/dev/FindOpenCL-imported-target.rst | 4 ++++
Modules/FindOpenCL.cmake | 20 ++++++++++++++++++--
Tests/CMakeLists.txt | 4 ++++
Tests/{FindPNG => FindOpenCL}/CMakeLists.txt | 8 ++++----
Tests/FindOpenCL/Test/CMakeLists.txt | 14 ++++++++++++++
Tests/FindOpenCL/Test/main.c | 16 ++++++++++++++++
6 files changed, 60 insertions(+), 6 deletions(-)
create mode 100644 Help/release/dev/FindOpenCL-imported-target.rst
copy Tests/{FindPNG => FindOpenCL}/CMakeLists.txt (54%)
create mode 100644 Tests/FindOpenCL/Test/CMakeLists.txt
create mode 100644 Tests/FindOpenCL/Test/main.c
hooks/post-receive
--
CMake
More information about the Cmake-commits
mailing list