summaryrefslogtreecommitdiffstats
path: root/Help
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2020-05-18 16:27:19 (GMT)
committerKitware Robot <kwrobot@kitware.com>2020-05-18 16:27:31 (GMT)
commit4acf31d681ff25543a5d7615521a75ebe368fb24 (patch)
treeb48bf94cc5a6c8055f6c66cb87233366baa1a7aa /Help
parent9039e1f80de57d38e6095ecd68559ebbafaa054f (diff)
parent448e2d7a9dce28885f8cf83cca49cbd91842c490 (diff)
downloadCMake-4acf31d681ff25543a5d7615521a75ebe368fb24.zip
CMake-4acf31d681ff25543a5d7615521a75ebe368fb24.tar.gz
CMake-4acf31d681ff25543a5d7615521a75ebe368fb24.tar.bz2
Merge topic 'compile_opts'
448e2d7a9d Help: Provide cross-references between compiler settings 1f697b3991 Help: COMPILE_OPTIONS: bundle cross refs, add example Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4749
Diffstat (limited to 'Help')
-rw-r--r--Help/command/add_compile_options.rst3
-rw-r--r--Help/command/target_compile_options.rst2
-rw-r--r--Help/prop_sf/COMPILE_OPTIONS.rst21
3 files changed, 21 insertions, 5 deletions
diff --git a/Help/command/add_compile_options.rst b/Help/command/add_compile_options.rst
index 43805c3..36f403c 100644
--- a/Help/command/add_compile_options.rst
+++ b/Help/command/add_compile_options.rst
@@ -46,3 +46,6 @@ 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.
diff --git a/Help/command/target_compile_options.rst b/Help/command/target_compile_options.rst
index 47e7d86..3c733c5 100644
--- a/Help/command/target_compile_options.rst
+++ b/Help/command/target_compile_options.rst
@@ -46,3 +46,5 @@ to use the more specific commands :command:`target_compile_definitions`
and :command:`target_include_directories`.
For directory-wide settings, there is the command :command:`add_compile_options`.
+
+For file-specific settings, there is the source file property :prop_sf:`COMPILE_OPTIONS`.
diff --git a/Help/prop_sf/COMPILE_OPTIONS.rst b/Help/prop_sf/COMPILE_OPTIONS.rst
index 7e48271..537dcec 100644
--- a/Help/prop_sf/COMPILE_OPTIONS.rst
+++ b/Help/prop_sf/COMPILE_OPTIONS.rst
@@ -5,9 +5,7 @@ List of additional options to pass to the compiler.
This property holds a :ref:`semicolon-separated list <CMake Language Lists>` of options
and will be added to the list of compile flags when this
-source file builds. Use :prop_sf:`COMPILE_DEFINITIONS` to pass
-additional preprocessor definitions and :prop_sf:`INCLUDE_DIRECTORIES` to pass
-additional include directories.
+source file builds.
Contents of ``COMPILE_OPTIONS`` may use "generator expressions" with the
syntax ``$<...>``. See the :manual:`cmake-generator-expressions(7)` manual
@@ -16,6 +14,19 @@ does not support per-config per-source settings, so expressions
that depend on the build configuration are not allowed with that
generator.
-.. note::
+Usage example:
- This property should be preferred over the :prop_sf:`COMPILE_FLAGS` property.
+.. code-block:: cmake
+
+ set_source_files_properties(foo.cpp PROPERTIES COMPILE_OPTIONS "-Wno-unused-parameter;-Wno-missing-field-initializer")
+
+Related properties:
+
+* Prefer this property over :prop_sf:`COMPILE_FLAGS`.
+* Use :prop_sf:`COMPILE_DEFINITIONS` to pass additional preprocessor definitions.
+* Use :prop_sf:`INCLUDE_DIRECTORIES` to pass additional include directories.
+
+Related commands:
+
+* :command:`add_compile_options` for directory-wide settings
+* :command:`target_compile_options` for target-specific settings