| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
| |
In cmGeneratorExpressionEvaluator, teach getLinkedTargetsContent to call
cmGeneratorExpression::StripEmptyListElements to transform its return
value so that callers do not have to do so.
|
|
|
|
|
|
|
| |
In cmGeneratorExpressionEvaluator, avoid searching through the list of
transitive interface property names repeatedly during evaluation of
TargetPropertyNode. Simply record the results of the first search for
later re-use.
|
|
|
|
|
|
|
| |
In cmGeneratorExpressionEvaluator, make getLinkedTargetsContent a
template so it can traverse over either the Libraries in a cmTarget
LinkImplementationLibraries or a cmTarget LinkInterfaceLibraries. This
also avoids creating a separate vector<cmTarget*>.
|
|
|
|
| |
Inline the implementation at the only remaining call site.
|
|
|
|
|
|
|
|
| |
Since commit v3.0.0-rc1~174^2~1 (cmTarget: Fix system include annotation
propagation, 2014-01-01) the cmGeneratorTarget::IsSystemIncludeDirectory
method needs to collect all targets that might provide
INTERFACE_(|SYSTEM)_INCLUDE_DIRECTORIES for the current target. We now
have cmTarget::GetLinkImplementationClosure to provide this, so use it.
|
|
|
|
|
|
|
|
| |
Split the library lists out of LinkImplementation and LinkInterface into
LinkImplementationLibraries and LinkInterfaceLibraries parent classes,
respectively. Return these from GetLinkImplementationLibraries and
GetLinkInterfaceLibraries, respectively, so that callers cannot access
parts of the structures that have not been populated.
|
|
|
|
|
|
|
|
|
|
| |
Callers of cmTarget::GetLinkImplementationClosure are interested in the
set of targets whose interface properties propagate to the current
target. This excludes targets guarded by $<LINK_ONLY>.
Teach the CompatibleInterface test to cover suppression of interface
compatibility tests with $<LINK_ONLY>. Although this is not recommended
in practice, it is a way of covering the above behavior.
|
|
|
|
|
|
|
|
| |
Previously this generator expression was used internally by the
target_link_libraries command to honor private linking requirements of
static libraries in their INTERFACE_LINK_LIBRARIES. Remove the check
that limits $<LINK_ONLY> to this use case to make it available for
project code to use too.
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
1ca0c0e9 cmTarget: Refactor internal imported LinkInterface map
102eea60 cmTarget: Simplify internal ComputeLinkInterfaceLibraries method
b0f57408 cmTarget: Move ComputeLinkInterfaceLibraries to internals
c69e8a55 cmTarget: Refactor internal LinkInterface map
4db3990e cmTarget: Drop 'head' argument from processSources
4b8130b8 cmTarget: Drop 'head' argument from GetSourceFiles
4c763dd1 cmTarget: Drop 'head' argument from GetLanguages
190cabe7 cmTarget: Drop 'head' argument from ComputeLinkImplementationLanguages
|
| |
| |
| |
| |
| |
| | |
Create the map entry up front and store in it a boolean value indicating
whether the LinkInterface structure has been populated. This approach
leads to shorter code that is easier to follow too.
|
| |
| |
| |
| |
| | |
Now that the method can see the full OptionalLinkInterface structure,
store information there instead of passing it through arguments.
|
| |
| |
| |
| |
| | |
There are no external callers, and this will allow the method to see
the full OptionalLinkInterface internal structure.
|
| |
| |
| |
| |
| |
| | |
Create the map entry up front and store in it boolean values indicating
which pieces of the LinkInterface structure have been populated.
This approach leads to shorter code that is easier to follow too.
|
| |
| |
| |
| | |
No call sites need it to be anything but 'this'.
|
| |
| |
| |
| | |
No call sites need it to be anything but 'this'.
|
| |
| |
| |
| | |
No call sites need it to be anything but 'this'.
|
| |
| |
| |
| | |
No call sites need it to be anything but 'this'.
|
|\ \
| | |
| | |
| | |
| | |
| | | |
1e005ead CTest: Fix MemoryCheckType from 'ctest -T MemCheck'
44726714 ctest_memcheck: Add support for memory and leak sanitizer.
|
| | |
| | |
| | |
| | |
| | |
| | | |
Before this commit, you would have to run ctest -S mode to get
MemoryCheckType to work. This is because CMAKE_COMMAND was not set.
The fix is to use cmSystemTools::GetCMakeCommand instead.
|
| | |
| | |
| | |
| | |
| | |
| | | |
This adds support for memory and leak sanitizers. This is built into
clang and gcc 4.8 and new compilers. It is activated with a -f switch
during compile.
|
|/ / |
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
8a205b98 cmTarget: Compile old-style link dependencies only for VS 6
d57be904 cmTarget: Run old-style link dependencies only for VS 6
b3b44d13 cmTarget: Rename old-style link dependencies code as "ForVS6"
80cb12bb export_library_dependencies: Use original link libraries internally
|
| | |
| | |
| | |
| | |
| | | |
Compile all the "ForVS6" cmTarget members only on Windows. No other
platforms support the VS 6 generator.
|
| | |
| | |
| | |
| | |
| | | |
Invoke it at runtime only with the VS 6 generator. No other generators
need it.
|
| | |
| | |
| | |
| | |
| | |
| | | |
The old link dependency analysis is now needed only for the VS 6
generator code delimited by CM_USE_OLD_VS6 to support project-provided
project templates. Rename the related cmTarget members to be "ForVS6".
|
| |/
| |
| |
| |
| |
| | |
This command was using the cmTarget::GetLinkLibraries method with a
comment explaining how execution order gives it the dependencies before
analysis. Just use cmTarget::GetOriginalLinkLibraries instead.
|
|\ \
| | |
| | |
| | |
| | |
| | | |
43a8c552 SystemTools: Use a set in Is{On,Off}
9270aa9a IsOff: Use the length for the string construction
|
| | |
| | |
| | |
| | | |
Also check before calling toupper() umpteen million times.
|
| | |
| | |
| | |
| | |
| | | |
No need to waste the calculation and force the string to call strlen
again.
|
|\ \ \
| | | |
| | | |
| | | |
| | | | |
4b139169 cmMakefile: fix __CMAKE_RULE property setting
|
| | |/
| |/|
| | |
| | | |
It got put into the condition by mistake.
|
|/ / |
|
|\ \
| | |
| | |
| | |
| | | |
f45ede61 cmTarget: Fix CMP0022 OLD breakage from recent refactoring
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
In commit 7b0834e9 (cmTarget: Refactor internal LinkImplementation map,
2014-06-19) cmTarget::GetLinkImplementationLibrariesInternal was changed
accidentally to pass "this" to ComputeLinkImplementation instead of
"head". Change it back.
|
|\ \ \
| | | |
| | | |
| | | |
| | | | |
5d873846 VS: Fix handling of non-preprocessor flags in CMAKE_RC_FLAGS
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Teach the VS >= 10 generator to honor flags other than -I and -D
in the CMAKE_RC_FLAGS[_<CONFIG>] variable. Place them within the
ResourceCompile .vcxproj element under AdditionalOptions.
Also add a rudimentary flag map to map '-n' to 'NullTerminateStrings'.
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | | |
a3ac67cc OS X: Install CFBundles as complete directories
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Install CFBundles as directories just like frameworks and application
bundles.
|
|\ \ \ \ \
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
affe9d56 Allow INTERFACE_SOURCES to specify $<TARGET_OBJECTS> (#14970)
|
| | |/ / /
| |/| | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
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.
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
|/ / / / |
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
7c80ce6f Help: Add notes for topic 'thread-sanitizer'
49948f72 ctest_memcheck: Add support for ThreadSanitizer
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This commit adds support for ThreadSanitizer to ctest. ThreadSanitizer
is part of the clang compiler and also gcc 4.8 and later. You have to
compile the code with special flags. Then your code gets the the
ThreadSanitizer ability built into it. To pass options to the
ThreadSanitizer you use an environment variable. This commit teaches
ctest to parse the output from ThreadSanitizer and send it to CDash.
|
|\ \ \ \ \
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
6208c285 cmMakefile: Defer dependency calculations
dc2e26df cmMakefile: Avoid excess source files
d2803fba cmMakefile: Add a CreateSource method
|
| | | | | | |
|