Ben Boeckel
bcb6dbc1cb
cmTarget: help the optimizer a bit
2014-07-17 11:17:52 -04:00
Ben Boeckel
679f3deeb7
cmTarget: use hash_set for sets of strings
2014-07-17 11:17:50 -04:00
Ben Boeckel
23d6520daa
cmTarget: Allow caching of empty genex expansions
2014-07-17 11:17:50 -04:00
Ben Boeckel
cd54f1dbeb
cmTarget: Only copy GenEx expansions when necessary
2014-07-17 11:17:50 -04:00
Ben Boeckel
b75fc0e1ad
cmTarget: Don't set properties on custom targets
...
Properties are not required on custom targets.
2014-07-17 11:17:50 -04:00
Ben Boeckel
660769151a
cmTarget: Use static strings for special property names
...
The function is called enough that the std::string/cstr comparisons are
expensive from the strlen. Cache the strings for faster comparisons.
2014-07-17 11:17:50 -04:00
Ben Boeckel
cebefa71fa
cmTarget: Sort special property checks
...
The LINK_LIBRARIES property is by *far* the most popular. Move it to the
top. TYPE is second, but with more generator expression usage, that may
change in the future.
2014-07-17 11:17:49 -04:00
Ben Boeckel
97ce676e75
cmTarget: Fast path for regular properties
2014-07-17 11:17:49 -04:00
Ben Boeckel
4cfa918a9a
cmTarget: Factor out common code
2014-07-16 17:28:32 -04:00
Ben Boeckel
85242b7df6
cmTarget: Use else/if trees rather than an if tree
...
Skips lots of unnecessary string comparisons.
2014-07-16 17:28:32 -04:00
Brad King
a0dc1354fe
Merge topic 'refactor-link-internals'
...
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
2014-07-16 13:04:21 -04:00
Brad King
66e88af6d0
Merge topic 'thread-sanitizer'
...
1e005ead
CTest: Fix MemoryCheckType from 'ctest -T MemCheck'
44726714
ctest_memcheck: Add support for memory and leak sanitizer.
2014-07-16 11:51:21 -04:00
Bill Hoffman
1e005eadbc
CTest: Fix MemoryCheckType from 'ctest -T MemCheck'
...
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.
2014-07-16 11:50:33 -04:00
Bill Hoffman
4472671432
ctest_memcheck: Add support for memory and leak sanitizer.
...
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.
2014-07-16 11:50:23 -04:00
Kitware Robot
3dce6aa39d
CMake Nightly Date Stamp
2014-07-16 00:01:13 -04:00
Brad King
49bf3e7d8d
Merge topic 'target-legacy-depends-only-for-vs6'
...
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
2014-07-15 10:48:22 -04:00
Brad King
41fc00820a
Merge topic 'FindCurses-overhaul'
...
6c8364e6
FindCurses: Overhaul Curses and NCurses search logic (#15011 )
2014-07-15 10:48:20 -04:00
Brad King
c005d95662
Merge topic 'dev/ison-isoff-performance'
...
43a8c552
SystemTools: Use a set in Is{On,Off}
9270aa9a
IsOff: Use the length for the string construction
2014-07-15 10:48:18 -04:00
Brad King
29abb3dedb
Merge topic 'dev/fix-cmake-rule-property'
...
4b139169
cmMakefile: fix __CMAKE_RULE property setting
2014-07-15 10:48:17 -04:00
Brad King
d3076b1d51
Merge topic 'FindImageMagick-pkgconfig'
...
90245fe8
FindImageMagick: Use pkgconfig hints if available (#14012 )
2014-07-15 10:48:15 -04:00
Brad King
0bbebd3ca1
Merge topic 'doc-package-target-import-once'
...
0fee3f47
Revert "Help: Update cmake-packages.7 examples to import targets only once"
2014-07-15 10:48:13 -04:00
Brad King
0fee3f4712
Revert "Help: Update cmake-packages.7 examples to import targets only once"
...
This reverts commit cfab942e5f
.
Since commit v2.8.11~362^2 (Generate an early-return guard in target
Export files, 2012-11-30) an external include guard is not needed.
2014-07-15 08:59:11 -04:00
Kitware Robot
7bc8450251
CMake Nightly Date Stamp
2014-07-15 00:01:07 -04:00
Brad King
2cb8eed6e3
Merge branch 'release'
2014-07-14 15:19:16 -04:00
Rex Dieter
90245fe86e
FindImageMagick: Use pkgconfig hints if available ( #14012 )
...
Tested-by: bastien ROUCARIES <roucaries.bastien@gmail.com>
2014-07-14 15:05:28 -04:00
Brad King
8a205b980c
cmTarget: Compile old-style link dependencies only for VS 6
...
Compile all the "ForVS6" cmTarget members only on Windows. No other
platforms support the VS 6 generator.
2014-07-14 14:39:20 -04:00
Brad King
d57be904ae
cmTarget: Run old-style link dependencies only for VS 6
...
Invoke it at runtime only with the VS 6 generator. No other generators
need it.
2014-07-14 14:38:58 -04:00
Brad King
b3b44d138e
cmTarget: Rename old-style link dependencies code as "ForVS6"
...
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".
2014-07-14 14:37:04 -04:00
Brad King
80cb12bb8b
export_library_dependencies: Use original link libraries internally
...
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.
2014-07-14 14:29:26 -04:00
Ben Boeckel
4b13916970
cmMakefile: fix __CMAKE_RULE property setting
...
It got put into the condition by mistake.
2014-07-14 12:55:04 -04:00
Brad King
6c8364e6cb
FindCurses: Overhaul Curses and NCurses search logic ( #15011 )
...
Produce a more consistent result by finding only a single include
directory and reporting which headers may be included from it. The
previous search for each header separately might find pieces from
separate and incompatible packages.
While at it, provide the CURSES_INCLUDE_DIRS result variable to be
consistent with other modules.
2014-07-14 11:23:02 -04:00
Brad King
1ca0c0e94a
cmTarget: Refactor internal imported LinkInterface map
...
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.
2014-07-14 10:21:46 -04:00
Brad King
102eea60cd
cmTarget: Simplify internal ComputeLinkInterfaceLibraries method
...
Now that the method can see the full OptionalLinkInterface structure,
store information there instead of passing it through arguments.
2014-07-14 10:00:51 -04:00
Brad King
b0f5740851
cmTarget: Move ComputeLinkInterfaceLibraries to internals
...
There are no external callers, and this will allow the method to see
the full OptionalLinkInterface internal structure.
2014-07-14 09:55:52 -04:00
Brad King
c69e8a5580
cmTarget: Refactor internal LinkInterface map
...
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.
2014-07-14 09:51:51 -04:00
Brad King
4db3990e9f
cmTarget: Drop 'head' argument from processSources
...
No call sites need it to be anything but 'this'.
2014-07-14 09:46:53 -04:00
Brad King
4b8130b8de
cmTarget: Drop 'head' argument from GetSourceFiles
...
No call sites need it to be anything but 'this'.
2014-07-14 09:46:53 -04:00
Brad King
4c763dd1f1
cmTarget: Drop 'head' argument from GetLanguages
...
No call sites need it to be anything but 'this'.
2014-07-14 09:46:53 -04:00
Brad King
190cabe7c1
cmTarget: Drop 'head' argument from ComputeLinkImplementationLanguages
...
No call sites need it to be anything but 'this'.
2014-07-14 09:46:53 -04:00
Brad King
c72642f927
Merge topic 'FindCurses-blank-at-eof'
...
ccf2fca1
FindCurses: Remove blank line at end of file
2014-07-14 09:42:40 -04:00
Brad King
9124ec1c94
Merge topic 'doc-genex-id-values'
...
5690a963
Help: Link to variables corresponding to id and version expressions (#15012 )
2014-07-14 09:38:02 -04:00
Brad King
5ba3cbbd24
Merge topic 'refactor-link-internals'
...
f45ede61
cmTarget: Fix CMP0022 OLD breakage from recent refactoring
2014-07-14 09:38:00 -04:00
Brad King
f1b33fccd1
Merge topic 'vs-RC-flags'
...
5d873846
VS: Fix handling of non-preprocessor flags in CMAKE_RC_FLAGS
2014-07-14 09:37:59 -04:00
Brad King
23eb0aaef5
Merge topic 'wince-fix-dll-linking'
...
7e1283e4
MSVC: Fix linking of DLLs on WinCE (#15013 )
2014-07-14 09:37:57 -04:00
Brad King
5fc50479bf
Merge topic 'install-cfbundle-directory'
...
a3ac67cc
OS X: Install CFBundles as complete directories
2014-07-14 09:37:54 -04:00
Brad King
47bf22e121
Merge topic 'interface-sources-target-objects'
...
affe9d56
Allow INTERFACE_SOURCES to specify $<TARGET_OBJECTS> (#14970 )
2014-07-14 09:37:52 -04:00
Brad King
cb867dc4f4
Merge topic 'doc-package-target-import-once'
...
cfab942e
Help: Update cmake-packages.7 examples to import targets only once
2014-07-14 09:37:51 -04:00
Brad King
27fb86d72e
Merge topic 'build-KWIML-always'
...
38d3fe07
Tests: Build and test KWIML even when testing an external CMake
2014-07-14 09:37:49 -04:00
Brad King
5690a963e9
Help: Link to variables corresponding to id and version expressions ( #15012 )
...
In the cmake-generator-expressions(7) manual, link to the variables
that correspond to the PLATFORM_ID, C_COMPILER_ID, CXX_COMPILER_ID,
C_COMPILER_VERSION, and CXX_COMPILER_VERSION generator expressions.
2014-07-14 09:35:23 -04:00
Brad King
ccf2fca1fa
FindCurses: Remove blank line at end of file
2014-07-14 09:14:49 -04:00