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