mirror of
https://github.com/Kitware/CMake.git
synced 2026-01-05 21:31:08 -06:00
Projects which ship object files as artifacts may want to control the object names as much as possible. Support setting explicit object names as source file properties to support such use cases.
30 lines
1.2 KiB
ReStructuredText
30 lines
1.2 KiB
ReStructuredText
CMAKE_INTERMEDIATE_DIR_STRATEGY
|
|
-------------------------------
|
|
|
|
.. versionadded:: 4.2
|
|
|
|
``CMAKE_INTERMEDIATE_DIR_STRATEGY`` is a string cache variable specifying the
|
|
strategy to use for target intermediate directories and their contents. The
|
|
supported values are:
|
|
|
|
- ``FULL``: Intermediate directories are named based on a
|
|
``<TARGET_NAME>.dir`` pattern (with some slight deviations and sanitizations
|
|
applied in various places). Object file names are based on the filename of
|
|
the source file being compiled or, if set, its :prop_sf:`OBJECT_NAME`
|
|
property.
|
|
- ``SHORT``: Intermediate directories are named from the hash of the target
|
|
name and the build directory location. Object file names are based on hashes
|
|
of the source file name to reduce path lengths. This may help with projects
|
|
that generate long paths in the build directory to support building in
|
|
directories other than those near a root path.
|
|
|
|
When unset or the named strategy is not supported, the ``FULL`` strategy is
|
|
used.
|
|
|
|
.. note::
|
|
This only works as a cache variable, not a locally-scoped variable.
|
|
|
|
.. note::
|
|
Not all generators support all strategies and paths may differ between
|
|
generators.
|