From 13c8dbd5a6bede4f3455203958238165437396e9 Mon Sep 17 00:00:00 2001 From: Brad King Date: Fri, 11 Oct 2019 08:05:59 -0400 Subject: Help: Document CMAKE_UNITY_BUILD/CMAKE_EXPORT_COMPILE_COMMANDS limitation These two options currently do not work well together. Mention this limitation in the documentation. Issue: #19826 --- Help/prop_tgt/UNITY_BUILD.rst | 6 ++++++ Help/variable/CMAKE_EXPORT_COMPILE_COMMANDS.rst | 4 ++++ Help/variable/CMAKE_UNITY_BUILD.rst | 4 ++++ 3 files changed, 14 insertions(+) diff --git a/Help/prop_tgt/UNITY_BUILD.rst b/Help/prop_tgt/UNITY_BUILD.rst index 1e68dcd..2faad92 100644 --- a/Help/prop_tgt/UNITY_BUILD.rst +++ b/Help/prop_tgt/UNITY_BUILD.rst @@ -26,6 +26,12 @@ The batching of source files is done by adding new sources files which will ``#include`` the source files, and exclude them from building by setting :prop_sf:`HEADER_FILE_ONLY` to ``ON``. +.. note:: + + Marking the original sources with :prop_sf:`HEADER_FILE_ONLY` + is considered an implementation detail that may change in the + future because it does not work well in combination with + the :variable:`CMAKE_EXPORT_COMPILE_COMMANDS` variable. ODR (One definition rule) errors ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/Help/variable/CMAKE_EXPORT_COMPILE_COMMANDS.rst b/Help/variable/CMAKE_EXPORT_COMPILE_COMMANDS.rst index 8776279..4548abc 100644 --- a/Help/variable/CMAKE_EXPORT_COMPILE_COMMANDS.rst +++ b/Help/variable/CMAKE_EXPORT_COMPILE_COMMANDS.rst @@ -28,3 +28,7 @@ form. The format of the JSON file looks like: .. note:: This option is implemented only by :ref:`Makefile Generators` and the :generator:`Ninja`. It is ignored on other generators. + + This option currently does not work well in combination with + the :prop_tgt:`UNITY_BUILD` target property or the + :variable:`CMAKE_UNITY_BUILD` variable. diff --git a/Help/variable/CMAKE_UNITY_BUILD.rst b/Help/variable/CMAKE_UNITY_BUILD.rst index b653881..bbcfd68 100644 --- a/Help/variable/CMAKE_UNITY_BUILD.rst +++ b/Help/variable/CMAKE_UNITY_BUILD.rst @@ -6,3 +6,7 @@ as they are created. Set to ``ON`` to batch compilation of multiple sources within each target. This feature is known as "Unity build", or "Jumbo build". By default this variable is not set and so does not enable unity builds on targets. + +.. note:: + This option currently does not work well in combination with + the :variable:`CMAKE_EXPORT_COMPILE_COMMANDS` variable. -- cgit v0.12