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() 等命令添加的标志之前传递。