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生成工程文件,构建工程文件的流程一致了。