Получение файлов с путями с помощью CMake - PullRequest
2 голосов
/ 14 марта 2012

У меня есть библиотека C ++, которая использует cmake. Структура моей библиотеки выглядит следующим образом:

src/module1/class1.h 
src/module1/class1.cpp 
src/module1/class2.h
src/module1/class2.cpp
src/module2/class3.h
src/module2/class3.cpp

и т.д ..

Я хочу создать правило установки для моего проекта с помощью команды INSTALL. Во-первых, мне нужно получить все мои файлы заголовков:

FILE (GLOB_RECURSE ALL_HEADERS "*.h")

Далее я пытаюсь установить их на C: \ temp:

INSTALL(FILES {$ALL_HEADER} DESTINATION "C:\\temp")

Работает, но в результате получается следующий каталог:

temp/class1.h
temp/class2.h
temp/class3.h

но не является:

temp/module1/class1.h
temp/module1/class2.h
temp/module2/class3.h

Как видите, CMake не "запоминает" пути к папкам. Как я могу справиться с этим?

1 Ответ

1 голос
/ 14 марта 2012

Один из вариантов использует синтаксис install(DIRECTORY ...:

install(DIRECTORY src/module1 src/module2 DESTINATION "C:/temp" FILES_MATCHING PATTERN "*.h")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...