summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Merge topic 'interface-sources-target-objects'Brad King2014-07-148-4/+31
|\ | | | | | | | | affe9d56 Allow INTERFACE_SOURCES to specify $<TARGET_OBJECTS> (#14970)
| * Allow INTERFACE_SOURCES to specify $<TARGET_OBJECTS> (#14970)Brad King2014-07-148-4/+31
| | | | | | | | | | | | | | | | | | | | | | | | 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.
* | Merge topic 'doc-package-target-import-once'Brad King2014-07-141-4/+11
|\ \ | | | | | | | | | | | | cfab942e Help: Update cmake-packages.7 examples to import targets only once
| * | Help: Update cmake-packages.7 examples to import targets only onceBrad King2014-07-091-4/+11
| |/ | | | | | | | | | | Package configuration files should load their targets files at most once in a given scope. Update our ClimbingStats example to show how to do this.
* | Merge topic 'build-KWIML-always'Brad King2014-07-141-6/+5
|\ \ | | | | | | | | | | | | 38d3fe07 Tests: Build and test KWIML even when testing an external CMake
| * | Tests: Build and test KWIML even when testing an external CMakeBrad King2014-07-071-6/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The CMake_TEST_EXTERNAL_CMAKE option added by commit 9608ef6f (Tests: Optionally configure tests exclusively, 2014-03-03) is intended to allow one to run the CMake test suite with a compiler that may not be supported for hosting the build of CMake itself. However, we currently use the CMake test infrastructure to test KWIML everywhere that CMake supports. In order to continue testing KWIML even in places that CMake itself does not build, include it even when testing an external CMake.
* | | 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-0910-155/+415
|\ \ | | | | | | | | | | | | | | | 7c80ce6f Help: Add notes for topic 'thread-sanitizer' 49948f72 ctest_memcheck: Add support for ThreadSanitizer
| * | Help: Add notes for topic 'thread-sanitizer'Brad King2014-07-091-0/+5
| | |
| * | ctest_memcheck: Add support for ThreadSanitizerBill Hoffman2014-07-099-155/+410
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| | | |
| * | | cmMakefile: Avoid excess source filesBen Boeckel2014-07-081-23/+26
| | | | | | | | | | | | | | | | | | | | When there are no commands, a main_dependency is not required and when there are also no dependencies, nothing is required.
| * | | cmMakefile: Add a CreateSource methodBen Boeckel2014-07-083-14/+29
| | | | | | | | | | | | | | | | | | | | The GetOrCreateSource searches the source file listing again, but some callers know that it already didn't exist.
* | | | Merge topic 'allow-OBJECT-library-extra-sources'Brad King2014-07-098-18/+30
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2c470b77 add_library: Allow arbitrary non-linked sources in OBJECT libraries de4f3e2c Tests: Fix broken dependency in ObjectLibrary test 54bf5858 Tests: Resolve TODO comment left in ObjectLibrary test
| * | | | add_library: Allow arbitrary non-linked sources in OBJECT librariesBrad King2014-07-097-9/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Loosen this restriction on OBJECT libraries to allow source files of any name to be generated by custom commands or listed for reference in IDE projects so long as they would not affect linking of a normal library. Update the rejection message to be more specific about the looser restriction. Extend the ObjectLibrary test to cover a ".cmake" file generated by a custom command in an OBJECT library.
| * | | | Tests: Fix broken dependency in ObjectLibrary testBrad King2014-07-071-1/+1
| | | | | | | | | | | | | | | | | | | | The add_custom_command DEPENDS option needs a full path.
| * | | | Tests: Resolve TODO comment left in ObjectLibrary testBrad King2014-07-072-8/+2
| | |_|/ | |/| | | | | | | | | | | | | | We now have a generic way to add -fPIC without explicitly modifying CMAKE_C_FLAGS, so use it.
* | | | Merge topic 'FindSWIG-swig3.0'Brad King2014-07-091-1/+2
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | 7400695e FindSWIG: Add support for swig 3.0 application
| * | | | FindSWIG: Add support for swig 3.0 applicationSylvain Joubert2014-07-071-1/+2
| |/ / /
* | | | Merge topic 'CMakeExpandImportedTargets-CMP0045'Brad King2014-07-091-2/+10
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | 49f32168 CMakeExpandImportedTargets: Do not read property on non-target (#15008)
| * | | | CMakeExpandImportedTargets: Do not read property on non-target (#15008)Brad King2014-07-071-2/+10
| | | | | | | | | | | | | | | | | | | | | | | | | Avoid behavior that is disallowed by CMP0045. Check whether a target exists before trying to read its properties.
* | | | | Merge topic 'update-kwsys'Brad King2014-07-097-74/+432
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 5f525da0 Merge branch 'upstream-kwsys' into update-kwsys 3d127627 KWSys 2014-07-02 (c2a329ce)
| * \ \ \ \ Merge branch 'upstream-kwsys' into update-kwsysBrad King2014-07-077-74/+432
| |\ \ \ \ \ | | |_|/ / / | |/| | | |
| | * | | | KWSys 2014-07-02 (c2a329ce)KWSys Robot2014-07-077-74/+432
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Extract upstream KWSys using the following shell commands. $ git archive --prefix=upstream-kwsys/ c2a329ce | tar x $ git shortlog --no-merges --abbrev=8 --format='%h %s' c282e64f..c2a329ce Chuck Atkins (3): e4bba930 Directory: Make sure the /* suffix uses correct slashes 97817ce7 SystemTools: Refactor test file and directory locations 8f991ab0 SystemTools: Use extended paths on Windows for > 256 length Clinton Stimpson (1): c2a329ce Encoding: Fixes uses of stat() on Windows to work with unicode. Change-Id: I8e3aa1ba66ce80900cb25a692287495b911dcbd0
* | | | | | CMake Nightly Date StampKitware Robot2014-07-091-1/+1
| |_|_|/ / |/| | | |
* | | | | CMake Nightly Date StampKitware Robot2014-07-081-1/+1
| |_|_|/ |/| | |
* | | | Merge topic 'export-from-obj-libs'Brad King2014-07-071-0/+5
|\ \ \ \ | |/ / / |/| | | | | | | | | | | d17688e4 Help: Add notes for topic 'export-from-obj-libs'
| * | | Help: Add notes for topic 'export-from-obj-libs'Brad King2014-07-071-0/+5
| | | |
* | | | Merge topic 'refactor-usage-requirement-evaluation'Brad King2014-07-0710-271/+127
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 93790506 cmTarget: Simplify INTERFACE_INCLUDE_DIRECTORIES usage requirement lookup b5b098eb cmTarget: Simplify CMP0027 logic in processIncludeDirectories 5e07dcf7 cmTarget: Add to LinkImplementation whether each library was a genex f77b384c cmTarget: Simplify INTERFACE_COMPILE_FEATURES usage requirement lookup 61ef8daa cmTarget: Simplify INTERFACE_COMPILE_DEFINITIONS usage requirement lookup d9586f83 cmTarget: Simplify INTERFACE_COMPILE_OPTIONS usage requirement lookup 3156275b cmTarget: Simplify INTERFACE_SOURCES usage requirement lookup 363cd33e cmTarget: Add method to add usage requirements from linked interfaces 251e835b cmTarget: Add to LinkImplementation a backtrace for each library 848c8ccf cmTarget: Refactor LinkImplementation to allow more information f85ccf23 cmGeneratorExpressionEvaluator: Shorten some long lines 82e91e34 cmComputeLinkDepends: Convert AddLinkEntries to a template
| * | | | cmTarget: Simplify INTERFACE_INCLUDE_DIRECTORIES usage requirement lookupBrad King2014-07-072-68/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use the AddInterfaceEntries helper to avoid duplication. In TargetPropertyEntry, replace the TargetName string member with a reference to the full cmLinkImplItem that produced the entry. This is possible because the cmLinkImplItem is available in AddInterfaceEntries (it was not available in GetIncludeDirectories). Having the full cmLinkImplItem allows processIncludeDirectories to implement CMP0027 OLD behavior without repeating the target name lookup. Update the RunCMake.CompatibleInterface test DebugProperties case expected output for the new order of the messages.
| * | | | cmTarget: Simplify CMP0027 logic in processIncludeDirectoriesBrad King2014-07-071-26/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Evaluate and lookup the target name only once per TargetPropertyEntry instead of repeating it for each include directory entry. Use a local checkCMP0027 variable to record whether the policy should be checked. Evaluate the target name as a generator expression only if it looks like one. Lookup the target by name only after evaluation of generator expressions.
| * | | | cmTarget: Add to LinkImplementation whether each library was a genexBrad King2014-07-072-11/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Implementation of CMP0027 OLD behavior needs to know whether each entry in LinkImplementation::Libraries came from a generator expression or not. Add a FromGenex member to cmLinkImplItem to record this.
| * | | | cmTarget: Simplify INTERFACE_COMPILE_FEATURES usage requirement lookupBrad King2014-07-071-39/+3
| | | | | | | | | | | | | | | | | | | | Use the AddInterfaceEntries helper to avoid duplication.
| * | | | cmTarget: Simplify INTERFACE_COMPILE_DEFINITIONS usage requirement lookupBrad King2014-07-071-39/+3
| | | | | | | | | | | | | | | | | | | | Use the AddInterfaceEntries helper to avoid duplication.
| * | | | cmTarget: Simplify INTERFACE_COMPILE_OPTIONS usage requirement lookupBrad King2014-07-071-39/+3
| | | | | | | | | | | | | | | | | | | | Use the AddInterfaceEntries helper to avoid duplication.
| * | | | cmTarget: Simplify INTERFACE_SOURCES usage requirement lookupBrad King2014-07-073-42/+10
| | | | | | | | | | | | | | | | | | | | Use the AddInterfaceEntries helper to avoid duplication.
| * | | | cmTarget: Add method to add usage requirements from linked interfacesBrad King2014-07-071-0/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Create a cmTargetInternals::AddInterfaceEntries method to construct a $<TARGET_PROPERTY:tgt,INTERFACE_XYZ> generator expression and evaluate it for every target in the link implementation. This will be useful to de-duplicate such evaluation for each usage requirement separately. The new method will soon be used in the implementation of the INTERFACE_* usage requirement lookup methods (GetSourceFiles, GetCompileOptions, GetCompileDefinitions, GetCompileFeatures, GetIncludeDirectories). It is necessary for these methods to determine whether an expression in LinkImplementationPropertyEntries evaluates to a target or not because generator expression evaluation reports an error for non-targets and we construct a $<TARGET_PROPERTY:tgt,INTERFACE_XYZ> expression for each entry that is a target. The implementation of each usage requirement currently processes the LinkImplementationPropertyEntries and evaluates all generator expressions to determine targets. That is no longer necessary because GetLinkImplementationLibraries now returns resolved and cached targets together with their name. Use it to implement AddInterfaceEntries.
| * | | | cmTarget: Add to LinkImplementation a backtrace for each libraryBrad King2014-07-072-5/+7
| | | | | | | | | | | | | | | | | | | | Allow clients to provide backtrace context on evaluation diagnostics.
| * | | | cmTarget: Refactor LinkImplementation to allow more informationBrad King2014-07-075-14/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Create a cmLinkImplItem class derived from cmLinkItem so more information can be added to link implementation entries than link interface entries. Convert the LinkImplementation Libraries member to hold it. Update client sites accordingly.
| * | | | cmGeneratorExpressionEvaluator: Shorten some long linesBrad King2014-07-071-13/+16
| | | | | | | | | | | | | | | | | | | | Adjust the definitions of getLinkedTargetsContent to avoid long lines.
| * | | | cmComputeLinkDepends: Convert AddLinkEntries to a templateBrad King2014-07-072-4/+5
| | | | | | | | | | | | | | | | | | | | | | | | | Allow the method to be called with a vector of any type that can be converted to cmLinkItem.
* | | | | Merge topic 'ExternalProject_test'Brad King2014-07-0712-201/+246
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 92af3664 Tests: split the ExternalProject test
| * | | | | Tests: split the ExternalProject testRolf Eike Beer2014-07-0312-201/+246
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Move the subtests that test with local projects into their own test. The reason is that on slower or crowded machines the test may reach the limit of 25 minutes and therefore fail while it would pass if it was given enough time. The split is roughly 3:1 with regard to the execution time, with the new ExternalProjectLocal test being the faster one.
* | | | | | Merge topic 'dev/export-from-obj-libs'Brad King2014-07-071-0/+1
|\ \ \ \ \ \ | | |_|/ / / | |/| | | | | | | | | | | | | | | | 5ca1d3d5 GenerateExportHeader: support exporting from OBJECT libraries
| * | | | | GenerateExportHeader: support exporting from OBJECT librariesBen Boeckel2014-07-031-0/+1
| |/ / / /