-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathsourceGroups.cmake
More file actions
25 lines (22 loc) · 840 Bytes
/
sourceGroups.cmake
File metadata and controls
25 lines (22 loc) · 840 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#
# assigns sourcegroup from path
# the rootdir parameter specifies the part of the path which has to be striped of
# this function accepts an optional argument which allows to preappend some sourceGroup path
#
#
MACRO (sourceGroups sources rootdir)
FOREACH (src ${${sources}})
#delete source directory
string(REGEX REPLACE ${rootdir} "" last_dir ${src})
#delete last slash and filename
string(REGEX REPLACE "[\\\\/][^\\\\/]*$" "" last_dir ${last_dir})
#delete first slash
string(REGEX REPLACE "^[\\\\/]" "" last_dir ${last_dir})
#replace forward with backslash
string(REGEX REPLACE "/" "\\\\" last_dir ${last_dir})
#preappend optional argument - will be empty by default
set( last_dir "${ARGN}\\${last_dir}" )
# assign sourcegroup
source_group(${last_dir} FILES ${src})
ENDFOREACH (src)
ENDMACRO (sourceGroups)