Установить заголовки в соответствующие каталоги - PullRequest
0 голосов
/ 05 декабря 2018

Я пытаюсь установить заголовки моей библиотеки, используя QMake.Эти заголовки задали иерархический порядок, который также должен применяться к цели установки.Мое текущее решение для этого состоит в том, чтобы добавить много целей (каждая для одного подкаталога):

...
headers.path = /usr/include/foo/widgets
headers_base.path = /usr/include/foo/widgets
headers_data.path = /usr/include/foo/widgets/data
headers_editors.path = /usr/include/foo/widgets/editors
...
HEADERS_BASE += \
    foo.hpp \
    bar.hpp
HEADERS_DATA += \
    data/foo.hpp \
    data/bar.hpp
HEADERS_EDITORS += \
    editors/foo.hpp \
    editors/bar.hpp
...
HEADERS += $$HEADERS_BASE \
    $$HEADERS_DATA \
    $$HEADERS_EDITORS

Это tedius и prune-prune.Я хотел бы использовать что-то простое и понятное, как nobase в автоинструментах.Примерно так:

magic_HEADERS += \
    foo.hpp \
    bar.hpp
    data/foo.hpp \
    data/bar.hpp
    editors/foo.hpp \
    editors/bar.hpp

Примечание

Наличие

HEADERS += \
    foo.hpp \
    bar.hpp
    data/foo.hpp \
    data/bar.hpp
    editors/foo.hpp \
    editors/bar.hpp

Установка всех заголовков в одном каталоге.

1 Ответ

0 голосов
/ 16 декабря 2018

Заголовки будут установлены, если вы измените файл .pro с примером:

HEADERS += \
    include/widgets/foo.hpp \
    include/widgets/bar.hpp \
    include/widgets/data/foo.hpp \
    include/widgets/data/bar.hpp \
    include/widgets/editors/foo.hpp \
    include/widgets/editors/bar.hpp

unix {
    headers.path = /usr/local/include
    headers.files = $$PWD/include/*

    target.path = /usr/local/lib
    INSTALLS += target headers
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...