Ответ 1
Я нашел решение самостоятельно:
file(GLOB MY_PUBLIC_HEADERS
"myDir/*.h"
)
file(COPY ${MY_PUBLIC_HEADERS} DESTINATION myDestination)
Я видел, что могу использовать эту команду, чтобы скопировать каталог с помощью cmake:
file(COPY "myDir" DESTINATION "myDestination")
(from этот пост)
Моя проблема в том, что я не хочу копировать все myDir
, но только файлы .h, которые там есть. Я пробовал с помощью
file(COPY "myDir/*.h" DESTINATION "myDestination")
но я получаю следующую ошибку:
CMake Error at CMakeLists.txt:23 (file):
file COPY cannot find
"/full/path/to/myDIR/*.h".
Как фильтровать файлы, которые я хочу скопировать в папку назначения?
Я нашел решение самостоятельно:
file(GLOB MY_PUBLIC_HEADERS
"myDir/*.h"
)
file(COPY ${MY_PUBLIC_HEADERS} DESTINATION myDestination)
это также работает для меня:
install(DIRECTORY "myDir/"
DESTINATION "myDestination"
FILES_MATCHING PATTERN "*.h" )