[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