mirror of
https://github.com/Kitware/CMake.git
synced 2026-04-26 08:08:24 -05:00
Merge topic 'target-sources-refactor'
5de63265Genex: Only evaluate TARGET_OBJECTS to determine target sources.aa0a3562cmGeneratorTarget: Compute target objects on demand042c1c83cmTarget: Compute languages from object libraries on demand.fdcefe3ccmGeneratorTarget: Compute consumed object libraries on demand.c355d108cmComputeTargetDepends: Track object library depends.e5da9e51cmTarget: Allow any generator expression in SOURCES property.5702e106cmTarget: Include TARGET_OBJECTS genex in target SOURCES property.857d30b5cmGlobalGenerator: Add interface to call ForceLinkerLanguages28e1d2f8cmStringCommand: Add GENEX_STRIP subcommand.bf98cc25Genex: Evaluate TARGET_OBJECTS as a normal expression.8cd113adcmTarget: Store strings instead of cmSourceFile* to represent SOURCES.4959f341cmSourceFileLocation: Collapse full path for directory comparisons.fcc92878cmSourceFileLocation: Remove unused Update method.59e8740acmTarget: Remove AddSourceFile method26d494bacmTarget: Use string API to add sources to cmTarget objects.d38423eccmTarget: Add a method to obtain list of filenames for sources. ...
This commit is contained in:
@@ -0,0 +1,24 @@
|
||||
CMP0051
|
||||
-------
|
||||
|
||||
List TARGET_OBJECTS in SOURCES target property.
|
||||
|
||||
CMake 3.0 and lower did not include the ``TARGET_OBJECTS``
|
||||
:manual:`generator expression <cmake-generator-expressions(7)>` when
|
||||
returning the :prop_tgt:`SOURCES` target property.
|
||||
|
||||
Configure-time CMake code is not able to handle generator expressions. If
|
||||
using the :prop_tgt:`SOURCES` target property at configure time, it may be
|
||||
necessary to first remove generator expressions using the
|
||||
:command:`string(STRIP_GENEX)` command. Generate-time CMake code such as
|
||||
:command:`file(GENERATE)` can handle the content without stripping.
|
||||
|
||||
The ``OLD`` behavior for this policy is to omit ``TARGET_OBJECTS``
|
||||
expressions from the :prop_tgt:`SOURCES` target property. The ``NEW``
|
||||
behavior for this policy is to include ``TARGET_OBJECTS`` expressions
|
||||
in the output.
|
||||
|
||||
This policy was introduced in CMake version 3.1.
|
||||
CMake version |release| warns when the policy is not set and uses
|
||||
``OLD`` behavior. Use the :command:`cmake_policy` command to set it
|
||||
to ``OLD`` or ``NEW`` explicitly.
|
||||
Reference in New Issue
Block a user