COMPILE_OPTIONS — CMake 3.23.1 Documentation

# COMPILE_OPTIONS

New in version 3.11.

List of additional options to pass to the compiler.

This property holds a semicolon-separated list of options and will be added to the list of compile flags when this source file builds. The options will be added after target-wide options (except in some cases not supported by the `Visual Studio 9 2008` generator).

Contents of `COMPILE_OPTIONS` may use "generator expressions" with the syntax `$<...>`. See the `cmake-generator-expressions(7)` manual for available expressions. However, `Xcode` does not support per-config per-source settings, so expressions that depend on the build configuration are not allowed with that generator.

Usage example:

    set_source_files_properties(foo.cpp PROPERTIES COMPILE_OPTIONS "-Wno-unused-parameter;-Wno-missing-field-initializer")

Related properties:

- Prefer this property over `COMPILE_FLAGS`.

- Use `COMPILE_DEFINITIONS` to pass additional preprocessor definitions.

- Use `INCLUDE_DIRECTORIES` to pass additional include directories.

Related commands:

- `add_compile_options()` for directory-wide settings

- `target_compile_options()` for target-specific settings