New in version 3.1.
Add sources to a target.
target_sources(<target> <INTERFACE|PUBLIC|PRIVATE> [items1...] [<INTERFACE|PUBLIC|PRIVATE> [items2...] ...])
Specifies sources to use when building a target and/or its dependents. The named
<target> must have been created by a command such as add_executable() or add_library() or add_custom_target() and must not be an ALIAS target.
New in version 3.20:
<target> can be a custom target.
PRIVATE keywords are required to specify the scope of the items following them.
PUBLIC items will populate the SOURCES property of
<target>, which are used when building the target itself.
INTERFACE items will populate the INTERFACE_SOURCES property of
<target>, which are used when building dependents. The following arguments specify sources. Repeated calls for the same
<target> append items in the order called. The targets created by add_custom_target() can only have
New in version 3.3: Allow exporting targets with INTERFACE_SOURCES.
New in version 3.11: Allow setting
INTERFACE items on IMPORTED targets.
target_sources may use "generator expressions" with the syntax
$<...>. See the cmake-generator-expressions(7) manual for available expressions. See the cmake-buildsystem(7) manual for more on defining buildsystem properties.
© 2000–2021 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.