丁致宇第二周学习报告 深入中大型项目的Cmakelists
作者:丁致宇,时间:2024.1.28 ]
正文
中大型项目常用cmake语法(查找表)
项目基本设置
-
指定CMake最低版本要求:
cmake_minimum_required(VERSION 3.12.0 FATAL_ERROR)
-
项目声明:
project(roms VERSION 3.9 LANGUAGES Fortran)
-
设置变量和CMake模块路径:
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/Modules/")
-
设置构建类型:
set(CMAKE_BUILD_TYPE Release)
编译器和链接器配置
-
添加编译器选项:
add_compile_options(-Wall -Wextra)
-
设置目标特定的编译定义:
target_compile_definitions(roms_executable PRIVATE -DUSE_NETCDF4)
-
设置目标特定的编译选项:
target_compile_options(roms_executable PRIVATE -O2)
-
设置目标特定的链接选项:
target_link_options(roms_executable PRIVATE -L/path/to/lib)
环境检测与条件分支
- 检查环境变量:
if(DEFINED ENV{ECBUILD_MODULE_PATH})
# 做一些特定于ecbuild的配置
endif()