summaryrefslogtreecommitdiffstats
path: root/Tests/RunCMake
Commit message (Collapse)AuthorAgeFilesLines
* 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.
* | cmTarget: Fix reporting interface-set properties which are FALSE.Stephen Kelly2014-01-042-1/+10
| |
* | cmTarget: Fix the property compatibility error messageStephen Kelly2014-01-046-3/+21
| | | | | | | | | | | | | | Don't refer to 'both', but a 'mixture'. List all compatible interface property types possible. Add another test for a mixture of three compatibilities.
* | add_dependencies: Disallow use with INTERFACE_LIBRARY.Stephen Kelly2014-01-044-0/+12
| |
* | Merge topic 'export-EXPORT-subcommand'Brad King2014-01-0210-0/+39
|\ \ | | | | | | | | | | | | | | | | | | | | | 98b9f52 Help: Document export(EXPORT) in the cmake-packages manual. a1d2bda Don't copy find_dependency in configure_package_config_file. f4f6529 Help: cmake-packages: Add missing slash. cbe7e8f export: Implement EXPORT subcommand (#9822)
| * | export: Implement EXPORT subcommand (#9822)Stephen Kelly2013-12-2410-0/+39
| |/ | | | | | | | | | | Teach the export command to handle export sets defined by invocations of install(TARGETS ... EXPORT foo). This makes maintenance of targets exported to both the build tree and install tree trivial.
* | Merge topic 'rpath-default'Brad King2014-01-0215-0/+54
|\ \ | |/ |/| | | | | d25ad48 OS X: Add CMP0042 to enable MACOSX_RPATH by default
| * OS X: Add CMP0042 to enable MACOSX_RPATH by defaultClinton Stimpson2014-01-0215-0/+54
| | | | | | | | | | Also adding documentation for CMAKE_MACOSX_RPATH, and improving documentation for MACOSX_RPATH.
* | cmTarget: Fix typoStephen Kelly2013-12-192-2/+2
| | | | | | | | 'a ALIAS' -> 'an ALIAS'
* | Don't search for IMPORTED_LOCATION of INTERFACE_LIBRARY (14636)Stephen Kelly2013-12-094-0/+25
|/ | | | | | | | The INTERFACE_LIBRARY type does not have any LOCATION at all, so return early from GetMappedConfig. GetMappedConfig is called from two locations, one of which already pre-checks the INTERFACE_LIBRARY case. Remove that pre-check and handle that case inside the method instead.
* cmTarget: Require a compatible INTERFACE_AUTOUIC_OPTIONS from dependencies.Stephen Kelly2013-12-086-0/+43
| | | | | | | | | Revert the origin-tracking infrastructure from commit 98093c45 (QtAutoUic: Add INTERFACE_AUTOUIC_OPTIONS target property., 2013-11-20). Use the compatibility-tracking for compatible strings instead. If two different dependencies require different AUTOUIC_OPTIONS, cmake will now appropriately issue an error.
* cmTarget: Report origin of COMPATIBLE_INTERFACE properties.Stephen Kelly2013-12-088-0/+151
|
* Merge topic 'fix-export-segfault'Brad King2013-12-046-0/+13
|\ | | | | | | | | 1cd1430 export(): Check targets exist at configure-time (#14608)
| * export(): Check targets exist at configure-time (#14608)Stephen Kelly2013-12-046-0/+13
| | | | | | | | | | | | | | | | | | Commit 66b290e7 (export(): Process the export() command at generate time., 2012-10-06 ) refactored export() so that it could evaluate strings at generate-time. This was intended for evaluating target properties, but that commit also removed a check for target existence at configure-time. Restore that check and add a test for this case.
* | Merge topic 'export-includes'Brad King2013-12-0227-1/+266
|\ \ | |/ |/| | | | | | | | | | | | | | | 5838aba Export: Report error on relative include with genex. 7a3e45b Export: Prefix relative items with genexes in INSTALL_INTERFACE. f088a32 Export: Process INSTALL_INTERFACE in INCLUDES DESTINATION. 9eedc85 Export: Process relative includes after genex evaluation. 80790f3 Export: Test existing behavior of exporting includes with genexes. 38afc82 target_include_directories: Allow relative path with genex
| * Export: Report error on relative include with genex.Stephen Kelly2013-11-2622-0/+200
| | | | | | | | | | | | | | | | | | | | | | | | Diagnostics which check the sanity of exported include paths previously skipped over any path containing a generator expression. Introduce a policy to issue an error message in such cases. The export files created in the OLD behavior are not usable, because they contain relative paths or paths to the source or build location which are not suitable for use on installation. CMake will report an error on import.