ecBuild构建工具介绍
05/27
本文最后更新于
2024年08月02日,已超过
211天没有更新。如果文章内容或图片资源失效,请留言反馈,我会及时处理,谢谢!
ecBuild是ECMWF基于CMake构建软件定制的一组CMake宏和函数,通过封装和增加参数检查等方式让CMake使用更加简单方便。
项目地址:https://github.com/ecmwf/ecbuild
安装使用
由于ecBuild是CMake宏,不需要编译安装,只需要下载源代码,设置好ecbuild的PATH路径。
$ git clone https://github.com/ecmwf/ecBuild
$ vi ~/.bashrc
export PATH=/path/to/ecbuild/bin:$PATH
命令ecbuild
是cmake命令的封装脚本,调用
$ ecbuild $SRC_DIR
等价于
$ cmake -DCMAKE_MODULE_PATH=$ECBUILD_DIR/cmake $SRC_DIR
宏定义
在CMakeLists.txt文件中直接使用ecBuild预定义好的CMake宏。
添加编译器编译选项
- ecbuild_add_c_flags
添加C编译选项CMAKE_C_FLAGS
,支持编译选项支持检测。
对应的宏文件ecbuild/cmake/ecbuild_add_c_flags.cmake
include(ecbuild_add_lang_flags)
macro( ecbuild_add_c_flags )
ecbuild_debug("call ecbuild_add_c_flags( ${ARGV} )")
ecbuild_add_lang_flags( ${ARGV} LANG C )
endmacro()
先检测添加的编译选项是否支持,再添加给CMAKE_C_FLAGS
。
- ecbuild_add_cxx_flags
添加C++编译选项给CMAKE_CXX_FLAGS
其它宏定义见官方文档说明。
库查找工具
在ecbuild/cmake
目录下有Find*.cmake
的文件,用于辅助CMake查找系统中存在的第三方库库等。
比如模式常用到NetCDF库,FindNetCDF.cmake
查找系统中安装的NetCDF库,定义了CMake文件中可用的变量。

