Преглед изворни кода

Help: Document the CMAKE_EXPORT_COMPILE_COMMANDS variable

Sebastian Schuberth пре 9 година
родитељ
комит
6e92f7b2de
2 измењених фајлова са 31 додато и 0 уклоњено
  1. 1 0
      Help/manual/cmake-variables.7.rst
  2. 30 0
      Help/variable/CMAKE_EXPORT_COMPILE_COMMANDS.rst

+ 1 - 0
Help/manual/cmake-variables.7.rst

@@ -118,6 +118,7 @@ Variables that Change Behavior
    /variable/CMAKE_DISABLE_FIND_PACKAGE_PackageName
    /variable/CMAKE_ERROR_DEPRECATED
    /variable/CMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION
+   /variable/CMAKE_EXPORT_COMPILE_COMMANDS
    /variable/CMAKE_EXPORT_NO_PACKAGE_REGISTRY
    /variable/CMAKE_SYSROOT
    /variable/CMAKE_FIND_APPBUNDLE

+ 30 - 0
Help/variable/CMAKE_EXPORT_COMPILE_COMMANDS.rst

@@ -0,0 +1,30 @@
+CMAKE_EXPORT_COMPILE_COMMANDS
+-----------------------------
+
+Enable/Disable output of compile commands during generation.
+
+If enabled, generates a ``compile_commands.json`` file containing the exact
+compiler calls for all translation units of the project in machine-readable
+form.  The format of the JSON file looks like:
+
+.. code-block:: javascript
+
+  [
+    {
+      "directory": "/home/user/development/project",
+      "command": "/usr/bin/c++ ... -c ../foo/foo.cc",
+      "file": "../foo/foo.cc"
+    },
+
+    ...
+
+    {
+      "directory": "/home/user/development/project",
+      "command": "/usr/bin/c++ ... -c ../foo/bar.cc",
+      "file": "../foo/bar.cc"
+    }
+  ]
+
+.. note::
+  This option is implemented only by :ref:`Makefile Generators`
+  and the :generator:`Ninja`.  It is ignored on other generators.