summaryrefslogtreecommitdiffstats
path: root/Tests/RunCMake
Commit message (Collapse)AuthorAgeFilesLines
* Tests: Check find_dependency empty extra argumentsBrad King2014-03-137-0/+22
| | | | Add cases for empty arg 2 and arg 3.
* Tests: Make RunCMake.find_dependency tolerate line number changesBrad King2014-03-133-3/+3
|
* Merge topic 'fix-CMP0046-warning'Brad King2014-03-135-0/+28
|\ | | | | | | | | d83245a3 cmTarget: Don't create duplicate backtraces in CMP0046 warning
| * cmTarget: Don't create duplicate backtraces in CMP0046 warningStephen Kelly2014-03-125-0/+28
| |
* | Test error cases in find_dependency.Stephen Kelly2014-03-1114-0/+54
| |
* | Merge topic 'fix-policy-scopes'Brad King2014-03-1014-13/+16
|\ \ | |/ | | | | | | | | 50fd0a33 Tests: Simplify and document policy scopes in RunCMake.CMP* tests b1bbee3e Record more policies on targets when created
| * Tests: Simplify and document policy scopes in RunCMake.CMP* testsBrad King2014-03-0610-10/+10
| | | | | | | | | | Drop unnecessary NO_POLICY_SCOPE options. Document why the remaining options are necessary.
| * Record more policies on targets when createdBrad King2014-03-064-3/+6
| | | | | | | | | | Policies CMP0027, CMP0038, and CMP0046 have per-target meaning so record the policy settings on targets as they are created.
* | Merge topic 'test-external-cmake'Brad King2014-03-051-4/+4
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 9608ef6f Tests: Optionally configure tests exclusively, with an external CMake 9f5bd180 Tests: Drop CMAKE_TEST_GENERATOR(|_TOOLSET) variables 76477267 Tests: Drop CMAKE_TEST_MAKEPROGRAM variable a8a9fb7e Tests: Rename CMAKE_TEST_MAKEPROGRAM uses for explicit make program 40475573 Tests: Rename CMAKE_TEST_MAKEPROGRAM uses for nested test projects f99734b2 Tests: Rename CMAKE_TEST_DEVENV -> CMake_TEST_DEVENV 3c01ee5a Tests: Drop CMAKE_TEST_MSVC and test MSVC directly daf0a5fe Tests: Drop CMAKE_TEST_GENERATOR and CMAKE_TEST_MAKEPROGRAM options e5096312 Tests: Drop kwsys test
| * | Tests: Drop CMAKE_TEST_GENERATOR(|_TOOLSET) variablesBrad King2014-03-031-4/+4
| | | | | | | | | | | | s/CMAKE_TEST_GENERATOR/CMAKE_GENERATOR/g
* | | FeatureSummary: Add unit testsDaniele E. Domenichelli2014-03-0318-0/+102
|/ /
* | Tests/RunCMake: Tell cmake not to report unused command-line optionsBrad King2014-02-271-0/+1
| | | | | | | | | | | | | | | | | | On OS X we pass -DCMAKE_POLICY_DEFAULT_CMP0025=NEW to all tests. Once tests start using cmake_minimum_required(VERSION 3.0) then CMake will warn that CMAKE_POLICY_DEFAULT_CMP0025 is unused. These warnings are not part of the expected test output and can cause such tests to fail. Pass --no-warn-unused-cli to each test cmake invocation to tell it not to produce these warnings.
* | Merge topic 'target-SOURCES-refactor'Brad King2014-02-251-7/+7
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | f9d5b1fd Handle Mac OSX source flags for individual files lazily. 64d39841 cmGeneratorTarget: Classify sources on demand, not up front. d3682d86 cmGeneratorTarget: Use a method to access the definition file. 5771f81d cmTarget: Add GetTransitiveTargetClosure method. a6dd4990 cmTarget: Create a temporary cmTarget in checkInterfacePropertyCompatibility b8b99cc1 cmTarget: Avoid computing languages when computing transitive targets. 01bca553 cmTarget: Move ComputeLinkInterface to the internal class. d93e1af2 cmTarget: Extract a ComputeLinkInterfaceLibraries method. 3bcb197c cmTarget: Re-arrange the ComputeLinkInterface method. 326d07d2 cmTarget: Extract a ComputeLinkImplementationLanguages method. 21e91350 cmTarget: Change GetTransitivePropertyLinkLibraries to output targets. f81eb49e cmTarget: Find source files on request. 84e5f5a0 cmTarget: Move SourceFileFlags to cmGeneratorTarget.
| * | cmTarget: Add GetTransitiveTargetClosure method.Stephen Kelly2014-02-241-7/+7
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | Replace calls to GetLinkInformation with calls to a method to get only the target closure, not the link languages etc. The replaced calls are used while evaluating generator expressions only. This makes transitive generator expression evaluation independent from the languages of a target. In a follow-up topic, it will be possible to make the languages depend on generator expression evaluation, via evaluation of the SOURCES and INTERFACE_SOURCES target properties. Because the order of entries is not the same as the final link line, the order of debug output is different in the RunCMake.CompatibleInterface test, because the BOOL_PROP7 target property is evaluated first. Adjust the test to account for that new order.
* | tests: Add variable expansion testsBen Boeckel2014-02-2125-0/+130
|/ | | | | | | | | There are some corner cases in variable expansion which would be nice to capture before going and rewriting the variable expansion code. The majority of these are related to configuring files and strings with '@' in them in conjunction with @ONLY being specified. Another is testing for '(' usage inside of ENV variable references based on whether it is quoted or not.
* add_custom_command: Disallow use of SOURCE signatures.Stephen Kelly2014-02-1214-0/+75
| | | | Add CMP0050 to control this behavior.
* Add policy CMP0049 to avoid variable expansion in source listsStephen Kelly2014-02-1213-0/+50
|
* Merge topic 'fix-CMP0028-iface'Brad King2014-02-1010-0/+43
|\ | | | | | | | | b2915238 CMP0028: Trigger on libraries from INTERFACE of dependencies.
| * CMP0028: Trigger on libraries from INTERFACE of dependencies.Stephen Kelly2014-02-0910-0/+43
| |
* | Merge topic 'interface-library-signatures'Brad King2014-02-106-2/+15
|\ \ | | | | | | | | | | | | | | | 6d85a6a6 add_library: Issue better diagnostic for INTERFACE GLOBAL signature. 770245e9 add_library: Test invalid GLOBAL INTERFACE signature.
| * | add_library: Issue better diagnostic for INTERFACE GLOBAL signature.Stephen Kelly2014-02-071-1/+1
| | |
| * | add_library: Test invalid GLOBAL INTERFACE signature.Stephen Kelly2014-02-075-1/+14
| |/ | | | | | | | | | | This has to be tested separately from the invalid_signature test because target sources are evaluate at a later time, and earlier errors in the invalid_signature test cause early exit.
* | Tests: Speed up RunCMake.CheckModules testBrad King2014-02-063-1/+5
|/ | | | | | Enable the C and CXX languages only in the test cases that really need them. In the failure cases we do not get far enough to really use the languages, so skip enabling them.
* Merge topic 'project-version-variables'Brad King2014-02-0337-0/+167
|\ | | | | | | | | | | | | | | 41d2f2c4 write_basic_package_version_file: use PROJECT_VERSION 7e142c5a project: Manage VERSION variables 16d040c9 project: Add optional LANGUAGES keyword 00007dcc Help: Format project command and variable documentation
| * project: Manage VERSION variablesBrad King2014-01-2926-0/+138
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Teach the project() command to set variables {PROJECT,<PROJECT-NAME>}_VERSION{,_MAJOR,_MINOR,_PATCH,_TWEAK} holding the project version number and its components. Add project() command option "VERSION" to specify the version explicitly, and default to the empty string when it is not given. Since this clears variables when no VERSION is given, this may change behavior for existing projects that set the version variables themselves prior to calling project(). Add policy CMP0048 for compatibility. Suggested-by: Alex Neundorf <neundorf@kde.org>
| * project: Add optional LANGUAGES keywordBrad King2014-01-2912-0/+29
| | | | | | | | | | | | | | Teach the project() command to recognize an optional "LANGUAGES" keyword after the project name and prior to the list of languages. Do not allow multiple copies of the keyword. If the keyword is specified and no languages are listed, imply NONE.
* | Cygwin: Avoid legacy warnings in RunCMake.CMP004[1235] testsBrad King2014-01-284-4/+4
|/ | | | | | Set the minimum required version of CMake high enough to avoid the warning for CMAKE_LEGACY_CYGWIN_WIN32. The warning appears on stderr and breaks the expected output matching.
* Allow projects to specify extra inputs to CMakeBrad King2014-01-215-0/+27
| | | | | | | Define a new 'CMAKE_CONFIGURE_DEPENDS' directory property that projects can use to specify input files to the CMake configuration process. Extend the RunCMake.Configure test to verify that the build system re-runs CMake when this input changes.
* Add test case to verify CMake does not re-run on first buildBrad King2014-01-213-0/+23
| | | | | | Extend the RunCMake.Configure with a case to verify that the CMake configuration process does not immediately re-run the first time that the generated build system is invoked.
* cmake: Add '-E sleep' commandBrad King2014-01-217-0/+12
| | | | Add a cmake command-line interface to provide a cross-platform 'sleep'.
* cmake: Improve '-E create_symlink' edge case handling (#14713)Brad King2014-01-208-0/+39
| | | | | | | | | | | | The logic added by commit ffc0b5e4 (Overwrite the symlink if it already exists, 2007-02-15) does not recognize and remove existing broken links before replacing them. Improve the logic to remove any existing destination file or link (but not directory). On failure, report an error message explaining why the existing path could not be removed or the new one could not be created. Add a RunCMake.CommandLine test to cover 'cmake -E' cases. Start with test cases covering 'cmake -E create_symlink' behavior on UNIX platforms.
* Tests/RunCMake: Add function to run a specified command-lineBrad King2014-01-202-11/+32
| | | | | | | Add a 'run_cmake_command' function that can be used by tests to run a given command-line and check the results rather than always running a CMake configuration process. This can be used in the future to test 'cmake -E' for example.
* Tests/RunCMake: Move documentation to a README.rstBrad King2014-01-202-36/+52
|
* AddDependencies: new policy requires dependencies to existNils Gladitz2014-01-1214-0/+53
| | | | | Added new policy CMP0046 which requires dependencies added by add_dependencies() to actually exist.
* Tests: Remove .orig file.Stephen Kelly2014-01-101-142/+0
| | | | | Introduced in commit be0458c5 (InstallRules: added new variable to disable generation of install rules, 2013-12-25).
* Merge topic 'policies'Brad King2014-01-0929-0/+120
|\ | | | | | | | | | | | | | | | | 73e9340 get_target_property: Error on non-existent target. ab9f58f FindQt4: Ensure target exists before calling get_target_property. 37ebeb9 FindQt4: Fix use of get_target_property to use actual target name. 6aabb6a Genex: Use case-sensitive comparison for COMPILER_ID. 5bb53f6 cmTarget: Deprecate COMPILE_DEFINITIONS_ properties with a policy.
| * get_target_property: Error on non-existent target.Stephen Kelly2014-01-0813-0/+43
| | | | | | | | Introduce policy CMP0045 to control this behavior.
| * Genex: Use case-sensitive comparison for COMPILER_ID.Stephen Kelly2014-01-085-0/+30
| |
| * cmTarget: Deprecate COMPILE_DEFINITIONS_ properties with a policy.Stephen Kelly2014-01-0813-0/+47
| |
* | Merge topic 'optional-install'Brad King2014-01-0913-0/+187
|\ \ | | | | | | | | | | | | be0458c InstallRules: added new variable to disable generation of install rules
| * | InstallRules: added new variable to disable generation of install rulesNils Gladitz2014-01-0813-0/+187
| | | | | | | | | | | | | | | | | | The boolean variable CMAKE_SKIP_INSTALL_RULES allows disabling generation of install rules for projects which don't want them.
* | | Help: Ensure that target-policies are added to the documentation.Stephen Kelly2014-01-071-0/+5
| |/ |/| | | | | The two most-recently-added policies were not tested for.
* | Genex: Add a nullary form for CONFIGStephen Kelly2014-01-072-11/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | This is consistent with other similar expressions such as PLATFORM_ID, and makes the CONFIGURATION expression obsolete. Fix an off-by-one error in GeneratorExpressionContent::EvaluateParameters exposed by a unit test. Remove the test for 'bad' nullary use of $<CONFIG>. Add a unit test to verify that $<CONFIG> and $<CONFIGURATION> have the same value.
* | CompatibleInterface: Test debugging of not-set property.Stephen Kelly2014-01-072-1/+8
| |
* | Tests: simplify Qt4 target usageStephen Kelly2014-01-071-4/+1
| | | | | | | | | | This content was copied from another test where both the Core and Gui targets are used.
* | Don't allow include() of export(EXPORT) file at configure time.Stephen Kelly2014-01-064-0/+14
| | | | | | | | | | | | | | | | | | As a new feature it does not need to participate in CMP0024. Store cmExportBuildFileGenerator instances which correspond to the export(EXPORT) signature in a second map which does not own the pointers. This avoids the need to add cmExportBuildFileGenerator and dependencies to the bootstrap system.
* | add_library: Disallow invalid signatures for INTERFACE_LIBRARY.Stephen Kelly2014-01-064-0/+111
| | | | | | | | | | Document the valid signatures. Add a test for the IMPORTED GLOBAL signature.
* | cmTarget: Test impliedByUse number-compatible properties.Stephen Kelly2014-01-044-0/+15
| | | | | | | | | | | | | | | | | | Test that it is an error to read a number-compatible property to determine the link implementation. An alternative would be to consider the value to be "0", however, that is too arbitrary given the use-cases of this feature. Values from this feature may be used in setting a define, where "0" may have special or invalid meaning and should be explicit.
* | cmTarget: Don't repeat property origin debug information.Stephen Kelly2014-01-042-2/+15
| |
* | cmTarget: Fix debug report for interface-set compatibility types.Stephen Kelly2014-01-042-2/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the dependent target sets the property to boolean false, ensure that that appears in the debug report. Previously, the report output contained whether the property was consistent among dependencies, displaying 'TRUE', instead of the content of the property, which may be 'FALSE'. Return a std::pair from the consistentProperty method. This makes it possible to make the return value for string types easier to reason about. The return value of consistentProperty was previously set to an empty static string to emulate a 'true' value for the caller in commit 816b4a8a (cmTarget: Make consistentProperty return consistent content., 2013-10-22). The pair makes the consistency result properly typed.