CMAKE_<LANG>_FLAGS

在为所有配置进行构建时用于语言 <LANG> 的语言范围标志。这些标志将传递给编译器的所有调用。这包括驱动编译的调用和驱动链接的调用

对于每种语言,如果该变量未定义,则会使用环境变量与 CMake 工具链的内置默认值相结合的值对其进行初始化并存储在缓存中

  • CMAKE_C_FLAGS: 由 CFLAGS 环境变量初始化。

  • CMAKE_CXX_FLAGS: 由 CXXFLAGS 环境变量初始化。

  • CMAKE_CUDA_FLAGS: 由 CUDAFLAGS 环境变量初始化。

  • CMAKE_Fortran_FLAGS: 由 FFLAGS 环境变量初始化。

  • CMAKE_CSharp_FLAGS: 由 CSFLAGS 环境变量初始化。

  • CMAKE_HIP_FLAGS: 由 HIPFLAGS 环境变量初始化。

  • CMAKE_ISPC_FLAGS: 由 ISPCFLAGS 环境变量初始化。

  • CMAKE_OBJC_FLAGS: 由 OBJCFLAGS 环境变量初始化。

  • CMAKE_OBJCXX_FLAGS: 由 OBJCXXFLAGS 环境变量初始化。

此值是命令行字符串片段。因此,应当用空格分隔多个选项,使用该选项的空格应加上引号。

此变量中标记将在逐配置CMAKE_<LANG>_FLAGS_<CONFIG>变量的标记之前传递。针对编译驱动的调用,会先传递该两个变量的标记,然后才会传递add_compile_options()等指令和target_compile_options()添加的标记。针对链接驱动的调用,会先传递该两个变量的标记,然后才会传递add_link_options()等指令和target_link_options()添加的标记。