summaryrefslogtreecommitdiff
path: root/share/cmake-3.18/Help/command/add_compile_options.rst
diff options
context:
space:
mode:
Diffstat (limited to 'share/cmake-3.18/Help/command/add_compile_options.rst')
-rw-r--r--share/cmake-3.18/Help/command/add_compile_options.rst51
1 files changed, 51 insertions, 0 deletions
diff --git a/share/cmake-3.18/Help/command/add_compile_options.rst b/share/cmake-3.18/Help/command/add_compile_options.rst
new file mode 100644
index 0000000..36f403c
--- /dev/null
+++ b/share/cmake-3.18/Help/command/add_compile_options.rst
@@ -0,0 +1,51 @@
+add_compile_options
+-------------------
+
+Add options to the compilation of source files.
+
+.. code-block:: cmake
+
+ add_compile_options(<option> ...)
+
+Adds options to the :prop_dir:`COMPILE_OPTIONS` directory property.
+These options are used when compiling targets from the current
+directory and below.
+
+Arguments
+^^^^^^^^^
+
+Arguments to ``add_compile_options`` may use "generator expressions" with
+the syntax ``$<...>``. See the :manual:`cmake-generator-expressions(7)`
+manual for available expressions. See the :manual:`cmake-buildsystem(7)`
+manual for more on defining buildsystem properties.
+
+.. include:: OPTIONS_SHELL.txt
+
+Example
+^^^^^^^
+
+Since different compilers support different options, a typical use of
+this command is in a compiler-specific conditional clause:
+
+.. code-block:: cmake
+
+ if (MSVC)
+ # warning level 4 and all warnings as errors
+ add_compile_options(/W4 /WX)
+ else()
+ # lots of warnings and all warnings as errors
+ add_compile_options(-Wall -Wextra -pedantic -Werror)
+ endif()
+
+See Also
+^^^^^^^^
+
+This command can be used to add any options. However, for
+adding preprocessor definitions and include directories it is recommended
+to use the more specific commands :command:`add_compile_definitions`
+and :command:`include_directories`.
+
+The command :command:`target_compile_options` adds target-specific options.
+
+The source file property :prop_sf:`COMPILE_OPTIONS` adds options to one
+source file.