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