Linux下编译Gmsh
本文记录在Linux下编译Gmsh的流程。
零、环境
操作系统 | Ubuntu 22.04.4 LTS |
VS Code | 1.92.1 |
Git | 2.34.1 |
GCC | 11.4.0 |
CUDA | V13.0.48 |
CMake | 3.22.1 |
一、安装依赖
二、编译
2.1 下载源码
git clone https://gitlab.onelab.info/gmsh/gmsh.git
2.2 构建
按照下表配置CMake,或者使用附录Ⅰ中的CMakeUserPresets.json文件
CMake Varaible | Value |
CMAKE_BUILD_TYPE | Debug |
CMAKE_INSTALL_PREFIX | |
BUILD_SHARED_LIBS | true |
ENABLE_BUILD_DYNAMIC | true |
2.3 编译
使用linux_gcc presets,进行编译。
附录Ⅰ:CMakeUserPresets.json
新建CMakeUserPresets.json,并添加一下内容,
{"version": 9,"cmakeMinimumRequired": {"major": 3,"minor": 20,"patch": 0},"configurePresets": [{"name": "default","hidden": true,"displayName": "Default Config","description": "Default build configuration","binaryDir": "${sourceDir}/out/build/${presetName}","cacheVariables": {"CMAKE_INSTALL_PREFIX": "${sourceDir}/out/install/${presetName}","CMAKE_BUILD_TYPE": "Debug"}},{"name": "vs2022","hidden": false,"inherits": "default","displayName": "Visual Studio 17 2022","description": "This build is using Visual Studio 17 2022 generator","generator": "Visual Studio 17 2022","toolset": "host=x64","architecture": "x64","cacheVariables": {"CMAKE_BUILD_TYPE": "Debug","ENABLE_BUILD_SHARED": true,"ENABLE_BUILD_DYNAMIC": true },"environment": {},"condition": {"type": "equals","lhs": "${hostSystemName}","rhs": "Windows"}},{"name": "mingw64","hidden": false,"inherits": "default","displayName": "MinGW-w64","description": "This build is using MinGW generator","generator": "MinGW Makefiles","cacheVariables": {"CMAKE_BUILD_TYPE": "Debug","ENABLE_BUILD_SHARED": true,"ENABLE_BUILD_DYNAMIC": true },"environment": {}},{"name": "linux_gcc","hidden": false,"inherits": "default","displayName": "Linux GCC","description": "Default build using Unix Makefiles generator","generator": "Unix Makefiles","cacheVariables": {"CMAKE_C_COMPILER": "/usr/bin/gcc","CMAKE_CXX_COMPILER": "/usr/bin/g++","CMAKE_BUILD_TYPE": "Debug","ENABLE_BUILD_SHARED": true,"ENABLE_BUILD_DYNAMIC": true},"environment": {}}],"buildPresets": [{"name": "default","configurePreset": "default"},{"name": "vs2022","hidden": false,"inherits": "default","displayName": "Visual Studio 17 2022","configurePreset": "vs2022"},{"name": "mingw64","hidden": false,"inherits": "default","displayName": "MinGW-w64","configurePreset": "mingw64"},{"name": "linux_gcc","hidden": false,"inherits": "default","displayName": "Linux GCC","configurePreset": "linux_gcc"}],"testPresets": [{"name": "default","configurePreset": "default","output": {"outputOnFailure": true},"execution": {"noTestsAction": "error","stopOnFailure": true}},{"name": "vs2022","hidden": false,"inherits": "default","displayName": "Visual Studio 17 2022","configurePreset": "vs2022"},{"name": "mingw64","hidden": false,"inherits": "default","displayName": "MinGW-w64","configurePreset": "mingw64"},{"name": "linux_gcc","hidden": false,"inherits": "default","displayName": "Linux GCC","configurePreset": "linux_gcc"}],"packagePresets": [{"name": "default","configurePreset": "default","generators": ["TGZ"]},{"name": "vs2022","hidden": false,"inherits": "default","displayName": "Visual Studio 17 2022","configurePreset": "vs2022","generators": ["TGZ"]},{"name": "mingw64","hidden": false,"inherits": "default","displayName": "MinGW-w64","configurePreset": "mingw64","generators": ["TGZ"]},{"name": "linux_gcc","hidden": false,"inherits": "default","displayName": "Linux GCC","configurePreset": "linux_gcc","generators": ["RPM"]}],"workflowPresets": [{"name": "default","steps": [{"type": "configure","name": "default"},{"type": "build","name": "default"},{"type": "test","name": "default"},{"type": "package","name": "default"}]},{"name": "vs2022","displayName": "Visual Studio 17 2022","steps": [{"type": "configure","name": "vs2022"},{"type": "build","name": "vs2022"},{"type": "test","name": "vs2022"},{"type": "package","name": "vs2022"}]},{"name": "mingw64","displayName": "MinGW-w64","steps": [{"type": "configure","name": "mingw64"},{"type": "build","name": "mingw64"},{"type": "test","name": "mingw64"},{"type": "package","name": "mingw64"}]},{"name": "linux_gcc","displayName": "Linux GCC","steps": [{"type": "configure","name": "linux_gcc"},{"type": "build","name": "linux_gcc"},{"type": "test","name": "linux_gcc"},{"type": "package","name": "linux_gcc"}]}]
}
网络
Gmsh