CMAKE_<LANG>_FLAGS

Language-wide flags for language <LANG> used when building for all configurations. These flags will be passed to all invocations of the compiler. This includes invocations that drive compiling and those that drive linking.

For each language, if this variable is not defined, it is initialized and stored in the cache using values from environment variables in combination with CMake's builtin defaults for the toolchain:

  • 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 環境變數初始化。

This value is a command-line string fragment. Therefore, multiple options should be separated by spaces, and options with spaces should be quoted.

The flags in this variable will be passed before those in the per-configuration CMAKE_<LANG>_FLAGS_<CONFIG> variable. On invocations driving compiling, flags from both variables will be passed before flags added by commands such as add_compile_options() and target_compile_options(). On invocations driving linking, they will be passed before flags added by commands such as add_link_options() and target_link_options().