summaryrefslogtreecommitdiffstats
path: root/Tests
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'policy-CMP0022-fixes' into policy-CMP0022-fixes-for-masterBrad King2013-11-0319-12/+106
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Resolve conflict in Source/cmTarget.cxx by integrating the changes to the internal copy constructor from both sides. Also resolve a logical conflict by dropping the special case for INTERFACE_LIBRARY targets. Since cmTarget::SetMakefile already forces CMP0022 to NEW for such targets we need no special handling. Resolve conflict in Source/cmTargetLinkLibrariesCommand.h by dropping the documentation change. We will make the same change in the new location of the same documentation in a separate commit. Resolve conflicts in Tests/RunCMake/CMP0022/CMP0022-WARN-empty-old-stderr.txt Tests/RunCMake/CMP0022/RunCMakeTest.cmake by taking the side from the 'policy-CMP0022-fixes' branch.
| * CMP0022: Warn about a given target at most onceBrad King2013-11-036-1/+16
| | | | | | | | | | | | | | | | | | | | | | Since cmTarget::ComputeLinkInterface is called separately for each "head" target that links a target, the warning we produce when CMP0022 is not set could be repeated. Add explicit logic to allow the warning to appear at most once. Multiple copies of the warning for the same target are almost always identical and therefore redundant. In the rare case that two copies of the warning are different, the second can appear in a future run after the first is fixed.
| * Do not export INTERFACE_LINK_LIBRARIES from non-linkable targetsBrad King2013-11-023-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When cmExportFileGenerator::SetImportLinkInterface exports the old LINK_INTERFACE_LIBRARIES property values it skips doing so for non-linkable targets because target->GetLinkInterface returns NULL for such targets. Since cmExportFileGenerator::PopulateInterfaceLinkLibrariesProperty looks at the INTERFACE_LINK_LIBRARIES property directly instead of using the computed link interface, teach it to skip exporting the property if target->IsLinkable returns false. Extend the RunCMake.CMP0022 test with a case covering this. Simply export an executable target that links to a library that is not exported.
| * CMP0022: Plain target_link_libraries must populate link interfaceBrad King2013-11-027-11/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The CMP0022 NEW behavior is that the INTERFACE_LINK_LIBRARIES property exactly defines the link interface. The plain target_link_libraries signature says linking is transitive by default, so it should populate the property. Teach the target_link_libraries plain signature to populate the INTERFACE_LINK_LIBRARIES regardless of the CMP0022 setting. Refactor the cmTarget::ComputeLinkInterface checks that warn when the policy is not set to compare the new property to either the explicitly set old link interface properties or the link implementation fallback for all linkable target types, not just static libraries. This fixes a regression in 2.8.12.0 that caused target_link_libraries to not implement transitive linking in the plain signature once the policy CMP0022 is set to NEW.
| * CMP0022: Add test for target_link_libraries plain signatureStephen Kelly2013-11-026-0/+56
| |
| * CMP0022: Add unit test for null pointer check and message.Stephen Kelly2013-11-024-0/+29
| |
| * Merge branch 'output-CMP0022-entries' into policy-CMP0022-fixesBrad King2013-11-021-0/+9
| |\
* | \ Merge topic 'ctest-p4'Brad King2013-11-022-0/+10
|\ \ \ | | | | | | | | | | | | | | | | 1b54b1d ctest_update: Do not remove the p4 depot name
| * | | ctest_update: Do not remove the p4 depot namePedro Navarro2013-11-012-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | Instead of removing the depot name, which causes problems when looking at the file change list in CDash, make the Update test remove a given prefix from the files retrieved from Update.xml.
* | | | Merge topic 'object-library-no-TARGET_FILE'Brad King2013-11-025-0/+35
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | d960589 Genex: Reject $<TARGET_FILE:...> for object libraries (#14532)
| * | | | Genex: Reject $<TARGET_FILE:...> for object libraries (#14532)Brad King2013-11-015-0/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Teach the cmGeneratorExpressionEvaluator filesystem artifact logic to reject OBJECT_LIBRARY targets since they have no main artifact. Without the explicit rejection evaluation falls through to an internal CMake error message in cmTarget::GetOutputInfo. Extend the RunCMake.GeneratorExpression test to cover these cases.
* | | | | Merge topic 'object-library-missing-source'Brad King2013-11-024-0/+12
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 5a2fc3d Check for OBJECT_LIBRARY source files at start of generation
| * | | | | Check for OBJECT_LIBRARY source files at start of generationBrad King2013-11-014-0/+12
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Teach cmGlobalGenerator::CheckTargets to include OBJECT_LIBRARY targets in the check for source file existence. Extend the RunCMake.ObjectLibrary test to cover this case.
* | | | | Merge topic 'doc-rst-note-and-productionlist'Brad King2013-11-022-0/+14
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 450b515 cmRST: Add support for the note and productionlist directives
| * | | | | cmRST: Add support for the note and productionlist directivesBrad King2013-10-302-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Simply print out the lines as normal paragraph text. Teach the CMakeLib.testRST test to cover this syntax. Update the cmake-developer.7 manual to document support for the directives.
* | | | | | Merge topic 'add-CMAKE_FIND_NO_INSTALL_PREFIX'Brad King2013-11-0110-0/+46
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | fe057ab Allow disabling adding the install prefix to the prefix search path.
| * | | | | | Allow disabling adding the install prefix to the prefix search path.Stephen Kelly2013-10-3110-0/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In certain scenarios, it is preferable to keep a 'dirty' install prefix than to clear it, and to expect that content will not be found there. Add a CMAKE_FIND_NO_INSTALL_PREFIX variable that can be set to disable searching the install prefix.
* | | | | | | Merge topic 'cmake-syntax-recorded-brackets'Brad King2013-11-017-0/+24
|\ \ \ \ \ \ \ | |_|_|_|/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | b54dbeb Test foreach/function/macro handling of bracket arguments ccdf7e0 macro: Do not substitute for placeholders in bracket arguments 999abb9 macro: Add extra indentation to placeholder substitution code
| * | | | | | Test foreach/function/macro handling of bracket argumentsBrad King2013-10-307-0/+24
| | |/ / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bracket arguments recorded in command invocations inside foreach, function, and macro blocks should not have any replacements done when the arguments are replayed later. Teach the RunCMake.Syntax test to cover these cases.
* | | | | | Merge topic 'fix-ninja-launcher-errors-from-custom'Brad King2013-10-315-0/+82
|\ \ \ \ \ \ | |/ / / / / |/| | | | | | | | | | | | | | | | | | | | | | | 4fcb97e Tests: Add test for CTEST_USE_LAUNCHERS capture of custom commands 05c7042 Ninja: run custom commands through launcher if available
| * | | | | Tests: Add test for CTEST_USE_LAUNCHERS capture of custom commandsNils Gladitz2013-10-315-0/+82
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This new test detects if custom command failures are detected with launchers.
* | | | | | Add to RunCMake.Syntax test \-escape casesBrad King2013-10-293-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add an Escape1 test case covering \-escape cases inside bracket, quoted, and unquoted arguments. Also cover comments immediately after quoted and unquoted arguments on lines containing \# escapes.
* | | | | | Add to RunCMake.Syntax test comments not separated by spacesBrad King2013-10-291-0/+5
|/ / / / / | | | | | | | | | | | | | | | | | | | | Extend the BracketComment5 test case to cover both bracket comments and line comments starting immediately after a bracket comment closes.
* | | | | Merge topic 'fix-custom-source-with-flags-crash'Brad King2013-10-292-0/+7
|\ \ \ \ \ | |/ / / / |/| | | | | | | | | | | | | | f037b9b Generators: don't append sources from utility targets to objectSources
| * | | | Generators: don't append sources from utility targets to objectSourcesNils Gladitz2013-10-282-0/+7
| | | | |
* | | | | Merge topic 'Qt-auto-generators'Brad King2013-10-2841-29/+127
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 9c87d9c Add automatic rcc invocation for Qt. 84218e1 Add automatic uic invocation for Qt. 94a0ca6 Record which files are skipped by automoc. 18fb758 Run the main executable created in the autogen tests. e485ba1 Rename the QtAutomoc tests to QtAutogen. 7ce65c3 Add extra checks for the AUTOMOC target property. 32771fc Update output messages for generic use. f371ab5 Rename RunAutomoc to RunAutogen. 85b3d6e Extract an SetupAutoMocTarget method. ca124a1 Rename the AutomocInfo.cmake file to be more generic. a342c9f Move some makefile definitions up away from moc-specific code. 98632ef Add the AUTOGEN_TARGETS_FOLDER and obsolete AUTOMOC_TARGETS_FOLDER. 63378ba Rename some variables to reflect broader scope. 97f1aa3 Rename method to reflect generic use. 4abb111 Rename local variable to reflect generic use. 03878c9 Move variable set to where it is used. ...
| * | | | | Add automatic rcc invocation for Qt.Stephen Kelly2013-10-245-9/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This replaces the need to invoke qt4_add_resources by allowing adding the source .qrc file directly to the target sources.
| * | | | | Add automatic uic invocation for Qt.Stephen Kelly2013-10-244-0/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The source files are already processed by cmQtAutomoc to look for moc includes, so extend that to also look for ui_ includes and find corresponding .ui files to process. This replaces the need to invoke qt4_wrap_ui(). As the ui files are not likely to be part of the SOURCES of the target, store the options associated with them separately in the cmMakefile for querying during the autogen run.
| * | | | | Run the main executable created in the autogen tests.Stephen Kelly2013-10-243-8/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Don't try to show the windows, which would require a gui capable test machine, and that's not guaranteed. Automatically link to qtmain.a on Windows to avoid a policy warning. Set policy CMP0020 to NEW by increasing the required version. Don't attempt to run the test when using Windows.
| * | | | | Rename the QtAutomoc tests to QtAutogen.Stephen Kelly2013-10-2437-13/+13
| | | | | |
* | | | | | Merge topic 'enable-language-require-compiler'Brad King2013-10-2824-4/+124
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3e04946 Require CMAKE_<LANG>_COMPILER to be found as a full path 6007f7c CMakeDetermineCompilerId: Always use compiler detected from IDE 332771c CMakeDetermine*Compiler: Remove temporary cache entry
| * | | | | | Require CMAKE_<LANG>_COMPILER to be found as a full pathBrad King2013-10-2824-4/+124
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | All generators now support detection of the full path to the compiler, so require it to be so. This will allow CMake<LANG>Information.cmake and other logic to assume the full path to the compiler tool is available. The Makefile generators already rejected CMAKE_<LANG>_COMPILER values that did not name an existing compiler. Extend this error message to all generators, make it occur as early as possible, and improve the message with advice about how to set the compiler. If the full path to the compiler is not known, finish enabling languages with a fatal error so configuration does not continue. For now, allow the RC language compiler to not be a full path. Later we will need to detect the full path to "rc" under the VS IDE. Add a RunCMake.CompilerNotFound test to cover failure cases. Fix the RunCMake.CompilerChange test EmptyCompiler case to work when configuration does not continue past enable_language.
* | | | | | | Tests: use string(TIMESTAMP) instead of system and locale specific date/timeNils Gladitz2013-10-261-132/+31
| |_|/ / / / |/| | | | |
* | | | | | Merge topic 'ctest-fix-run-serial'Brad King2013-10-263-0/+42
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ff59365 CTest: fix dashboard issues associated with the ctest-fix-run-serial topic 7a665ae CTest: added test for RUN_SERIAL issue #14484 384beff CTest: added comments that describe the basic test sorting approach adbe00d CTest: removed redundant copy of test dependency set 1b750cb CTest: perform cycle test early 6d4d7ca CTest: consider previously failed tests before all others e809d8c CTest: prioritize tests by their depth in the dependency graph 44017a4 CTest: handle dependent and non dependent test requirements equally
| * | | | | | CTest: fix dashboard issues associated with the ctest-fix-run-serial topicNils Gladitz2013-10-252-1/+4
| | | | | | |
| * | | | | | CTest: added test for RUN_SERIAL issue #14484Nils Gladitz2013-10-213-0/+39
| | | | | | |
* | | | | | | Merge topic 'ctest-p4'Brad King2013-10-263-1/+281
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 970c823 ctest_update: Add support for Perforce p4 client
| * | | | | | | ctest_update: Add support for Perforce p4 clientPedro Navarro2013-10-263-1/+281
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Teach the ctest_update implementation to use the p4 command-line client to perform updates and extract the list of changes. Add a CTest.UpdateP4 test like those that exist already for the other version control tools. Make the test available when p4 and the p4d server are found. During the test launch p4d in the background to serve a repository from the test directory. Then direct the client toward this server for the duration of the test.
* | | | | | | | Merge topic 'handle-CMP0024-in-tests'Brad King2013-10-269-46/+74
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 310aef9 Make ExportLanguages a subtest of the ObjectLibrary test 30ff6cf Refactor the Plugin test.
| * | | | | | | | Make ExportLanguages a subtest of the ObjectLibrary testStephen Kelly2013-10-247-16/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It was a subtest of the RunCMake.ObjectLibrary test. However, we need to test a build with ExternalProject after running CMake, which RunCMake tests do not do.
| * | | | | | | | Refactor the Plugin test.Stephen Kelly2013-10-242-30/+42
| | |_|/ / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Policy CMP0024 was introduced to disallow the include() of a file generated by export(). Use ExternalProject to test the plugins after building.
* | | | | | | | Merge topic 'wix-fix-shortcut-ids'Brad King2013-10-262-4/+11
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | fe7f8c9 CPackWiX: use safe IDs for generated start menu shortcuts
| * | | | | | | | CPackWiX: use safe IDs for generated start menu shortcutsNils Gladitz2013-10-262-4/+11
| | |/ / / / / / | |/| | | | | |
* | | | | | | | Merge topic 'compatible-interface-numbers'Brad King2013-10-262-0/+35
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ff6c401 cmTarget: Add interface for compatible numeric properties e4e20c1 cmTarget: Add enumeration for consistency to expect from properties. 9877769 cmTarget: Assign consistent content back to the property being evaluated. 816b4a8 cmTarget: Make consistentProperty return consistent content. 030800a cmTarget: Add a template to create correct implied content.
| * | | | | | | | cmTarget: Add interface for compatible numeric propertiesStephen Kelly2013-10-242-0/+35
| | |_|_|/ / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When using the boost MPL library, one can set a define to increase the limit of how many variadic elements should be supported. The default for BOOST_MPL_LIMIT_VECTOR_SIZE is 20: http://www.boost.org/doc/libs/1_36_0/libs/mpl/doc/refmanual/limit-vector-size.html If the foo library requires that to be set to 30, and the independent bar library requires it to be set to 40, consumers of both need to set it to 40. add_library(foo INTERFACE) set_property(TARGET foo PROPERTY INTERFACE_boost_mpl_vector_size 30) set_property(TARGET foo PROPERTY COMPATIBLE_INTERFACE_NUMBER_MAX boost_mpl_vector_size) target_compile_definitions(foo INTERFACE BOOST_MPL_LIMIT_VECTOR_SIZE=$<TARGET_PROPERTY:boost_mpl_vector_size>) add_library(bar INTERFACE) set_property(TARGET bar PROPERTY INTERFACE_boost_mpl_vector_size 40) # Technically the next two lines are redundant, but as foo and bar are # independent, they both set these interfaces. set_property(TARGET bar PROPERTY COMPATIBLE_INTERFACE_NUMBER_MAX boost_mpl_vector_size) target_compile_definitions(bar INTERFACE BOOST_MPL_LIMIT_VECTOR_SIZE=$<TARGET_PROPERTY:boost_mpl_vector_size>) add_executable(user) target_link_libraries(user foo bar) Because the TARGET_PROPERTY reads the boost_mpl_vector_size property from the HEAD of the dependency graph (the user target), and because that property appears in the COMPATIBLE_INTERFACE_NUMBER_MAX of the dependencies of the user target, the maximum value for it is chosen for the compile definition, ie, 40. There are also use-cases for choosing the minimum value of a number. In Qt, deprecated API can be disabled by version. Setting the definition QT_DISABLE_DEPRECATED_BEFORE=0 disables no deprecated API. Setting it to 0x501000 disables API which was deprecated before Qt 5.1 etc. If two dependencies require the use of API which was deprecated in different Qt versions, then COMPATIBLE_INTERFACE_NUMBER_MIN can be used to ensure that both can compile.
* | | | | | | | Merge topic 'remove-pre-2.4-compatibility'Brad King2013-10-2635-28/+58
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7d47c69 Drop compatibility with CMake < 2.4 c7c44fc CTestTest*: Update minimum required CMake to 2.4
| * | | | | | | | Drop compatibility with CMake < 2.4Brad King2013-10-2317-10/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Drop all behavior activated by setting CMAKE_BACKWARDS_COMPATIBILITY to a value lower than 2.4, and generate an error when projects or the user attempt to do so. In the error suggest using a CMake 2.8.x release. Teach cmake_minimum_required to warn about projects that do not require at least CMake 2.4. They are not supported by CMake >= 3.0. Replace the documentation of CMAKE_BACKWARDS_COMPATIBILITY with a reference to policy CMP0001.
| * | | | | | | | CTestTest*: Update minimum required CMake to 2.4Brad King2013-10-2318-18/+18
| |/ / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | We will soon deprecate support for compatibility with CMake < 2.4.
* | | | | | | | Merge topic 'fix-tll-static-private'Brad King2013-10-262-1/+8
|\ \ \ \ \ \ \ \ | | |_|_|_|_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | 239b0c6 Don't add invalid content to static lib INTERFACE_LINK_LIBRARIES.
| * | | | | | | Don't add invalid content to static lib INTERFACE_LINK_LIBRARIES.Stephen Kelly2013-10-262-1/+8
| | |_|_|_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Only valid target names or generator expressions may appear in the target field of a LINK_ONLY expression. Other content like link flags should still be added to that property (wrapped in config-specific generator expressions), but not wrapped in LINK_ONLY. Otherwise undue warnings would be issued for the policy CMP0022. The LINK_ONLY expression only has an effect for actual target names anyway, so there is no logical deficit.