cmCoreTryCompile: parse SOURCES_TYPE argument

This will serve to add context for the source listing in order to
properly mark sources as `FILE_SET TYPE CXX_MODULES` in the generated
code.
This commit is contained in:
Ben Boeckel
2023-07-19 18:55:59 -04:00
parent 07551f35de
commit c9ca5f6326
4 changed files with 81 additions and 1 deletions

View File

@@ -65,6 +65,7 @@ Try Compiling Source Files
.. code-block:: cmake
try_compile(<compileResultVar>
[SOURCES_TYPE <type>]
<SOURCES <srcfile...> |
SOURCE_FROM_CONTENT <name> <content> |
SOURCE_FROM_VAR <name> <var> |
@@ -244,6 +245,27 @@ The options are:
``SOURCE_FROM_VAR`` may be specified multiple times.
``SOURCES_TYPE <type>``
.. versionadded:: 3.28
Sources may be classified using the ``SOURCES_TYPE`` argument. Once
specified, all subsequent sources specified will be treated as that type
until another ``SOURCES_TYPE`` is given. Available types are:
``NORMAL``
Sources are not added to any ``FILE_SET`` in the generated project.
``CXX_MODULE``
Sources are added to a ``FILE_SET`` of type ``CXX_MODULES`` in the
generated project.
.. note ::
Experimental. Sources of type ``CXX_MODULE`` are gated by
``CMAKE_EXPERIMENTAL_CXX_MODULE_CMAKE_API``
The default type of sources is ``NORMAL``.
``<LANG>_STANDARD <std>``
.. versionadded:: 3.8

View File

@@ -13,6 +13,7 @@ Try Compiling and Running Source Files
.. code-block:: cmake
try_run(<runResultVar> <compileResultVar>
[SOURCES_TYPE <type>]
<SOURCES <srcfile...> |
SOURCE_FROM_CONTENT <name> <content> |
SOURCE_FROM_VAR <name> <var> |