使用Jenkins配置Qt构建
我有几个依赖于我开发的Qt库的Qt项目。 使用库的项目的项目文件(.pro)定义LIBS和PRE_TARGETDEPS路径。例如:- PRE_TARGETDEPS+=../ProjectLibrary_Qt_5_2_1_clang_64bit-Debug/ProjectLibrary.dylib LIBS+=-L../ProjectLibrary\u Qt\u 5\u 2\u 1\u clang\u 64位调试-lProjectLibrary 正如您所看到的,链接库有一个已定义的路径,它们通过Qt Creator使用阴影构建。文件层次结构如下所示:-使用Jenkins配置Qt构建,qt,jenkins,continuous-integration,build-process,Qt,Jenkins,Continuous Integration,Build Process,我有几个依赖于我开发的Qt库的Qt项目。 使用库的项目的项目文件(.pro)定义LIBS和PRE_TARGETDEPS路径。例如:- PRE_TARGETDEPS+=../ProjectLibrary_Qt_5_2_1_clang_64bit-Debug/ProjectLibrary.dylib LIBS+=-L../ProjectLibrary\u Qt\u 5\u 2\u 1\u clang\u 64位调试-lProjectLibrary 正如您所看到的,链接库有一个已定义的路径,它们通过Q
- 计划
- ProjectLibrary\u Qt\u 5\u 2\u 1\u clang\u 64位调试
- ProjectLib.dylib(构建库)
- 从属项目
- DependentProject.pro
- ProjectLibrary\u Qt\u 5\u 2\u 1\u clang\u 64位调试
- 工作
- 项目库
- 工作空间
- Project.dylib
- 工作空间
- 从属项目
- 工作空间
- DependentProject.pro
- 工作空间
- 项目库
isEmpty(PROJECT_PATH) {
PROJECT_PATH=../ProjectLibrary_Qt_5_2_1_clang_64bit-Debug
}
LIBS += -L$${PROJECT_PATH} -lProjectLibrary
然后在Jenkins中,您应该将PROJECT_PATH={PATH to your PROJECT}传递给qmake
解决方案2)
使用git子模块
获取项目库作为建筑项目的一部分。然后,您不需要由Qt Creator手动构建ProjectLibrary。解决方案1)基于您当前的构建配置
按如下方式修改.pro文件:
isEmpty(PROJECT_PATH) {
PROJECT_PATH=../ProjectLibrary_Qt_5_2_1_clang_64bit-Debug
}
LIBS += -L$${PROJECT_PATH} -lProjectLibrary
然后在Jenkins中,您应该将PROJECT_PATH={PATH to your PROJECT}传递给qmake
解决方案2)
使用
git子模块
获取项目库作为建筑项目的一部分。那么您就不需要通过Qt Creator手动构建ProjectLibrary了。这正是我想要的。谢谢O) 那正是我想要的。谢谢O)