CommonTK框架之cmake生成工程文件

本文将介绍如何生成pluginFramework动态库

需要能上github, 项目以来了源码,需要从github上下载。 详见CMakeExternals文件夹下的cmake脚本

修改master根目录下的CMakeLists.txt

  • 最前面添加下面的内容, 用户设定Qt版本和本地安装路径
cmake_minimum_required(VERSION 3.0)

### 下面为新增
SET(CTK_QT_VERSION 5)
SET(CMAKE_PREFIX_PATH
${CMAKE_PREFIX_PATH}
"C:/major/development/tools/qt/5.14/install/5.14./msvc2015_64" # 自行替换
)
  • 屏蔽BUILD_TESTING

#-----------------------------------------------------------------------------
# Testing
#
include(CTest)
mark_as_advanced(BUILD_TESTING)
mark_as_superbuild(BUILD_TESTING)
## 增加下面的这行脚本
option(BUILD_TESTING "" OFF)

if(BUILD_TESTING)
  set(CPP_TEST_PATH ${CMAKE_RUNTIME_OUTPUT_DIRECTORY})
  • 开启 ctk_lib_option 选项
ctk_lib_option(Core
               "Build the Core library" ON) # 默认为OFF, 改为ON, 因为我需要使用

ctk_lib_option(PluginFramework
               "Build the Plugin Framework" ON  # 默认为OFF, 改为ON, 因为我需要使用其对应的框架服务
               CTK_ENABLE_PluginFramework)

ctk_lib_option(Widgets
               "Build the Widgets library" OFF # 可自行裁决是否需要
               CTK_ENABLE_Widgets OR (CTK_ENABLE_DICOMApplicationHosting AND CTK_BUILD_EXAMPLES) OR CTK_USE_QTTESTING)

修改 ./CMake/ctkMacroSetupQt.cmake文件

最新编译过程需要依赖Sql组件。 不然编译会报错: 无法打开QSqlQuery文件。

  • 添加下面这行代码,

    if(CTK_LIB_XNAT/Core
      OR CTK_PLUGIN_org.commontk.dah.core
      OR CTK_PLUGIN_org.commontk.dah.host
      OR CTK_PLUGIN_org.commontk.dah.hostedapp
      )
      list(APPEND CTK_QT5_COMPONENTS Network)
    endif()

    ############################# 这是我主动添加的。 
    list(APPEND CTK_QT5_COMPONENTS Sql)

    find_package(Qt5 COMPONENTS ${CTK_QT5_COMPONENTS} REQUIRED)

编译生成

  • 后面就和常规cmake生成工程文件,构建工程文件的流程一致了。
posted @ 2023-09-21 07:18  mohist  阅读(47)  评论(0编辑  收藏  举报