Как объединить несколько списков файлов вместе с CMake?
у меня есть проект, построенный с CMake, который должен скопировать некоторые ресурсы в папку назначения. В настоящее время я использую этот код:
file(GLOB files "path/to/files/*")
foreach(file ${files})
ADD_CUSTOM_COMMAND(
TARGET MyProject
POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy "${file}" "${CMAKE_BINARY_DIR}/Debug"
)
endforeach()
теперь я хочу скопировать больше файлов из другой папки. Поэтому мы хотим скопировать файлы из обоих path/to/files
и path/to/files2
в то же место в двоичной папке. Одним из способов было бы просто дублировать вышеуказанный код, но кажется ненужным дублировать длинную пользовательскую команду.
есть ли простой способ использовать file
(и, возможно, the list
команда также), чтобы объединить два GLOB
списки?
2 ответов
на file(GLOB ...)
команда позволяет указать несколько подстановка выражений:
file(GLOB files "path/to/files/*" "path/to/files2*")
Я бы построил список для каждого из шаблонов, а затем объединил списки:
file(GLOB files1 "path/to/files1/*")
file(GLOB files2 "path/to/files2/*")
set(files ${files1} ${files2})