From 96c9cef62054491e81aab25d0bb63b3ec9ad25a3 Mon Sep 17 00:00:00 2001
From: demiralp <demiralp@vr.rwth-aachen.de>
Date: Mon, 9 Apr 2018 13:30:47 +0200
Subject: [PATCH] Added cmake utility for assigning source groups to a glob.

---
 cmake/assign_source_group.cmake | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)
 create mode 100644 cmake/assign_source_group.cmake

diff --git a/cmake/assign_source_group.cmake b/cmake/assign_source_group.cmake
new file mode 100644
index 00000000..648f93eb
--- /dev/null
+++ b/cmake/assign_source_group.cmake
@@ -0,0 +1,17 @@
+# Assigns the given files to source groups identical to their location.
+function(assign_source_group)
+  foreach(_SOURCE IN ITEMS ${ARGN})
+    if (IS_ABSOLUTE "${_SOURCE}")
+      file(RELATIVE_PATH _SOURCE_REL "${CMAKE_CURRENT_SOURCE_DIR}" "${_SOURCE}")
+    else()
+      set(_SOURCE_REL "${_SOURCE}")
+    endif()
+    get_filename_component(_SOURCE_PATH "${_SOURCE_REL}" PATH)
+    if(WIN32)
+      string(REPLACE "/" "\\" _SOURCE_PATH_MSVC "${_SOURCE_PATH}")
+      source_group("${_SOURCE_PATH_MSVC}" FILES "${_SOURCE}")
+    else()
+      source_group("${_SOURCE_PATH}" FILES "${_SOURCE}")
+    endif()
+  endforeach()
+endfunction(assign_source_group)
\ No newline at end of file
-- 
GitLab