From 01d0d5133d79173efa7d6678288fd9f893a55ee2 Mon Sep 17 00:00:00 2001
From: Christian Engwer <christi@dune-project.org>
Date: Thu, 26 Nov 2015 09:45:20 +0100
Subject: [PATCH] [cmake] simplify Vc handling and add HAVE_VC to config.h

---
 cmake/modules/AddVcFlags.cmake       | 21 ---------------------
 cmake/modules/DuneCommonMacros.cmake |  9 ++++++++-
 config.h.cmake                       |  3 +++
 3 files changed, 11 insertions(+), 22 deletions(-)
 delete mode 100644 cmake/modules/AddVcFlags.cmake

diff --git a/cmake/modules/AddVcFlags.cmake b/cmake/modules/AddVcFlags.cmake
deleted file mode 100644
index 96b3c5027..000000000
--- a/cmake/modules/AddVcFlags.cmake
+++ /dev/null
@@ -1,21 +0,0 @@
-# Defines the functions to use GMP
-#
-# .. cmake_function:: add_dune_vc_flags
-#
-#    .. cmake_param:: targets
-#       :positional:
-#       :single:
-#       :required:
-#
-#       A list of targets to use GMP with.
-#
-
-function(add_dune_vc_flags _targets)
-  if(Vc_FOUND)
-    foreach(_target ${_targets})
-      target_link_libraries(${_target} ${Vc_LIBRARIES})
-      target_compile_options(${_target} ${Vc_ALL_FLAGS})
-      target_include_directories(${_target} SYSTEM ${Vc_INCLUDE_DIR})
-    endforeach(_target ${_targets})
-  endif(Vc_FOUND)
-endfunction(add_dune_vc_flags)
diff --git a/cmake/modules/DuneCommonMacros.cmake b/cmake/modules/DuneCommonMacros.cmake
index bc5540413..c88a25615 100644
--- a/cmake/modules/DuneCommonMacros.cmake
+++ b/cmake/modules/DuneCommonMacros.cmake
@@ -26,5 +26,12 @@ include(AddGMPFlags)
 find_package(Inkscape)
 include(UseInkscape)
 include(FindMProtect)
+
+# try to find the Vc library
 find_package(Vc)
-include(AddVcFlags)
+set(HAVE_VC ${Vc_FOUND})
+if(${HAVE_VC})
+  dune_register_package_flags(COMPILE_OPTIONS "${Vc_ALL_FLAGS}"
+                              LIBRARIES "${Vc_LIBRARIES}"
+                              INCLUDE_DIRS "${Vc_INCLUDE_DIR}")
+endif(${HAVE_VC})
diff --git a/config.h.cmake b/config.h.cmake
index e0e899061..f593b6aed 100644
--- a/config.h.cmake
+++ b/config.h.cmake
@@ -45,6 +45,9 @@
    to facilitate activating and deactivating GMP using compile flags. */
 #cmakedefine HAVE_GMP ENABLE_GMP
 
+/* Define to 1 if you have the Vc library. */
+#cmakedefine HAVE_VC 1
+
 /* Define to 1 if you have the symbol mprotect. */
 #cmakedefine HAVE_MPROTECT 1
 
-- 
GitLab