包括DCMTK和CMake作为git子模块

时间:2019-02-04 18:21:47

标签: cmake git-submodules dcmtk

我正在尝试使用 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做了一些魔术,所以这是可能的,但是我不知道如何在没有find_package()的情况下使它在我的CMakeLists.txt中起作用。什么是正确的方法?

0 个答案:

没有答案