| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Fixes: #19261
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
Apple's main Operating system changed their name from OS X to macOS:
https://www.engadget.com/2016/06/13/os-x-is-now-macos/
Revise documentation accordingly.
|
| |
|
|
|
|
|
|
|
| |
This command manages preprocessor definitions at directory level and
supports generator expressions.
Fixes: #15374
|
|\
| |
| |
| |
| |
| |
| | |
78756429ab Help: Adapt cmake-buildsystem(7) to new IMPORTED targets features
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1839
|
| |
| |
| |
| |
| |
| |
| | |
Since commit v3.11.0-rc1~433^2~2 (Teach target_* commands to set
INTERFACE properties of IMPORTED targets, 2017-09-18) it is now possible
to use the customary `target_*` commands for adjusting the settings of
an IMPORTED target. Update documentation accordingly.
|
|/
|
|
|
| |
Inspired-by: Deniz Bahadir <dbahadir@benocs.com>
Issue: #14778
|
|
|
|
|
|
|
| |
This property is meant to be set on the consumers of imported targets,
not the imported targets themselves.
Fixes: #17348
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The change in commit v3.8.0-rc1~276^2 (Allow NO_SYSTEM_FROM_IMPORTED on
imported INTERFACE libraries, 2016-11-21) was incorrect. The property
is not meant to be set on imported targets at all. It is meant to be
set on their consumers that compile sources. Since INTERFACE libraries
have no sources to compile, the property is not needed on them.
Revert most of that change. Unfortunately we must still tolerate
project code setting NO_SYSTEM_FROM_IMPORTED on INTERFACE libraries
because they were allowed by CMake 3.8 and 3.9.
Issue: #17348
|
|
|
|
|
| |
In the example code `serialization` is a PRIVATE dependency of
`archiveExtras` and not of `archive`. Fix the corresponding prose.
|
|
|
|
|
|
|
|
| |
Teach install() and export() to handle the actual object files.
Disallow this on Xcode with multiple architectures because it
still cannot be cleanly supported there.
Co-Author: Brad King <brad.king@kitware.com>
|
|
|
|
|
|
|
|
|
| |
Previously the `TARGET_OBJECTS` generator expression was limited
only to use in a buildsystem context so that Xcode's placeholders
in object file paths can be evaluated. Lift this restriction so
that the expression can at least be used in most settings.
Co-Author: Brad King <brad.king@kitware.com>
|
|
|
|
|
|
|
|
|
| |
Imported INTERFACE libraries can specify include directories via
`INTERFACE_INCLUDE_DIRECTORIES` so the default behavior of treating them
as system include directories applies. Allow users to turn this off by
setting `NO_SYSTEM_FROM_IMPORTED` on such targets.
Closes: #16443
|
|
|
|
|
|
| |
This property was added by commit 09cda9d5 (Allow imported INTERFACE
libraries to specify a link library name, 2016-11-03) and is in the
implementation's whitelist. Add it to the documentation too.
|
| |
|
|
|
|
|
| |
The Debian package checker tool (lintian) detected several typos in
CMake.
|
|
|
|
|
|
| |
The COMPATIBLE_INTERFACE_NUMBER_MAX example now sets
INTERFACE_CONTAINER_SIZE_REQUIRED on lib1Version2 and lib1Version3.
Previously set it on lib1Version2 twice and never on lib1Version3.
|
|
|
|
| |
Many of our interfaces documented for OS X also work for iOS.
|
|
|
|
|
|
|
| |
CMake assumes that a SHARED library compiled on Windows will export a LIB file.
This is not actually the case on Visual C++ if the library does not export any
symbols, and causes incremental builds to break if the user specifies SHARED
anyway. (Users should use MODULE libraries instead.)
|
| |
|
|
|
|
|
| |
Add the property name INTERFACE_INCLUDE_DIRECTORIES that was missing
from a set_property command.
|
| |
|
|
|
|
|
|
| |
Add sections to the cmake-buildsystem(7) manual and cross-reference
them with relevant variables and target properties. This avoids
duplicating the information and allows it to be more detailed.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Re-organize the content added to the cmake-packages(7) manual by
* commit v3.0.0-rc1~184^2 (Help: Document export(EXPORT) in the
cmake-packages manual, 2013-12-23),
* commit v3.0.0-rc1~154^2~1 (Help: Add notes about relocatability
of config-file packages, 2014-01-07), and
* commit v3.2.0-rc1~345^2 (Help: Warn that paths should not be used
in INTERFACE_ build properties, 2014-11-22).
These commits broke the natural flow of the original manual and made
wording after the new content make less sense. Move the content into
new subsections to restore the flow of the original manual and to
make explicitly the purpose of the new content.
Shorten the relocatable usage requirement "warnings". Refer to the
new cmake-packages(7) manual subsection to reduce duplication. Also
clarify the distinction between paths to library dependencies and
paths to their header files.
|
| |
|
| |
|
|
|
|
| |
A latex document can have its own TOC.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fix cmTarget::GetSourceFiles to set EvaluateForBuildsystem on the
$<TARGET_PROPERTY:...,INTERFACE_SOURCES> generator expression so that
the $<TARGET_OBJECTS> generator expression is allowed within an
INTERFACE_SOURCES value.
Extend the InterfaceLibrary test to cover this case. Extend the
RunCMake.TargetObjects test to cover failure of $<TARGET_OBJECTS>
when used through $<TARGET_PROPERTY:...,INTERFACE_SOURCES> in a
non-buildsystem context.
|
|
|
|
|
|
| |
Add a subsection for Binary Executables just before Binary Library
Types. Divide the library section into Normal Libraries and Object
Libraries.
|
|
|
|
|
|
|
| |
The add_library(INTERFACE) and Interface Libraries documentation
list all the INTERFACE_* properties and target_* commands that
can be used to define the interface. Add INTERFACE_SOURCES
and target_sources() to these lists for completeness.
|
|\
| |
| |
| |
| | |
907e422b Help: Explain build/install-tree include dirs in more places (#14946)
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Explain how to use $<BUILD_INTERFACE> and $<INSTALL_INTERFACE> directly
in the documentation of the target_include_directories command and
INTERFACE_INCLUDE_DIRECTORIES target property. Otherwise readers need
to notice the link to the cmake-buildsystem(7) manual and find the
example in that to understand the need for these expressions.
Also fix the explanation in cmake-buildsystem(7) to not claim that
relative paths may be used inside a BUILD_INTERFACE expression.
|
| | |
|
| |
| |
| |
| |
| |
| | |
This is the convention suggested in the Sphinx documentation and is
already used in several other places in the CMake documentation.
Update a few places where we were using other characters.
|
|/ |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
People will be tempted to put things there for convenience, thereby
causing conflicts similar to
http://thread.gmane.org/gmane.comp.compilers.clang.devel/35162/focus=35169
where it is conceivable that the LLVM developers could put a flag on
a target for convenience, which would cause conflicts for some downstreams.
|
| |
|
| |
|
|
|
|
| |
Document how the behavior can be controlled.
|
| |
|
| |
|
|
|
|
|
| |
These can be refered to from the command documentation and other
relevant locations.
|
|
|
|
|
|
|
|
| |
Psuedo -> Pseudo
behaviour -> behavior
CMake uses American spelling.
|
| |
|
| |
|
|
Describe how to define a buildsystem of binary targets, how to
express dependencies between them, how to add build specifications,
how to specify usage requirements, transitive and compatible
propagation and the various pseudo targets.
|