Updated SWH plugins and added missing hermes_filter plugin
[lmms/mlankhorst.git] / cmake / modules / InstallHelpers.cmake
blob9e0f09c07e93c4b16b96cdb9e2fbdbe212217573
2 # install all files matching certain wildcards below ${LMMS_DATA_DIR}/<subdir>
4 # example:
6 #   INSTALL_DATA_SUBDIRS("samples" "*.ogg;*.wav;*.flac")
8 # Copyright (c) 2008 Tobias Doerffel
12 # helper-macro
13 MACRO(LIST_CONTAINS var value)
14         SET(${var})
15                 FOREACH (value2 ${ARGN})
16                         IF (${value} STREQUAL ${value2})
17                                 SET(${var} TRUE)
18                         ENDIF (${value} STREQUAL ${value2})
19         ENDFOREACH (value2)
20 ENDMACRO(LIST_CONTAINS)
23 MACRO(INSTALL_DATA_SUBDIRS _subdir _wildcards)
24         FOREACH(_wildcard ${_wildcards})
25                 FILE(GLOB_RECURSE files ${_wildcard})
26                 SET(SUBDIRS)
28                 FOREACH(_item ${files})
29                         GET_FILENAME_COMPONENT(_file "${_item}" PATH)
30                         STRING(REPLACE "${CMAKE_CURRENT_SOURCE_DIR}/" "" _file "${_file}")
31                         LIST_CONTAINS(contains _file ${SUBDIRS})
32                         IF(NOT contains)
33                                 LIST(APPEND SUBDIRS "${_file}")
34                         ENDIF(NOT contains)
35                 ENDFOREACH(_item ${files})
37                 FOREACH(_item ${SUBDIRS})
38                         FILE(GLOB files "${_item}/${_wildcard}")
39                         FOREACH(_file ${files})
40                                 INSTALL(FILES "${_file}" DESTINATION "${LMMS_DATA_DIR}/${_subdir}/${_item}/")
41                         ENDFOREACH(_file ${files})
42                 ENDFOREACH(_item ${SUBDIRS})
43         ENDFOREACH(_wildcard ${_wildcards})
44 ENDMACRO(INSTALL_DATA_SUBDIRS)