summaryrefslogtreecommitdiffstats
path: root/Source
Commit message (Collapse)AuthorAgeFilesLines
* 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.
* Honor $<LINK_ONLY> when checking interface propertiesBrad King2014-07-161-1/+1
| | | | | | | | | | 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-161-11/+3
| | | | | | | | 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 '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-164-20/+89
|\ \ | | | | | | | | | | | | | | | 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-161-2/+2
| | | | | | | | | | | | | | | | | | 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-164-18/+87
| | | | | | | | | | | | | | | | | | 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 '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
| * | | cmMakefile: fix __CMAKE_RULE property settingBen Boeckel2014-07-141-1/+1
| | |/ | |/| | | | | | | It got put into the condition by mistake.
* | | CMake Nightly Date StampKitware Robot2014-07-151-1/+1
|/ /
* | Merge topic 'refactor-link-internals'Brad King2014-07-141-1/+1
|\ \ | | | | | | | | | | | | f45ede61 cmTarget: Fix CMP0022 OLD breakage from recent refactoring
| * | cmTarget: Fix CMP0022 OLD breakage from recent refactoringBrad King2014-07-101-1/+1
| | | | | | | | | | | | | | | | | | | | | 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.
* | | Merge topic 'vs-RC-flags'Brad King2014-07-147-0/+99
|\ \ \ | | | | | | | | | | | | | | | | 5d873846 VS: Fix handling of non-preprocessor flags in CMAKE_RC_FLAGS
| * | | VS: Fix handling of non-preprocessor flags in CMAKE_RC_FLAGSMartin Mitas2014-07-107-0/+99
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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'.
* | | | Merge topic 'install-cfbundle-directory'Brad King2014-07-141-0/+14
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | a3ac67cc OS X: Install CFBundles as complete directories
| * | | | OS X: Install CFBundles as complete directoriesTim Blechmann2014-07-101-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | Install CFBundles as directories just like frameworks and application bundles.
* | | | | Merge topic 'interface-sources-target-objects'Brad King2014-07-142-0/+2
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | affe9d56 Allow INTERFACE_SOURCES to specify $<TARGET_OBJECTS> (#14970)
| * | | | | Allow INTERFACE_SOURCES to specify $<TARGET_OBJECTS> (#14970)Brad King2014-07-142-0/+2
| | |/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | | CMake Nightly Date StampKitware Robot2014-07-141-1/+1
| | | | |
* | | | | CMake Nightly Date StampKitware Robot2014-07-131-1/+1
| | | | |
* | | | | CMake Nightly Date StampKitware Robot2014-07-121-1/+1
| | | | |
* | | | | CMake Nightly Date StampKitware Robot2014-07-111-1/+1
| | | | |
* | | | | CMake Nightly Date StampKitware Robot2014-07-101-1/+1
|/ / / /
* | | | Merge topic 'thread-sanitizer'Brad King2014-07-094-155/+337
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | 7c80ce6f Help: Add notes for topic 'thread-sanitizer' 49948f72 ctest_memcheck: Add support for ThreadSanitizer
| * | | | ctest_memcheck: Add support for ThreadSanitizerBill Hoffman2014-07-094-155/+337
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | | Merge topic 'dev/custom-target-performance'Brad King2014-07-093-44/+62
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6208c285 cmMakefile: Defer dependency calculations dc2e26df cmMakefile: Avoid excess source files d2803fba cmMakefile: Add a CreateSource method
| * | | | | cmMakefile: Defer dependency calculationsBen Boeckel2014-07-081-7/+7
| | | | | |