summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Merge topic 'vs-MSTool-condition'Brad King2014-07-182-95/+142
|\ | | | | | | | | 7a9909db VS: Make MS-tool-specific options conditional
| * VS: Make MS-tool-specific options conditionalBrad King2014-07-172-95/+142
| | | | | | | | | | | | Make blocks adding MS-tool-specific options conditional on a new "MSTools" boolean member of cmVisualStudio10TargetGenerator. Hard-code the member to true for now to preserve existing behavior.
* | Merge topic 'fix_Xcode_generator_name'Brad King2014-07-183-4/+5
|\ \ | | | | | | | | | | | | 3526478c Tests: Activate tests accidentally excluded from Xcode
| * | Tests: Activate tests accidentally excluded from XcodeBrad King2014-07-173-4/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | The generator name is "Xcode", not "XCode". Fix this typo. Explicitly exclude the SubDirSpaces test on Xcode because it does not work. Also tell the RunCMake.File_Generate test when Xcode is not multi-config so it can exlcude the OutputConflict case. Inspired-by: Daniele E. Domenichelli <daniele.domenichelli@iit.it>
* | | Merge topic 'identify-qthelp-artifacts'Brad King2014-07-181-7/+21
|\ \ \ | | | | | | | | | | | | | | | | 376ba935 Help: Identify more artifact types in QtHelp documentation.
| * | | Help: Identify more artifact types in QtHelp documentation.Stephen Kelly2014-07-171-7/+21
| | | | | | | | | | | | | | | | | | | | | | | | Add identifiers for variables, properties, policies and modules. This will allow QtCreator to show relevant documentation if it learns more about the context of the contents of cmake files.
* | | | Merge topic 'encoding-ctest-fixes'Brad King2014-07-182-8/+17
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | 09b2ac38 Encoding: Fix a few encoding problems with ctest.
| * | | | Encoding: Fix a few encoding problems with ctest.Clinton Stimpson2014-07-182-8/+17
| | | | | | | | | | | | | | | | | | | | | | | | | This also fixes some test failures on Windows when the name of the build directory contains non-ascii characters.
* | | | | CMake Nightly Date StampKitware Robot2014-07-181-1/+1
| |_|_|/ |/| | |
* | | | Merge topic 'refactor-link-internals'Brad King2014-07-174-229/+165
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | c45dd669 cmTarget: Cache compatible interface property sets 89095514 cmTarget: Refactor GetLinkImplementationClosure internals 9d72df45 Genex: Adjust code layout slightly d5f0743d Genex: Refactor empty element strip 60bafeb6 Genex: Avoid repeated search of transitive property whitelist 8cb91054 Genex: Simplify TARGET_PROPERTY transitive lookup 0a8fbac1 cmTarget: Drop GetTransitivePropertyTargets method fb3518dc Refactor system include annotation propagation 535fd6ce cmTarget: Make GetLink*Libraries methods safer to use
| * | | | cmTarget: Cache compatible interface property setsBrad King2014-07-162-48/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Replace isLinkDependentProperty with a CompatibleInterfaces structure that records all the compatible interface properties in a set for each type. This avoids repeatedly traversing the link implementation closure and asking every target for its compatible interface properties.
| * | | | cmTarget: Refactor GetLinkImplementationClosure internalsBrad King2014-07-161-7/+11
| | | | | | | | | | | | | | | | | | | | | | | | | Store the 'Done' flag directly in each map entry instead of using a separate map.
| * | | | Genex: Adjust code layout slightlyBrad King2014-07-161-4/+3
| | | | |
| * | | | Genex: Refactor empty element stripBrad King2014-07-161-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In cmGeneratorExpressionEvaluator, teach getLinkedTargetsContent to call cmGeneratorExpression::StripEmptyListElements to transform its return value so that callers do not have to do so.
| * | | | Genex: Avoid repeated search of transitive property whitelistBrad King2014-07-161-33/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | | Genex: Simplify TARGET_PROPERTY transitive lookupBrad King2014-07-161-65/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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*>.
| * | | | cmTarget: Drop GetTransitivePropertyTargets methodBrad King2014-07-163-25/+13
| | | | | | | | | | | | | | | | | | | | Inline the implementation at the only remaining call site.
| * | | | Refactor system include annotation propagationBrad King2014-07-161-34/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | | cmTarget: Make GetLink*Libraries methods safer to useBrad King2014-07-163-32/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | | Merge topic 'generalize-LINK_ONLY'Brad King2014-07-1715-16/+80
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 10c5c82c Help: Add notes for topic 'generalize-LINK_ONLY' 6e7e881c Honor $<LINK_ONLY> when checking interface properties 0400cd5d Make $<LINK_ONLY> available to projects (#14751)
| * | | | | Help: Add notes for topic 'generalize-LINK_ONLY'Brad King2014-07-161-0/+6
| |/ / / /
| * | | | Honor $<LINK_ONLY> when checking interface propertiesBrad King2014-07-165-3/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | | Make $<LINK_ONLY> available to projects (#14751)Brad King2014-07-1610-13/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | | Merge topic 'compile-with-cray'Brad King2014-07-171-1/+1
|\ \ \ \ \ | |_|_|/ / |/| | | | | | | | | | | | | | fd63722d cmcurl: Fix a build failure with the Cray compiler on Linux (#15026)
| * | | | cmcurl: Fix a build failure with the Cray compiler on Linux (#15026)Chuck Atkins2014-07-171-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The error is caused by a workaround for UNICOS. The workaround incorrectly uses the _CRAYC macro to determine if building for UNICOS. This macro will always be defined for the Cray C and C++ compiler regardless of the target platform, even when building for Linux. The correct macro should be _CRAY, which as per Cray documentation is only defined for UNICOS targeted builds.
* | | | | CMake Nightly Date StampKitware Robot2014-07-171-1/+1
| |/ / / |/| | |
* | | | Merge topic 'refactor-link-internals'Brad King2014-07-162-128/+97
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * | | | cmTarget: Refactor internal imported LinkInterface mapBrad King2014-07-141-10/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | | cmTarget: Simplify internal ComputeLinkInterfaceLibraries methodBrad King2014-07-141-26/+18
| | | | | | | | | | | | | | | | | | | | | | | | | Now that the method can see the full OptionalLinkInterface structure, store information there instead of passing it through arguments.
| * | | | cmTarget: Move ComputeLinkInterfaceLibraries to internalsBrad King2014-07-142-49/+52
| | | | | | | | | | | | | | | | | | | | | | | | | There are no external callers, and this will allow the method to see the full OptionalLinkInterface internal structure.
| * | | | cmTarget: Refactor internal LinkInterface mapBrad King2014-07-141-28/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | | cmTarget: Drop 'head' argument from processSourcesBrad King2014-07-141-4/+1
| | | | | | | | | | | | | | | | | | | | No call sites need it to be anything but 'this'.
| * | | | cmTarget: Drop 'head' argument from GetSourceFilesBrad King2014-07-142-15/+11
| | | | | | | | | | | | | | | | | | | | No call sites need it to be anything but 'this'.
| * | | | cmTarget: Drop 'head' argument from GetLanguagesBrad King2014-07-142-7/+5
| | | | | | | | | | | | | | | | | | | | No call sites need it to be anything but 'this'.
| * | | | cmTarget: Drop 'head' argument from ComputeLinkImplementationLanguagesBrad King2014-07-142-6/+4
| | | | | | | | | | | | | | | | | | | | No call sites need it to be anything but 'this'.
* | | | | Merge topic 'thread-sanitizer'Brad King2014-07-168-24/+216
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1e005ead CTest: Fix MemoryCheckType from 'ctest -T MemCheck' 44726714 ctest_memcheck: Add support for memory and leak sanitizer.
| * | | | | CTest: Fix MemoryCheckType from 'ctest -T MemCheck'Bill Hoffman2014-07-162-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | | | ctest_memcheck: Add support for memory and leak sanitizer.Bill Hoffman2014-07-167-22/+213
| | |_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | | CMake Nightly Date StampKitware Robot2014-07-161-1/+1
|/ / / /
* | | | Merge topic 'target-legacy-depends-only-for-vs6'Brad King2014-07-156-66/+90
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * | | | cmTarget: Compile old-style link dependencies only for VS 6Brad King2014-07-143-3/+20
| | | | | | | | | | | | | | | | | | | | | | | | | Compile all the "ForVS6" cmTarget members only on Windows. No other platforms support the VS 6 generator.
| * | | | cmTarget: Run old-style link dependencies only for VS 6Brad King2014-07-143-2/+10
| | | | | | | | | | | | | | | | | | | | | | | | | Invoke it at runtime only with the VS 6 generator. No other generators need it.
| * | | | cmTarget: Rename old-style link dependencies code as "ForVS6"Brad King2014-07-143-59/+60
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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".
| * | | | export_library_dependencies: Use original link libraries internallyBrad King2014-07-141-6/+4
| |/ / / | | | | | | | | | | | | | | | | | | | | 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.
* | | | Merge topic 'FindCurses-overhaul'Brad King2014-07-151-79/+98
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | 6c8364e6 FindCurses: Overhaul Curses and NCurses search logic (#15011)
| * | | | FindCurses: Overhaul Curses and NCurses search logic (#15011)Brad King2014-07-141-79/+98
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | Merge topic 'dev/ison-isoff-performance'Brad King2014-07-151-6/+36
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | 43a8c552 SystemTools: Use a set in Is{On,Off} 9270aa9a IsOff: Use the length for the string construction
| * | | | SystemTools: Use a set in Is{On,Off}Ben Boeckel2014-07-081-6/+35
| | | | | | | | | | | | | | | | | | | | Also check before calling toupper() umpteen million times.
| * | | | IsOff: Use the length for the string constructionBen Boeckel2014-07-081-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | No need to waste the calculation and force the string to call strlen again.
* | | | | Merge topic 'dev/fix-cmake-rule-property'Brad King2014-07-151-1/+1
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 4b139169 cmMakefile: fix __CMAKE_RULE property setting