add_compile_options¶
Adds options to the compilation of source files.
add_compile_options(<option> ...)
Adds options to the compiler command line for targets in the current
directory and below that are added after this command is invoked.
See documentation of the directory
and
target
COMPILE_OPTIONS
properties.
This command can be used to add any options, but alternative commands
exist to add preprocessor definitions (target_compile_definitions()
and add_compile_definitions()
) or include directories
(target_include_directories()
and include_directories()
).
Arguments to add_compile_options
may use “generator expressions” with
the syntax $<...>
. See the cmake-generator-expressions(7)
manual for available expressions. See the cmake-buildsystem(7)
manual for more on defining buildsystem properties.
The final set of compile or link options used for a target is constructed by
accumulating options from the current target and the usage requirements of
it dependencies. The set of options is de-duplicated to avoid repetition.
While beneficial for individual options, the de-duplication step can break
up option groups. For example, -D A -D B
becomes -D A B
. One may
specify a group of options using shell-like quoting along with a SHELL:
prefix. The SHELL:
prefix is dropped and the rest of the option string
is parsed using the separate_arguments()
UNIX_COMMAND
mode.
For example, "SHELL:-D A" "SHELL:-D B"
becomes -D A -D B
.