|
1 |
|
|
2 |
|
|
3 |
#helpful functions and macros
|
|
4 |
MACRO(SUBDIRLIST result curdir REGEX_PREFIX)
|
|
5 |
FILE(GLOB children RELATIVE ${curdir} ${curdir}/${REGEX_PREFIX}*)
|
|
6 |
SET(dirlist "")
|
|
7 |
FOREACH(child ${children})
|
|
8 |
IF(IS_DIRECTORY ${curdir}/${child})
|
|
9 |
LIST(APPEND dirlist ${child})
|
|
10 |
ENDIF()
|
|
11 |
ENDFOREACH()
|
|
12 |
SET(${result} ${dirlist})
|
|
13 |
ENDMACRO()
|
|
14 |
|
|
15 |
MACRO(LUSTREFILES result dir)
|
|
16 |
FILE(GLOB children ${dir} ${dir}/*.lus)
|
|
17 |
SET(lustreFileslist "")
|
|
18 |
FOREACH(child ${children})
|
|
19 |
IF(EXISTS ${child} AND NOT IS_DIRECTORY ${child})
|
|
20 |
LIST(APPEND lustreFileslist ${child})
|
|
21 |
ENDIF()
|
|
22 |
ENDFOREACH()
|
|
23 |
SET(${result} ${lustreFileslist})
|
|
24 |
ENDMACRO()
|
|
25 |
|
|
26 |
|
|
27 |
function(JOIN VALUES GLUE OUTPUT)
|
|
28 |
string (REGEX REPLACE "([^\\]|^);" "\\1${GLUE}" _TMP_STR "${VALUES}")
|
|
29 |
string (REGEX REPLACE "[\\](.)" "\\1" _TMP_STR "${_TMP_STR}") #fixes escaping
|
|
30 |
set (${OUTPUT} "${_TMP_STR}" PARENT_SCOPE)
|
|
31 |
endfunction()
|
|
32 |
|
|
33 |
|
|
34 |
|
|
35 |
|
|
36 |
function(CUT_OPTIONS ZUS_OPTS OUTPUT)
|
|
37 |
string(REPLACE "--" "_" ZUS_OPTS_CUT ${ZUS_OPTS})
|
|
38 |
string(REPLACE "-" "" ZUS_OPTS_CUT ${ZUS_OPTS_CUT})
|
|
39 |
string(REPLACE " " "_" ZUS_OPTS_CUT ${ZUS_OPTS_CUT})
|
|
40 |
set (${OUTPUT} "${ZUS_OPTS_CUT}" PARENT_SCOPE)
|
|
41 |
endfunction()
|
|
42 |
|
|
43 |
function(get_lustre_name_ext LUS_FILE L E)
|
|
44 |
# Extraction name + extension from ${LUS_LUS_FILE} as L and E. E is the smallest extension
|
|
45 |
get_filename_component(N ${LUS_FILE} NAME)
|
|
46 |
string(REPLACE "." ";" N ${N})
|
|
47 |
set(N "${N}")
|
|
48 |
list(LENGTH N len)
|
|
49 |
math(EXPR idx "${len}-1")
|
|
50 |
list(GET N "${idx}" "${E}")
|
|
51 |
set(L "${N}")
|
|
52 |
list(REMOVE_AT L "${idx}")
|
|
53 |
string(REPLACE ";" "." L "${L}")
|
|
54 |
# message("Extraction file ${LUS_FILE} as ${L} and ${E}")
|
|
55 |
set(L "${L}" PARENT_SCOPE)
|
|
56 |
set(E "${E}" PARENT_SCOPE)
|
|
57 |
endfunction()
|
add helpful_functions to the modules folder