summaryrefslogtreecommitdiffstats
path: root/Tests
Commit message (Collapse)AuthorAgeFilesLines
* 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 'refactor-usage-requirement-evaluation'Brad King2014-07-073-10/+14
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-071-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | 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 INTERFACE_SOURCES usage requirement lookupBrad King2014-07-072-3/+7
| | | | | | | | Use the AddInterfaceEntries helper to avoid duplication.
* | 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 'WriteCompilerDetectionHeader-valid-prefix'Brad King2014-07-077-0/+34
|\ \ | | | | | | | | | | | | b47c125f WCDH: Ensure that the prefix argument to the macro is valid.
| * | WCDH: Ensure that the prefix argument to the macro is valid.Stephen Kelly2014-07-027-0/+34
| |/ | | | | | | | | The prefix must be a C-identifier because it is written as the prefix of preprocessor macros and possibly structs.
* | Tests: Fix CTestTestTimeout output order to match regexBrad King2014-07-021-1/+1
|/ | | | | | Print the "timeout correctly killed" message using message(STATUS) so that 'ctest -S' puts it in the same pipe as the rest of the test command handler output. This ensures it shows up in the same order every time.
* Merge topic 'ExternalProject_test'Brad King2014-07-021-54/+0
|\ | | | | | | | | 7269e69f ExternalProject test: remove unused file
| * ExternalProject test: remove unused fileRolf Eike Beer2014-07-011-54/+0
| |
* | Merge topic 'memcheck-test-no-lang'Brad King2014-07-021-1/+1
|\ \ | | | | | | | | | | | | 5217ad26 CTestTestMemcheck: do not search for compilers
| * | CTestTestMemcheck: do not search for compilersRolf Eike Beer2014-07-011-1/+1
| |/
* | Merge topic 'tests-add_test-NAME'Brad King2014-07-021-1/+1
|\ \ | | | | | | | | | | | | 902c9063 Tests: Use add_test(NAME) signature in add_test_macro
| * | Tests: Use add_test(NAME) signature in add_test_macroBen Boeckel2014-07-011-1/+1
| |/ | | | | | | This will allow generator expressions to be used in test arguments.
* | Merge topic 'fix-circular-transitive-properties-segfault'Brad King2014-07-0220-0/+128
|\ \ | | | | | | | | | | | | | | | 65aa5442 Target: Return null when a transitive property is not defined. 61ce6547 Genex: Fix stack overflow in transitive property evaluation.
| * | Genex: Fix stack overflow in transitive property evaluation.Stephen Kelly2014-07-0120-0/+128
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit v2.8.11~156^2~2 (Expand includes and defines transitively in 'external' genexes., 2013-02-13) introduced a recursive loop and a stack overflow during evaluation of a link implementation which depends on a transitive property, such as add_library(empty1 ...) add_library(empty2 ...) target_link_libraries(empty1 PRIVATE $<$<STREQUAL:$<TARGET_PROPERTY:INCLUDE_DIRECTORIES>,/foo/bar>:empty2> ) There is no use-case for code like that currently, but it should not cause a stack overflow. Avoid the recursion by reporting an error early if a case like this is found.
* | | Ninja: Add order-only dependencies to link commands (#14728)Ben Boeckel2014-07-011-0/+6
| |/ |/| | | | | | | | | | | | | | | | | | | | | | | A library or executable target that consists only of a reference to an object library may have no sources to compile or custom commands to run. The command in the target is the link (or archive) command. Add missing order-only dependencies to link commands so that target ordering dependencies are satisfied for it without depending on an intermediate compilation rule. Extend the ObjectLibrary test to cover this case. Co-Author: Brad King <brad.king@kitware.com>
* | Merge topic 'test-speedup-RunCMake.include_directories'Brad King2014-07-0119-44/+55
|\ \ | | | | | | | | | | | | | | | | | | | | | 9998d78d Tests: Speed up RunCMake.include_directories test 6eee5d74 Tests: Drop broken and now unused RunCMake_TEST_FILE option f0f15b93 Tests: Refactor RunCMake.include_directories to drop RunCMake_TEST_FILE 8707814e Tests: Refactor RunCMake.File_Generate to drop RunCMake_TEST_FILE
| * | Tests: Speed up RunCMake.include_directories testBrad King2014-06-3011-11/+11
| | | | | | | | | | | | | | | | | | Remove unnecessary language initializations. Change the main CMakeLists.txt project() call to specify NONE. Use enable_language(CXX) instead of project() in cases that need it to avoid enabling C too.
| * | Tests: Drop broken and now unused RunCMake_TEST_FILE optionBrad King2014-06-301-4/+1
| | | | | | | | | | | | | | | | | | | | | We cannot use -DRunCMake_TEST=${RunCMake_TEST_FILE} because test cases use project(${RunCMake_TEST}) and the project name cannot be a path to a file. The parent and grandparent commits removed the only uses of the option. Drop it now.
| * | Tests: Refactor RunCMake.include_directories to drop RunCMake_TEST_FILEBrad King2014-06-304-24/+35
| | | | | | | | | | | | | | | Drop use of RunCMake_TEST_FILE and pass the test file in through a definition in RunCMake_TEST_OPTIONS.
| * | Tests: Refactor RunCMake.File_Generate to drop RunCMake_TEST_FILEBrad King2014-06-304-5/+8
| |/ | | | | | | | | Drop use of RunCMake_TEST_FILE and pass the test file in through a definition in RunCMake_TEST_OPTIONS.
* | Merge topic 'vs14-generator'Brad King2014-06-3010-47/+8
|\ \ | |/ |/| | | | | | | | | | | | | | | | | f0e298ad Help: Add notes for topic 'vs14-generator' 5c105140 Tests: Simplify LoadCommand tests b1cbd577 FindBoost: Add -vc140 mangling for VS 14 bdc7d9c8 VS14: Fix Cl and Link flag tables as previous versions d96b3f68 VS14: Generate flag tables from MSBuild v140 tool files 65624c39 VS14: Add Visual Studio 14 generator (#14982) 8635ac23 Tests/Preprocess: Remove unnecessary VS version tests
| * Tests: Simplify LoadCommand testsBrad King2014-06-256-34/+0
| | | | | | | | | | | | Drop out-of-place coverage of CheckFunctionExists module. The "printf" symbol is not available on VS 14 without including the <stdio.h> header to get a definition.
| * VS14: Add Visual Studio 14 generator (#14982)Brad King2014-06-253-4/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Call the generator "Visual Studio 14" without any year because this version of VS does not provide a year in the product name. Copy cmGlobalVisualStudio12Generator to cmGlobalVisualStudio14Generator and update version numbers accordingly. Add the VS14 enumeration value. Teach the platform module Windows-MSVC to set MSVC14 and document the variable. Teach module InstallRequiredSystemLibraries to look for the VS 14 runtime libraries. Teach tests CheckCompilerRelatedVariables, VSExternalInclude, and RunCMake.GeneratorToolset to treat VS 14 as they do VS 10, 11, and 12. Co-Author: Pawel Stopinski <diokhan@go2.pl>
| * Tests/Preprocess: Remove unnecessary VS version testsBrad King2014-06-241-9/+0
| | | | | | | | | | | | Since commit v2.8.12~436^2 (VS 10: Escape ; as %3B in preprocessor definitions, 2013-04-11) the Tests/Preprocessor/CMakeLists.txt file no longer uses the PP_VS1XX values, so stop setting them.
* | Merge topic 'CTestTestTimeout-increase'Brad King2014-06-271-5/+2
|\ \ | | | | | | | | | | | | a73373a8 CTestTestTimeout: increase the timeout for all platforms
| * | CTestTestTimeout: increase the timeout for all platformsRolf Eike Beer2014-06-251-5/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Slow or busy machines not running Cygwin may also fail the 1 second timeout: CMake Error at CTestTestTimeout/test.cmake:38 (message): Log does not exist: .../Tests/CTestTestTimeout/timeout.log http://open.cdash.org/testDetails.php?test=264045338&build=3382733 http://open.cdash.org/testDetails.php?test=263904235&build=3382056
* | | Merge topic 'install-messages'Brad King2014-06-2718-0/+143
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | d19b64d6 install(DIRECTORY): Add MESSAGE_NEVER option to avoid output (#13761) c9568de5 install: Add CMAKE_INSTALL_MESSAGE variable (#13761) ec7cf7ea install: Thread message level setting through internal API abebcd23 file(INSTALL): Add undocumented options to control output verbosity 464567a5 file(INSTALL): Report existing DIRECTORY as Up-to-date f701b0b7 file(INSTALL): Do not pre-create DESTINATION for DIRECTORY f0a01962 cmInstallTargetGenerator: Drop default constructor arguments 67815894 Help: Add install() command document section headers
| * | | install(DIRECTORY): Add MESSAGE_NEVER option to avoid output (#13761)Brad King2014-06-246-0/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Installing large directories, e.g., the output of a doxygen run, prints one line per file resulting in too much noise in the build output. Add an option to the install(DIRECTORY) command to not print anything upon make install. Extend the RunCMake.install test with cases covering MESSAGE_NEVER behavior of the install(DIRECTORY) command. Suggested-by: Stefan Eilemann <Stefan.Eilemann@epfl.ch>
| * | | install: Add CMAKE_INSTALL_MESSAGE variable (#13761)Brad King2014-06-244-0/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Create a variable to allow users to control which installation messages are printed. In particular, provide a "LAZY" setting that prints "Installing" messages but not "Up-to-date" messages. This is desirable for incremental re-installations. Suggested-by: J Decker <d3ck0r@gmail.com>
| * | | file(INSTALL): Add undocumented options to control output verbosityBrad King2014-06-246-0/+45
| | | | | | | | | | | | | | | | | | | | | | | | Create options "MESSAGE_ALWAYS", "MESSAGE_LAZY", and "MESSAGE_NEVER" to specify whether to print the "Installing" and "Up-to-date" messages. Extend the RunCMake.file test with cases covering these options.
| * | | file(INSTALL): Report existing DIRECTORY as Up-to-dateBrad King2014-06-248-0/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Teach cmFileCopier::InstallDirectory to detect whether the destination directory exists. If so, report it as "Up-to-date" instead of "Installing". This resolves message asymmetry with file installations. Extend the RunCMake.file and RunCMake.install tests to check the installation output on both the first and second run. Suggested-by: J Decker <d3ck0r@gmail.com>
* | | | Merge topic 'refactor-link-internals'Brad King2014-06-254-2/+23
|\ \ \ \ | |_|/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | f5c18c9c cmTarget: Drop GetDirectLinkLibraries methods 281eb3d8 cmTarget: Improve HaveBuildTreeRPATH implementation d912220e cmTarget: Lookup targets in LinkInterface and LinkImplementation edce4351 cmExportFileGenerator: Make SetImportLinkProperty a template 097be413 cmTarget: Add GetUtilityItems to get target ordering dependencies 4dad5fd2 cmTarget: Add cmLinkItem to refer to a target by name and pointer a2723442 Fix scope of transitive target name lookups 069d60fe cmTarget: Add method to lookup other targets in a target's scope 47ab3ca6 cmTarget: Constify GetLinkImplementationClosure results 9f3ed029 cmTarget: Constify GetTransitivePropertyTargets results 6f0951af cmTarget: Drop 'head' target from GetImportInfo 0dc9e88d cmTarget: Remove 'head' argument from GetLinkImplementation 4ac72455 cmTarget: Drop 'head' argument from GetLinkClosure bcdb7ff9 cmTarget: Remove 'head' argument from GetLinkerLanguage bd9b667b cmComputeLinkInformation: Remove 'head' argument 06328dd5 cmTarget: Remove 'head' argument from GetLinkInformation ...
| * | | Fix scope of transitive target name lookupsBrad King2014-06-234-2/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In cmTarget, cmGeneratorTarget, and cmGeneratorExpressionEvaluator, fix target name lookups to occur in the cmMakefile context of the target that referenced the name, not the current 'head' target. The context matters for imported targets because they are directory-scoped instead of globally unique. We already do this in cmComputeLinkDepends and cmComputeTargetDepends. Extend the InterfaceLibrary test with an example covering this behavior.
* | | | Update CDash server URLBrad King2014-06-2420-40/+40
| | | | | | | | | | | | | | | | It is now at open.cdash.org and does not start in "/CDash".
* | | | Tests: Fix CMAKE_TESTS_CDASH_SERVER parsingBrad King2014-06-241-1/+1
| |_|/ |/| | | | | | | | | | | Allow the value to end without a slash and have an empty server path component. This is needed to match "http://open.cdash.org" correctly.
* | | cmake: Add '-E env' command-line toolBrad King2014-06-2311-0/+24
| |/ |/| | | | | | | | | | | | | | | | | | | | | | | Extend the cmake command-line interface to support cmake -E env [--unset=NAME]... [NAME=VALUE]... COMMAND [ARG]... This will be useful to run processes with modified environments without using a shell or a full "cmake -P" script to wrap it. Extend the RunCMake.CommandLine test to cover success and failure cases. Inspired-by: Jonathan Bohren <jbo@jhu.edu>
* | Merge topic 'vs-subdir-sln-depends'Brad King2014-06-163-5/+15
|\ \ | | | | | | | | | | | | | | | | | | cb67509b VS: Remove unused parameter of WriteTargetConfigurations 790e1677 VS: Fix subproject .sln dependencies on custom targets 5fba44cf VS: Move VS-only API out of cmGlobalGenerator
| * | VS: Fix subproject .sln dependencies on custom targetsBrad King2014-06-123-5/+15
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Each project listed in a .sln must be marked (or not) as part of the "default build" for each configuration. For targets created by the add_custom_target() command we add them to the default build if they are not excluded in some way or if another target depends on them. In the top-level .sln, a custom target is excluded if it is not created with the ALL option to add_custom_target. In subdirectory .sln files, a target may also be excluded if it is not within the directory and is brought into the solution only due to a dependency from another target in the solution. Fix the "IsPartOfDefaultBuild" and "IsDependedOn" methods to check every target to be included in the .sln for a dependency on the custom target. Otherwise transitive dependencies through targets not in the current subdirectory will not be considered. Extend the SubProject test with a custom target to cover this case. Reported-by: William Deurwaarder <William.Deurwaarder@tomtom.com> Reported-by: Dirk Steenpass <dirk.steenpass@gmail.com>
* | Merge topic 'add_jacoco_coverage_parsing'Brad King2014-06-134-0/+77
|\ \ | |/ |/| | | | | 558c2190 CTest: Add Jacoco Coverage functionality
| * CTest: Add Jacoco Coverage functionalityJoseph Snyder2014-06-124-0/+77
| | | | | | | | | | | | | | | | Add the ability to parse the XML output of the Jacoco tool. Jacoco (www.eclemma.org/jacoco) is a Java coverage tool. Add and integrate a class for the parser and include a test which utilizes the new parser.
* | Merge topic 'WriteCompilerDetectionHeader-compiler-versions'Brad King2014-06-103-1/+24
|\ \ | | | | | | | | | | | | | | | | | | | | | ddec418a Features: Add compiler version support to WriteCompilerDetectionHeader. b7029576 Project: Add configurable name for version computation macros. 78acaafe Project: Separate simulated compiler id from version detection. 567af1a5 WCDH: Issue a better message for version compatibility.
| * | Features: Add compiler version support to WriteCompilerDetectionHeader.Stephen Kelly2014-06-092-0/+19
| | |
| * | WCDH: Issue a better message for version compatibility.Stephen Kelly2014-06-051-1/+5
| | |
* | | cmake: Do not open directories as scripts (#14966)Brad King2014-06-093-0/+4
| | | | | | | | | | | | | | | Check if a file path is a directory before opening it. Extend the RunCMake.CommandLine test with a case running "cmake -P" on a directory.
* | | Merge topic 'dev/backtrace-performance'Brad King2014-06-091-2/+2
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 86be733f cmGeneratorExpression: Add workaround for Borland compiler 3495ab0a tests: update unused variable test expected output 2a1b2d84 backtrace: Convert to local paths in IssueMessage a0829205 genex: remove the need for backtraces efc20569 cmake: remove dummy backtraces for IssueMessage d46c650d cmMakefile: return a backtrace
| * | | tests: update unused variable test expected outputBen Boeckel2014-06-051-2/+2
| | |/ | |/| | | | | | | | | | The expected output is now a relative path, not a full path. Update the pass/fail detection accordingly.
* | | Merge topic 'testRST-no-preprocessor-FILE'Brad King2014-06-092-3/+10
|\ \ \ | | | | | | | | | | | | | | | | 218699eb Tests: Fix CMakeLib.testRST for relative __FILE__