LAMPCAE/README.md

4.8 KiB
Raw Blame History

说明

源码文件夹结构

  • cmake cmake相关的脚本
  • doc 生成文档需要的模板及配置文件
  • extlib 第三方依赖库见下文extlib获取方式
  • src LAMPCAE源码
  • test 包含单元测试代码(待整理)

构建编译

LAMPCAE相关的cmake构建选项说明

  • LAMPCAE_AUTO_DOWNLOAD如果源码目录不存在extlib目录时是否会自动从gitee克隆依赖包。
  • LAMPCAE_DOXYGEN_DOC是否需要构建目标Doxygen需要本地安装Doxygen软件
  • LAMPCAE_ENABLE_DEV:是否在构建完成时自动拷贝依赖文件到调试目录。(开启该选项会在每次编译完拷贝第三方依赖库文件到构建目录,会增加构建时间)
  • LAMPCAE_ENABLE_MPI是否开启MPI支持目前无效
  • LAMPCAE_ENABLE_OPENMP是否开启OpenMP。
  • LAMPCAE_ENABLE_TEST:是否构建单元测试模块(目前无效)。
  • LAMPCAE_INSTALLATION_PACKAGE是否构建安装包制作PACKAGE。

cmake预定义目标说明

  • ALL_BUILD生成所有项目。
  • INSTALL安装LAMPCAE到CMAKE_INSTALL_PREFIX定义的目录。
  • PACKAGE或者package: 在Visual Studio中该目标为大写在其它构建系统中该目标为小写用于将LAMPCAE打包成安装包exe、deb、rpm
  • DOXYGEN: 生成LAMPCAE的Doxygen格式文档html

编译视频教程

Windows

编译说明

  • windows环境下使用vscode时编译工具链只能使用Visual Studio目前不支持MinGW工具

extlib目录结构

extlib
├─CGNS(version:4.3.0)
│
├─Gmsh(version:4.8.0)
│
├─HDF5(version:1.13.1)
│
├─OCC(version:7.6.0)
│
├─Python(version:3.7.0)
│
├─QuaZIP(version:0.7.3)
│
├─Qwt(version: Qwt:6.1.6 QwtPolar:1.1.1)
│
├─TecIO(version:1.4.2)
│
└─VTK(version:9.0.1)

extlib获取方式

extlib文件变更

  1. OCCT 7.6.5 VTK 9.3 注意OCCT 依赖 VTK, 因此需要重新编译OCCT
  2. QWT 升级到 6.2.0qwtpolar 内嵌到了qwt中需要重新编译
  3. python 升级到的 3.11.5
  4. 增加了QGIS 3.26 cmake,为后期引入raster处理进行准备
    git clone https://gitee.com/DISOGitee/LAMPCAEWinExtlib.git extlib
    

编译打包

项目采用cmake构建系统组织代码可以直接使用cmake转换visual studio 2017工程或者生成Makefile文件或者可以直接使用支持cmake系统的IDE比如vscode、clion、visual studio、qtcreator等打开项目文件夹进行构建、编译。

项目依赖文件会在构建阶段根据系统自动克隆对应的依赖库到本地extlib文件夹如果需要离线部署可以在“extlib获取方式”中离线下载依赖库。

构建项目:

cmake -DCMAKE_INSTALL_PREFIX:PATH=/path_to_install -DQt5_DIR:PATH=/path_of_Qt5Config.cmake  -B build -S . 

如果在windows环境下使用命令行构建项目需要增加参数-G "Visual Studio 15 2017 Win64"具体参数需要根据自己的Visual Studio的版本确定

安装:

cmake --build build --target install

源码(.tar.gz and .zip)打包:

cmake --build build --target package_source

制作安装包(.deb .rpm .exe:

cmake --build build --target package

备注:

1、如果构建系统是Makefile、Ninja、Xcode则生成package目标如果是MVSC构建系统则生成大写的PACKAGE目标。

cmake --build . --target package 或者 make package 或者 ninja package

2、如果构建系统是Makefile、Ninja还会则生成package_source目标用于打包源码。

cmake --build . --target package_source 或者 make package_source 或者 ninja package_source

特别说明

  • 源码绝对路径中不要出现中文字符、空格以及特殊字符:(){}*/?|\等
  • 要求cmake的最低版本为3.21
  • windows环境制作安装包要求NSIS版本为3.03+
  • linux环境制作安装包需要安装dpkg-deb或者rpmbuild
  • linux的其他系统依赖包OpenGLfontconfigxkbcommon

测试平台

序号 操作系统 GLIBC版本 编译器 Qt 测试结果 备注
1 Windows10 X64 Visual Studio 2022 Community Qt5.15.5 通过 SDK 10.0.17763.0NSIS成功打包

相关链接

感谢开源贡献者

  • 陈宗衍 czy.t@163.comRibbon风格组件
  • 张立春 zhang.lichun@foxmail.com远程任务提交插件
  • 赵德祥 zhao.dexiang@foxmail.com远程任务提交插件
  • 万义钊 wanyizhao@mail.cgs.gov.cn Tecplot后处理文件格式szplt解析

使用交流

技术交流QQ群671925863