diff options
author | Brad King <brad.king@kitware.com> | 2021-03-04 21:47:49 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2021-03-22 17:28:27 (GMT) |
commit | 608ef8a6fcbdd3d1a8419ff774109b8f9e5ebafb (patch) | |
tree | f25e9e15dd9a73796a5c949f6a1fa393b167a2ef /Help | |
parent | 8dd8d6366576c09a44dc19d6609209ff74cd0dde (diff) | |
download | CMake-608ef8a6fcbdd3d1a8419ff774109b8f9e5ebafb.zip CMake-608ef8a6fcbdd3d1a8419ff774109b8f9e5ebafb.tar.gz CMake-608ef8a6fcbdd3d1a8419ff774109b8f9e5ebafb.tar.bz2 |
VS: Add a mostly-undocumented hook to load custom JSON flag tables
The names and formats of our VS flag tables are internal implementation
details. However, some institutions need to maintain support for
non-public VS platforms and toolsets. Provide a hook that their
projects can use to load custom flag table files. This helps avoid
distributing a custom CMake package within such institutions.
Document the hook itself, but explicitly specify that the files the
hook loads are not considered a stable interface.
Diffstat (limited to 'Help')
-rw-r--r-- | Help/variable/CMAKE_GENERATOR_TOOLSET.rst | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/Help/variable/CMAKE_GENERATOR_TOOLSET.rst b/Help/variable/CMAKE_GENERATOR_TOOLSET.rst index 53ad2f3..45f2d32 100644 --- a/Help/variable/CMAKE_GENERATOR_TOOLSET.rst +++ b/Help/variable/CMAKE_GENERATOR_TOOLSET.rst @@ -63,3 +63,27 @@ Supported pairs are: Specify an alternative ``VCTargetsPath`` value for Visual Studio project files. This allows use of VS platform extension configuration files (``.props`` and ``.targets``) that are not installed with VS. + +Visual Studio Toolset Customization +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +**These are unstable interfaces with no compatibility guarantees** +because they hook into undocumented internal CMake implementation details. +Institutions may use these to internally maintain support for non-public +Visual Studio platforms and toolsets, but must accept responsibility to +make updates as changes are made to CMake. + +Additional ``key=value`` pairs are available: + +``customFlagTableDir=<path>`` + .. versionadded:: 3.21 + + Specify the absolute path to a directory from which to load custom + flag tables stored as JSON documents with file names of the form + ``<platform>_<toolset>_<tool>.json`` or ``<platform>_<tool>.json``, + where ``<platform>`` is the :variable:`CMAKE_VS_PLATFORM_NAME`, + ``<toolset>`` is the :variable:`CMAKE_VS_PLATFORM_TOOLSET`, + and ``<tool>`` is the tool for which the flag table is meant. + **This naming pattern is an internal CMake implementation detail.** + The ``<tool>`` names are undocumented. The format of the ``.json`` + flag table files is undocumented. |