Включая DCMTK с CMake в качестве подмодуля git - PullRequest
0 голосов
/ 04 февраля 2019

Я пытаюсь использовать подмодули git для зависимостей в моем проекте и хочу добавить их в мою сборку CMake.До сих пор мой подход заключался в том, чтобы вручную построить / установить зависимости, а затем использовать find_package () .

Теперь я хочу иметь возможность рекурсивно клонировать мой репозиторий и позволить CMake создавать все, включая зависимости.Я уже добавил их как подмодули git.Мой новый подход с CMake, например для Assimp, -

add_subdirectory(external/assimp)

и позже

target_include_directories(${PROJECT_NAME}
    PRIVATE
        ${CMAKE_CURRENT_SOURCE_DIR}/external/assimp/include/
)

Я не уверен, что это правильный подход, но, по крайней мере, включения все еще доступны, как и раньше.

DCMTK - это отдельная история.Структура папок выглядит следующим образом:

external/dcmtk
|   dcmdata
|   |   include
|   |   |   dcmtk
|   |   |   |   dctk.h
|   dcmimgle
|   |   include
|   |   |   dcmtk
|   |   |   |   dcmimage.h
|   ...

Таким образом, каждый модуль DCMTK находится в своей собственной папке.Через find_package (DCMTK) я все еще был в состоянии включить с помощью всего лишь

#include "dcmtk/dctk.h"
#include "dcmtk/dcmimage.h"

FindDCMTK.cmake делает немного магии, так что это возможно, но я незнаю, как заставить это работать в моем CMakeLists.txt без find_package ().Каков будет правильный подход здесь?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...