8000 let's not automoc them all · Issue #4 · ci-group/gazebo · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content
let's not automoc them all #4
Open
@portaloffreedom

Description

@portaloffreedom

Right now it seems that all header files are parsed through the automoc. We can probably flag many of them to not be parsed at all.

> cmake --help-policy CMP0100

CMP0100
-------

Let ``AUTOMOC`` and ``AUTOUIC`` process
header files that end with a ``.hh`` extension.

Since version 3.17, CMake processes header files that end with a
``.hh`` extension in ``AUTOMOC`` and ``AUTOUIC``.
In earlier CMake versions, these header files were ignored by
``AUTOMOC`` and ``AUTOUIC``.

This policy affects how header files that end with a ``.hh`` extension
get treated in ``AUTOMOC`` and ``AUTOUIC``.

The ``OLD`` behavior for this policy is to ignore ``.hh`` header files
in ``AUTOMOC`` and ``AUTOUIC``.

The ``NEW`` behavior for this policy is to process ``.hh`` header files
in ``AUTOMOC`` and ``AUTOUIC`` just like other header files.

.. note::

  To silence the ``CMP0100`` warning source files can be excluded from
  ``AUTOMOC`` and ``AUTOUIC`` processing by setting the
  source file properties ``SKIP_AUTOMOC``, ``SKIP_AUTOUIC`` or
  ``SKIP_AUTOGEN``.

  .. code-block:: cmake

    # Source skip example:
    set_property(SOURCE /path/to/file1.hh PROPERTY SKIP_AUTOMOC ON)
    set_property(SOURCE /path/to/file2.hh PROPERTY SKIP_AUTOUIC ON)
    set_property(SOURCE /path/to/file3.hh PROPERTY SKIP_AUTOGEN ON)

This policy was introduced in CMake version 3.17.0.  CMake version
3.17.3 warns when the policy is not set and uses ``OLD`` behavior.
Use the ``cmake_policy()`` command to set it to ``OLD`` or ``NEW``
explicitly.

.. note::
  The ``OLD`` behavior of a policy is
  ``deprecated by definition``
  and may be removed in a future version of CMake.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone
    2EA1

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      0