From 299af94ccd21d6113565afb7f6399148c8884b11 Mon Sep 17 00:00:00 2001
From: Soeren Peters <peters@irmb.tu-bs.de>
Date: Fri, 26 Jun 2020 14:34:50 +0200
Subject: [PATCH] added new cmake filed

---
 CMake/FileUtilities.cmake   | 103 ++++++++++++++++++++++++++++++++++++
 gpu/src/Core/CMakeLists.txt |   9 ++++
 2 files changed, 112 insertions(+)
 create mode 100644 CMake/FileUtilities.cmake
 create mode 100644 gpu/src/Core/CMakeLists.txt

diff --git a/CMake/FileUtilities.cmake b/CMake/FileUtilities.cmake
new file mode 100644
index 000000000..bb884be26
--- /dev/null
+++ b/CMake/FileUtilities.cmake
@@ -0,0 +1,103 @@
+macro(includeAllFiles targetName file_path)
+	set(collectTestFiles ON)
+	set(collectProductionFiles ON)
+
+	includeFiles(${targetName} "${file_path}")
+endmacro(includeAllFiles)
+
+
+
+macro(includeProductionFiles targetName file_path)
+	set(collectTestFiles OFF)
+	set(collectProductionFiles ON)
+
+	includeFiles(${targetName} "${file_path}")
+endmacro(includeProductionFiles)
+
+
+
+macro(includeTestFiles targetName file_path)
+	set(collectTestFiles ON)
+	set(collectProductionFiles OFF)
+
+	includeFiles(${targetName} "${file_path}")
+endmacro(includeTestFiles)
+
+
+
+
+macro(includeFiles targetName file_path)
+	foreach(file ${file_path})
+		get_filename_component(package_dir ${file} DIRECTORY)
+
+		 collectFilesFrom(${file})
+		if (package_dir)
+		 setSourceGroupForFilesIn(${package_dir} ${targetName})
+		endif()
+	endforeach()
+endmacro(includeFiles)
+
+
+
+macro(collectFilesFrom path)
+	#input: path from files to collect
+
+	#foreach(_file ${path})
+		get_filename_component(fileName ${path} NAME)
+		if(collectTestFiles)
+			if(${fileName} MATCHES "Test" OR ${fileName} MATCHES "Mock")
+				set(MY_SRCS ${MY_SRCS} ${path})
+			endif()
+		endif()
+		if(collectProductionFiles)
+			if(NOT ${fileName} MATCHES "Test" AND NOT ${fileName} MATCHES "Mock")
+				set(MY_SRCS ${MY_SRCS} ${path})
+			endif()
+		endif()
+	#endforeach()
+	#set(MY_SRCS ${MY_SRCS} ${COLLECTED_FILES_IN_PATH})
+
+	#output: MY_SRCS
+endmacro(collectFilesFrom)
+
+
+
+
+macro(setSourceGroupForFilesIn package_dir targetName)
+#input: target_name PACKAGE_SRCS
+	buildSourceGroup(${targetName} ${package_dir})
+
+	if(isAllTestSuite)
+		source_group(${targetName}\\${SOURCE_GROUP} FILES ${MY_SRCS})
+	else()
+		source_group(${SOURCE_GROUP} FILES ${MY_SRCS})
+	endif()
+#output: -
+endmacro(setSourceGroupForFilesIn)
+
+
+
+
+macro(buildSourceGroup targetName path)
+#input: targetName (e.g. lib name, exe name)
+
+	unset(SOURCE_GROUP)
+	string(REPLACE "/" ";" folderListFromPath ${path})
+	set(findTargetName 0)
+
+	foreach(folder ${folderListFromPath})
+		if(findTargetName)
+			set(SOURCE_GROUP ${SOURCE_GROUP}\\${folder})
+		endif()
+
+		if(${folder} STREQUAL ${targetName})
+			SET(findTargetName 1)
+		endif()
+	endforeach()
+
+	if(NOT SOURCE_GROUP)
+		set(SOURCE_GROUP "general")
+	endif()
+
+#output: SOURCE_GROUP
+endmacro(buildSourceGroup)
\ No newline at end of file
diff --git a/gpu/src/Core/CMakeLists.txt b/gpu/src/Core/CMakeLists.txt
new file mode 100644
index 000000000..76ff40322
--- /dev/null
+++ b/gpu/src/Core/CMakeLists.txt
@@ -0,0 +1,9 @@
+include(buildInfo.cmake)
+
+
+vf_add_library(BUILDTYPE shared EXCLUDE buildInfo.in.cpp)
+
+
+include (${CMAKE_PATH}/3rd/mpi.cmake)
+include (${CMAKE_PATH}/3rd/boost.cmake)
+linkBoost("thread;serialization")
\ No newline at end of file
-- 
GitLab