summaryrefslogtreecommitdiffstats
path: root/Tests
Commit message (Collapse)AuthorAgeFilesLines
* Merge topic 'compiler-change-cleanup'Brad King2013-02-2014-2/+98
|\ | | | | | | | | | | | | | | e83e6a1 Test Unix Makefiles generator support for changing compilers c307e1c Tests/RunCMake: Allow tests to control build tree behavior 2963c98 Merge branch 'empty-compiler-crash' into compiler-change-cleanup 1df09e5 Delete entire CMakeFiles directory when deleting CMakeCache.txt (#13756)
| * Test Unix Makefiles generator support for changing compilersBrad King2013-02-2013-0/+92
| | | | | | | | | | | | Add RunCMake.CompilerChange test to cover use of -DCMAKE_C_COMPILER=cc to change the compiler of an existing build tree. Also test for proper failure with -DCMAKE_C_COMPILER="" and no CC in the environment.
| * Tests/RunCMake: Allow tests to control build tree behaviorBrad King2013-02-181-2/+6
| | | | | | | | | | Teach the run_cmake to allow tests to set a custom test build directory. Also add an option to skip removing the build directory.
* | Revert "Add a way to exclude INTERFACE properties from exported targets."Stephen Kelly2013-02-134-76/+0
| | | | | | | | | | | | | | | | This reverts commit 2c3654c3de718fe822f8960063373774fc019494. The removal of some tests added in commit 77cecb77 (Add includes and compile definitions with target_link_libraries., 2012-11-05) are also squashed into this commit.
* | Revert "Add the $<LINKED:...> generator expression."Stephen Kelly2013-02-138-39/+0
| | | | | | | | | | | | | | | | | | This reverts commit 0b92602b816e2584db3781b120a1e5200da72ada. Conflicts: Source/cmGeneratorExpressionEvaluator.cxx Tests/CMakeCommands/target_compile_definitions/CMakeLists.txt Tests/CMakeCommands/target_include_directories/CMakeLists.txt
* | Don't populate INTERFACE includes and defines properties in tll.Stephen Kelly2013-02-132-7/+12
| | | | | | | | | | | | | | | | | | This is a partial revert of commit 77cecb77 (Add includes and compile definitions with target_link_libraries., 2012-11-05). As the interface includes and defines are now determined by the link closure, there is no need to populate the corresponding properties explicitly.
* | Revert "Don't allow utility or global targets in the LINKED expression."Stephen Kelly2013-02-135-18/+0
| | | | | | | | This reverts commit 9712362b4580fb92394ecf8ff57be186571f4319.
* | Don't use LINKED where not needed.Stephen Kelly2013-02-123-3/+3
| |
* | Merge topic 'minor-fixes'Brad King2013-02-1132-12/+242
|\ \ | |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ba48e63 Generate config-specific interface link libraries propeties. deb51a7 Remove unused forward declarations. 9712362 Don't allow utility or global targets in the LINKED expression. faa927e Make sure INTERFACE properties work with OBJECT libraries. 510fdcb Whitelist target types in target_{include_directories,compile_definitions} 4de7178 Ensure that the build interface includes have been added. df74bc3 Only append build interface include dirs to particular targets. d4e5c67 Don't keep track of content determined by target property values. 1fb545a Move a special case for PIC from the genex to the cmTarget code. 57175d5 Only use early evaluation termination for transitive properties. 4cf161a Fix determination of evaluating link libraries. 3a298c0 Fix generation of COMPILE_DEFINITIONS in DependInfo.cmake. 655e98b Ensure type specific compatible interface properties do not intersect. 46e2896 The COMPATIBLE_INTERFACE does not affect the target it is set on. 5f926a5 Test printing origin of include dirs from tll(). 7c0ec75 De-duplicate validation of genex target names. ...
| * Don't allow utility or global targets in the LINKED expression.Stephen Kelly2013-02-085-0/+18
| | | | | | | | | | | | The LINKED expression is exclusively for handling INTERFACE content and it does not make sense for utility targets to have INTERFACE content.
| * Make sure INTERFACE properties work with OBJECT libraries.Stephen Kelly2013-02-084-6/+23
| |
| * Whitelist target types in target_{include_directories,compile_definitions}Stephen Kelly2013-02-085-1/+13
| | | | | | | | | | Setting include directories or compile definitions on a target created with add_custom_target does not make sense.
| * Ensure that the build interface includes have been added.Stephen Kelly2013-02-0810-1/+137
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is needed in the case that Automoc is used, as that calls GetIncludeDirectories, which may cache the resulting include dirs too early in the generate step. Also, because the automoc step is so early, we can't cache the include directories at that point. At that point the build interface of all dependencies are not populated yet, so we'd be caching the includes before appending the build interface. Only start caching when we're definitely generating the buildsystem. At that point, the includes should be stable. We still need to invoke AppendBuildInterfaceIncludes in the GlobalGenerator because the build interface includes affect mostly the dependencies of targets (such as the automoc targets), rather than the targets themselves, so the build interface needs to be appended for all targets before generation is done.
| * Only use early evaluation termination for transitive properties.Stephen Kelly2013-02-071-1/+4
| | | | | | | | | | | | We need to make sure expressions which evaluate TARGET_PROPERTY:TYPE multiple times for example get the correct result each time, and not an empty string instead.
| * Ensure type specific compatible interface properties do not intersect.Stephen Kelly2013-02-074-0/+16
| | | | | | | | | | Before, the boolean version would always win, and the string one would be ignored.
| * The COMPATIBLE_INTERFACE does not affect the target it is set on.Stephen Kelly2013-02-071-0/+15
| | | | | | | | Test and document this.
| * Test printing origin of include dirs from tll().Stephen Kelly2013-02-072-3/+16
| |
* | Merge topic 'generator-toolset'Brad King2013-02-0857-157/+222
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 56ca8d4 Tests: Add generator toolset support f36c665 Tests: Consolidate ctest --build-and-test generator options c0debb1 Merge branch 'master' into generator-toolset daae0d2 ExternalProject: Propagate the generator toolset e3841cf CTest: Add options to set generator toolset f980a80 Xcode: Implement generator toolset selection (#9831, #13802) 650c647 VS: Implement generator toolset selection (#10722, #13774) 4fd5342 CMake: Add -T option to choose a generator toolset 118c32f Merge branch 'xcode-duplicate-flags-13354' into generator-toolset cf8645e Tests: Run ctest custom commands with VERBATIM 5b2fba5 ExternalProject: Simplify CMake command line generation
| * | Tests: Add generator toolset supportBrad King2013-02-0744-13/+74
| | | | | | | | | | | | | | | Propagate CMAKE_GENERATOR_TOOLSET through the test hierarchy so that all tests can build with the selected generator toolset, if any.
| * | Tests: Consolidate ctest --build-and-test generator optionsBrad King2013-02-071-146/+78
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | All ctest --build-and-test invocations require the options --build-generator ${CMAKE_GENERATOR} --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM} to be passed and have consistent values, except for a few special cases. Collect the generator options in a variable instead of repeating the options everywhere explicitly.
| * | Merge branch 'master' into generator-toolsetBrad King2013-02-07226-92/+1389
| |\ \ | | |/ | | | | | | We need the latest Tests/CMakeLists.txt so we can refactor all tests.
| * | Xcode: Implement generator toolset selection (#9831, #13802)Brad King2013-02-072-1/+6
| | | | | | | | | | | | | | | Implement generator toolset selection (cmake -T) for Xcode > 2.0 by adding the GCC_VERSION build setting to project files.
| * | VS: Implement generator toolset selection (#10722, #13774)Brad King2013-02-074-3/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Implement generator toolset selection (cmake -T) for VS >= 10 by setting the PlatformToolset. Extend the RunCMake.GeneratorToolset test case to verify CMAKE_GENERATOR_TOOLSET when the generator supports -T. Since commit 485a940e (VS: Simplify MSVC version reporting, 2012-08-23) all MSVC version information is detected during the compiler id step from the actual compiler invoked by generated build systems rather than hard-coded in VS generators. Therefore we can set the PlatformToolset in VS >= 10 project files and support toolsets from other VS versions.
| * | CMake: Add -T option to choose a generator toolsetBrad King2013-02-0713-0/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Reject the option by default. It will be implemented on a per-generator basis. Pass the setting into try_compile project generation. Add cache entry CMAKE_GENERATOR_TOOLSET and associated variable documentation to hold the value persistently. Add a RunCMake.GeneratorToolset test to cover basic "-T" option cases. Verify that CMAKE_GENERATOR_TOOLSET is empty without -T, that -T is rejected when the generator doesn't support it, and that two -T options are always rejected.
| * | Merge branch 'xcode-duplicate-flags-13354' into generator-toolsetBrad King2013-01-3199-61/+1298
| |\ \
| * | | Tests: Run ctest custom commands with VERBATIMBrad King2013-01-312-3/+6
| | | |
* | | | Merge topic 'implicit-lib-canonical-path'Brad King2013-02-081-0/+6
|\ \ \ \ | |_|_|/ |/| | | | | | | | | | | 10e8b2d Normalize full paths in implicit link library list
| * | | Normalize full paths in implicit link library listBrad King2013-02-061-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Teach CMakeParseImplicitLinkInfo to convert implicit link library full paths to a canonical form. This makes them more reproducible in case different language compiler front-ends add the same library by different paths e.g. ".../libA.a" and "...//libA.a". Add a case to the CMake.ImplicitLinkInfo test to cover removal of extra slashes from both library and directory paths.
* | | | Merge topic 'tll-includes-defines'Brad King2013-02-0527-61/+261
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | e48d842 Cache context-independent includes on evaluation. 089fe1c Optimize genex evaluation for includes and defines. 179f495 find_package: Reword <package>_NO_INTERFACES documentation e7b579b Test workaround of bad interface include directories from depends. 77cecb7 Add includes and compile definitions with target_link_libraries. 0b92602 Add the $<LINKED:...> generator expression. 0fa7f69 Add API to check if we're reading a includes or defines property. 2c3654c Add a way to exclude INTERFACE properties from exported targets. d4297d5 Export targets to a targets file, not a Config file. df4d2b2 Make it an error for INSTALL_PREFIX to be evaluated. 7ceeba9 Advance more when preprocessing exported strings. 30268b4 Handle reading empty properties defined by the link interface.
| * | | | Test workaround of bad interface include directories from depends.Stephen Kelly2013-01-311-0/+41
| | | | |
| * | | | Add includes and compile definitions with target_link_libraries.Stephen Kelly2013-01-3111-53/+148
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This establishes that linking is used to propagate usage-requirements between targets in CMake code. The use of the target_link_libraries command as the API for this is chosen because introducing a new command would introduce confusion due to multiple commands which differ only in a subtle way.
| * | | | Add the $<LINKED:...> generator expression.Stephen Kelly2013-01-318-1/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is both a short form of using a TARGET_DEFINED expression together with a TARGET_PROPERTY definition, and a way to strip non-target content from interface properties when exporting.
| * | | | Export targets to a targets file, not a Config file.Stephen Kelly2013-01-312-4/+4
| | | | |
| * | | | Make it an error for INSTALL_PREFIX to be evaluated.Stephen Kelly2013-01-316-2/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | An empty string is not likely going to produce expected results in any evaluation context. It is replaced by preprocessing currently.
| * | | | Handle reading empty properties defined by the link interface.Stephen Kelly2013-01-311-1/+13
| | | | | | | | | | | | | | | | | | | | This was segfaulting before.
* | | | | Merge topic 'add-ExternalData-module'Brad King2013-02-05147-0/+665
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 5484c60 Merge branch 'vs6-rule-files' into add-ExternalData-module 1fd8d01 ExternalData: Attach download rules to content links in IDEs a6d3ffc Fix Module.ExternalData test on VS 6 aed590a Fix Module.ExternalData test on Cygwin 06e8ded Merge branch 'fix-atomic-rename-on-Windows' into add-ExternalData-module e2e0d2e ExternalData: Collapse ../ components in DATA{} paths ee2abfd ExternalData: Add support for SHA 1 and 2 hash algorithms aa8b228 ExternalData: Generalize hash algo/ext handling 9e518a8 ExternalData: Allow DATA{} syntax to reference directories 175ed02 ExternalData: Allow ()-groups in series match regex 4befecc ExternalData: Add tests covering interfaces and errors bcd2580 ExternalData: Improve series matching using an explicit syntax c0cebcb ExternalData: Remove unused private interface 5275993 ExternalData: Cleanup stray TODO and typo in comments 7bb8344 ExternalData: Do not match directory names when resolving DATA{} 00d801f ExternalData: Remove compatibility with CMake < 2.8.5 ...
| * | | | | Fix Module.ExternalData test on VS 6Brad King2013-02-041-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Run the test with the ctest --build-noclean option. The test CMakeLists.txt file already uses file(REMOVE_RECURSE) to clean out downloaded data anyway. Some file removed by "msdev ... /clean" causes CMake to re-run in the middle of the build step and file(REMOVE_RECURSE) wipes out already-generated files.
| * | | | | Fix Module.ExternalData test on CygwinBrad King2013-02-041-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In ExternalData_URL_TEMPLATES add a leading slash to the path after file:// only if the path does not already start with one.
| * | | | | ExternalData: Collapse ../ components in DATA{} pathsBrad King2013-01-305-5/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Relative path components need to be normalized out even if they appear in the middle of a caller-supplied string.
| * | | | | ExternalData: Add support for SHA 1 and 2 hash algorithmsBrad King2013-01-3016-0/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Update the Module.ExternalData and RunCMake.ExternalData tests to cover some of them.
| * | | | | ExternalData: Allow DATA{} syntax to reference directoriesBrad King2013-01-3014-2/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use a trailing slash to reference a directory. Require that a list of associated files be specified to select from within the directory. One may simply use DATA{Dir/,REGEX:.*} to reference all files but get a directory passed on the command line.
| * | | | | ExternalData: Allow ()-groups in series match regexBrad King2013-01-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Refactor use of the ExternalData_SERIES_MATCH value to avoid assuming that it has no ()-groups that interfere with group indexing. Extend the Module.ExternalData test to cover this case.
| * | | | | ExternalData: Add tests covering interfaces and errorsBrad King2013-01-30123-0/+554
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a Module.ExternalData test to verify data retrieval and test argument DATA{} references. Add a RunCMake.ExternalData test to verify error handling and automatic transformation of a raw data to a content link and staged object.
* | | | | | Tests: Avoid CTestLimitDashJ crash on Borland 5.8 buildsBrad King2013-01-311-0/+1
| |/ / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The test added by commit e378ba5f (Add CTestLimitDashJ test, 2012-12-26) crashes with CTest compiled by Borland 5.8. There seems to be interaction among the large number of internal ctest runs. It is probably related to the undiscovered underlying issue mentioned in commit 32478069 (CTest: Prevent creation of unbounded number of tests in ctest, 2012-12-18) when fixing the symptom covered by the CTestLimitDashJ test. Add --force-new-ctest-process to avoid the crash. Further investigation will still be needed to identify the true problem.
* | | | | Merge topic 'fix-target-property-commands'Brad King2013-01-306-8/+28
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7bf490e Make subclasses responsible for joining content. f6b16d4 Don't allow targets args in the new target commands. b3a7e19 Make the Property name protected so that subclasses can use it.
| * | | | | Make subclasses responsible for joining content.Stephen Kelly2013-01-295-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This way we can add handling of relative/absolute paths and of -D in compile definitions.
| * | | | | Don't allow targets args in the new target commands.Stephen Kelly2013-01-293-8/+15
| | | | | |
* | | | | | Merge topic 'fix-TARGET_PROPERTY-extraction'Brad King2013-01-291-0/+2
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 5daaa5c Fix TARGET_PROPERTY target extractions.
| * | | | | | Fix TARGET_PROPERTY target extractions.Stephen Kelly2013-01-291-0/+2
| |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We need to make sure we can export targets which have content such as $<0:$<TARGET_PROPERTY:not_a_target,INTERFACE_INCLUDE_DIRECTORIES> That means making not finding a target non-fatal here.
* | | | | | Add the INSTALL_PREFIX genex.Stephen Kelly2013-01-273-1/+18
|/ / / / /