cxxmodules: remove support for CXX_MODULE_HEADER_UNITS filesets

There's no backing implementation for header units anyways, so just
remove it for now.
This commit is contained in:
Ben Boeckel
2023-05-26 09:34:52 -04:00
parent 2624006608
commit 6ff5cdc533
36 changed files with 31 additions and 364 deletions
+6 -26
View File
@@ -91,15 +91,6 @@ files within those directories. The acceptable types include:
using the ``export`` keyword). This file set type may not have an
``INTERFACE`` scope except on ``IMPORTED`` targets.
``CXX_MODULE_HEADER_UNITS``
.. note ::
Experimental. Gated by ``CMAKE_EXPERIMENTAL_CXX_MODULE_CMAKE_API``
C++ header sources which may be imported by other C++ source code. This file
set type may not have an ``INTERFACE`` scope except on ``IMPORTED`` targets.
The optional default file sets are named after their type. The target may not
be a custom target or :prop_tgt:`FRAMEWORK` target.
@@ -177,31 +168,20 @@ For file sets of type ``CXX_MODULES``:
* :prop_tgt:`CXX_MODULE_DIRS`
* :prop_tgt:`CXX_MODULE_DIRS_<NAME>`
For file sets of type ``CXX_MODULE_HEADER_UNITS``:
* :prop_tgt:`CXX_MODULE_HEADER_UNIT_SETS`
* :prop_tgt:`INTERFACE_CXX_MODULE_HEADER_UNIT_SETS`
* :prop_tgt:`CXX_MODULE_HEADER_UNIT_SET`
* :prop_tgt:`CXX_MODULE_HEADER_UNIT_SET_<NAME>`
* :prop_tgt:`CXX_MODULE_HEADER_UNIT_DIRS`
* :prop_tgt:`CXX_MODULE_HEADER_UNIT_DIRS_<NAME>`
Target properties related to include directories are also modified by
``target_sources(FILE_SET)`` as follows:
:prop_tgt:`INCLUDE_DIRECTORIES`
If the ``TYPE`` is ``HEADERS`` or ``CXX_MODULE_HEADER_UNITS``, and the scope
of the file set is ``PRIVATE`` or ``PUBLIC``, all of the ``BASE_DIRS`` of
the file set are wrapped in :genex:`$<BUILD_INTERFACE>` and appended to this
property.
If the ``TYPE`` is ``HEADERS``, and the scope of the file set is ``PRIVATE``
or ``PUBLIC``, all of the ``BASE_DIRS`` of the file set are wrapped in
:genex:`$<BUILD_INTERFACE>` and appended to this property.
:prop_tgt:`INTERFACE_INCLUDE_DIRECTORIES`
If the ``TYPE`` is ``HEADERS`` or ``CXX_MODULE_HEADER_UNITS``, and the scope
of the file set is ``INTERFACE`` or ``PUBLIC``, all of the ``BASE_DIRS`` of
the file set are wrapped in :genex:`$<BUILD_INTERFACE>` and appended to this
property.
If the ``TYPE`` is ``HEADERS``, and the scope of the file set is
``INTERFACE`` or ``PUBLIC``, all of the ``BASE_DIRS`` of the file set are
wrapped in :genex:`$<BUILD_INTERFACE>` and appended to this property.
See Also
^^^^^^^^
-6
View File
@@ -189,11 +189,6 @@ Properties on Targets
/prop_tgt/CXX_EXTENSIONS
/prop_tgt/CXX_MODULE_DIRS
/prop_tgt/CXX_MODULE_DIRS_NAME
/prop_tgt/CXX_MODULE_HEADER_UNIT_DIRS
/prop_tgt/CXX_MODULE_HEADER_UNIT_DIRS_NAME
/prop_tgt/CXX_MODULE_HEADER_UNIT_SET
/prop_tgt/CXX_MODULE_HEADER_UNIT_SET_NAME
/prop_tgt/CXX_MODULE_HEADER_UNIT_SETS
/prop_tgt/CXX_MODULE_SET
/prop_tgt/CXX_MODULE_SET_NAME
/prop_tgt/CXX_MODULE_SETS
@@ -279,7 +274,6 @@ Properties on Targets
/prop_tgt/INTERFACE_COMPILE_DEFINITIONS
/prop_tgt/INTERFACE_COMPILE_FEATURES
/prop_tgt/INTERFACE_COMPILE_OPTIONS
/prop_tgt/INTERFACE_CXX_MODULE_HEADER_UNIT_SETS
/prop_tgt/INTERFACE_CXX_MODULE_SETS
/prop_tgt/INTERFACE_HEADER_SETS
/prop_tgt/INTERFACE_HEADER_SETS_TO_VERIFY
+1 -2
View File
@@ -15,8 +15,7 @@ consulted.
Note that scanning is only performed if C++20 or higher is enabled for the
target and the source uses the ``CXX`` language. Scanning for modules in
sources belonging to file sets of type ``CXX_MODULES`` and
``CXX_MODULES_HEADER_UNITS`` is always performed.
sources belonging to file sets of type ``CXX_MODULES`` is always performed.
.. note ::
@@ -1,19 +0,0 @@
CXX_MODULE_HEADER_UNIT_DIRS
---------------------------
.. versionadded:: 3.25
.. note ::
Experimental. Gated by ``CMAKE_EXPERIMENTAL_CXX_MODULE_CMAKE_API``
Semicolon-separated list of base directories of the target's default C++
module header set (i.e. the file set with name and type
``CXX_MODULE_HEADER_UNITS``). The property supports
:manual:`generator expressions <cmake-generator-expressions(7)>`.
This property is normally only set by :command:`target_sources(FILE_SET)`
rather than being manipulated directly.
See :prop_tgt:`CXX_MODULE_HEADER_UNIT_DIRS_<NAME>` for the list of base
directories in other C++ module header sets.
@@ -1,21 +0,0 @@
CXX_MODULE_HEADER_UNIT_DIRS_<NAME>
----------------------------------
.. versionadded:: 3.25
.. note ::
Experimental. Gated by ``CMAKE_EXPERIMENTAL_CXX_MODULE_CMAKE_API``
Semicolon-separated list of base directories of the target's ``<NAME>`` C++
module header set, which has the set type ``CXX_MODULE_HEADER_UNITS``. The
property supports
:manual:`generator expressions <cmake-generator-expressions(7)>`.
This property is normally only set by :command:`target_sources(FILE_SET)`
rather than being manipulated directly.
See :prop_tgt:`CXX_MODULE_HEADER_UNIT_DIRS` for the list of base directories
in the default C++ module header set. See
:prop_tgt:`CXX_MODULE_HEADER_UNIT_SETS` for the file set names of all C++
module header sets.
@@ -1,20 +0,0 @@
CXX_MODULE_HEADER_UNIT_SET
--------------------------
.. versionadded:: 3.25
.. note ::
Experimental. Gated by ``CMAKE_EXPERIMENTAL_CXX_MODULE_CMAKE_API``
Semicolon-separated list of files in the target's default C++ module header
set, (i.e. the file set with name and type ``CXX_MODULE_HEADER_UNITS``). If
any of the paths are relative, they are computed relative to the target's
source directory. The property supports
:manual:`generator expressions <cmake-generator-expressions(7)>`.
This property is normally only set by :command:`target_sources(FILE_SET)`
rather than being manipulated directly.
See :prop_tgt:`CXX_MODULE_HEADER_UNIT_SET_<NAME>` for the list of files in
other C++ module header sets.
@@ -1,20 +0,0 @@
CXX_MODULE_HEADER_UNIT_SETS
---------------------------
.. versionadded:: 3.25
.. note ::
Experimental. Gated by ``CMAKE_EXPERIMENTAL_CXX_MODULE_CMAKE_API``
Read-only list of the target's ``PRIVATE`` and ``PUBLIC`` C++ module header
sets (i.e. all file sets with the type ``CXX_MODULE_HEADER_UNITS``). Files
listed in these file sets are treated as source files for the purpose of IDE
integration.
C++ module header sets may be defined using the :command:`target_sources`
command ``FILE_SET`` option with type ``CXX_MODULE_HEADER_UNITS``.
See also :prop_tgt:`CXX_MODULE_HEADER_UNIT_SET_<NAME>`,
:prop_tgt:`CXX_MODULE_HEADER_UNIT_SET` and
:prop_tgt:`INTERFACE_CXX_MODULE_HEADER_UNIT_SETS`.
@@ -1,21 +0,0 @@
CXX_MODULE_HEADER_UNIT_SET_<NAME>
---------------------------------
.. versionadded:: 3.25
.. note ::
Experimental. Gated by ``CMAKE_EXPERIMENTAL_CXX_MODULE_CMAKE_API``
Semicolon-separated list of files in the target's ``<NAME>`` C++ module header
set, which has the set type ``CXX_MODULE_HEADER_UNITS``. If any of the paths
are relative, they are computed relative to the target's source directory. The
property supports
:manual:`generator expressions <cmake-generator-expressions(7)>`.
This property is normally only set by :command:`target_sources(FILE_SET)`
rather than being manipulated directly.
See :prop_tgt:`CXX_MODULE_HEADER_UNIT_SET` for the list of files in the
default C++ module header set. See :prop_tgt:`CXX_MODULE_HEADER_UNIT_SETS` for
the file set names of all C++ module header sets.
+1 -1
View File
@@ -19,7 +19,7 @@ scan the target's ``CXX`` sources at build time.
Note that scanning is only performed if C++20 or higher is enabled for the
target. Scanning for modules in the target's sources belonging to file sets
of type ``CXX_MODULES`` and ``CXX_MODULES_HEADER_UNITS`` is always performed.
of type ``CXX_MODULES`` is always performed.
.. note ::
@@ -1,18 +0,0 @@
INTERFACE_CXX_MODULE_HEADER_UNIT_SETS
-------------------------------------
.. versionadded:: 3.25
.. note ::
Experimental. Gated by ``CMAKE_EXPERIMENTAL_CXX_MODULE_CMAKE_API``
Read-only list of the target's ``PUBLIC`` C++ module header sets (i.e. all
file sets with the type ``CXX_MODULE_HEADER_UNITS``). Files listed in these
C++ module header sets can be installed with :command:`install(TARGETS)` and
exported with :command:`install(EXPORT)` and :command:`export`.
C++ module header sets may be defined using the :command:`target_sources`
command ``FILE_SET`` option with type ``CXX_MODULE_HEADER_UNITS``.
See also :prop_tgt:`CXX_MODULE_HEADER_UNIT_SETS`.