summaryrefslogtreecommitdiffstats
path: root/Tests/RunCMake
Commit message (Collapse)AuthorAgeFilesLines
* 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.
| * Export: Process relative includes after genex evaluation.Stephen Kelly2013-11-261-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | In code such as install(TARGETS ... INCLUDES DESTINATION $<FOO>include ) the generator expressions are evaluated at generate-time. Delay determining whether each entry is a relative path until after the generator expressions are evaluated. Such relative paths are based relative to the CMAKE_INSTALL_PREFIX.
| * Export: Test existing behavior of exporting includes with genexes.Stephen Kelly2013-11-265-1/+54
| | | | | | | | Test that no warning or error diagnostic is issued for 'good code'.
* | cmTarget: Add whitelist of properties on INTERFACE_LIBRARY.Stephen Kelly2013-11-254-0/+27
|/
* Add policy CMP0040 to disallow custom commands on missing targetsNils Gladitz2013-11-2119-0/+74
|
* Merge topic 'cleanup-build-commands'Brad King2013-11-195-12/+14
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4cce44b Help: Document the CMAKE_MAKE_PROGRAM variable in more detail 558c74d VS: Switch to internal CMAKE_MAKE_PROGRAM lookup by generators 5229f2d Tests: Do not use an explicit make program for VS generators 72dd738 Tests: Fix MFC test heuristic for empty CMAKE_TEST_MAKEPROGRAM fd6076d Tests: Pass CMAKE_MAKE_PROGRAM instead of --build-makeprogram 68031ab Tests: Configure SubProject-Stage2 test more robustly 003d10c Tests: Simplify VSExcludeFromDefaultBuild configuration e47d934 Tests: Simplify VSProjectInSubdir configuration e965cb1 Tests: Simplify CTest.BuildCommand.ProjectInSubdir configuration 72bf255 Tests: Pass --build-options to every test 4d1d772 ctest: Teach --build-options to allow zero options 96966b5 ctest: Make the --build-makeprogram optional for --build-and-test 91a0211 Simplify some calls to cmGlobalGenerator::Build 123a060 Teach GenerateBuildCommand to find its own make program 5f5c92b VS: Add internal APIs to find MSBuild, devenv/VCExpress, and msdev 4ac75fd Prefer CMAKE_MAKE_PROGRAM over CMAKE_BUILD_TOOL (#14548) ...
| * Prefer CMAKE_MAKE_PROGRAM over CMAKE_BUILD_TOOL (#14548)Brad King2013-11-181-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | Historically these were both added for the Makefile and Visual Studio generators, respectively. Later the VS generators started using the CMAKE_MAKE_PROGRAM cache entry to find the IDE build tool, and the CMAKE_BUILD_TOOL was simply set as an alias. Fix the documentation to explain that CMAKE_MAKE_PROGRAM is the modern variable and that CMAKE_BUILD_TOOL is the compatibility alias, not the other way around. Replace uses of CMAKE_BUILD_TOOL with CMAKE_MAKE_PROGRAM in CMake-provided modules. Nothing needs to lookup CMAKE_BUILD_TOOL in the cache, so simply set it as a normal variable.
| * build_command: Return a "cmake --build" command-lineBrad King2013-11-154-10/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Re-implement the build_command() command to use "cmake --build" instead of generating a native build tool invocation directly. This command will internally invoke the proper native build tool. This avoids requiring cmGlobalGenerator::GenerateBuildCommand to produce a string so that it can be later refactored to produce a vector with no quoting or escaping. It will also allow us to later teach CMake to delay the decision about which build tool to invoke until after the project build system is generated to disk. For example, on Visual Studio 10 and above the preferred command-line tool is MSBuild, but we need to fall back to devenv if the .sln has Intel Fortran .vfproj files.
* | CMP0037: Extend policy to reserved names and custom targetsNils Gladitz2013-11-1916-40/+161
|/ | | | | | | | Teach add_custom_target to check the policy too. Extend the policy to disallow reserved target names that we use for builtin targets like "all". Extend the RunCMake.CMP0037 test to cover these cases.
* Merge topic 'set_emptyvar_PARENT_SCOPE'Brad King2013-11-145-0/+41
|\ | | | | | | | | | | | | bf755c7 set: Add unit tests for set/unset PARENT_SCOPE bc280f1 set: Fix handling of empty value with PARENT_SCOPE 20afbd5 set: Handle value-less PARENT_SCOPE explicitly
| * set: Add unit tests for set/unset PARENT_SCOPEDaniele E. Domenichelli2013-11-135-0/+41
| | | | | | | | | | Create a RunCMake.set test to cover set() command cases, starting with PARENT_SCOPE.
* | Merge topic 'configure_file-drop-IMMEDIATE'Brad King2013-11-141-2/+2
|\ \ | | | | | | | | | | | | 15610bb Drop use of configure_file IMMEDIATE option
| * | Drop use of configure_file IMMEDIATE optionDaniele E. Domenichelli2013-11-131-2/+2
| |/ | | | | | | | | | | Since commit 7d47c693 (Drop compatibility with CMake < 2.4, 2013-10-08) we no longer need to use the configure_file IMMEDIATE option to support compatibility modes less than 2.0.
* | ExternalData: Allow local stores without any URL templatesBrad King2013-11-133-1/+5
| | | | | | | | | | | | | | | | | | Allow ExternalData_URL_TEMPLATES to be empty if a value for ExternalData_OBJECT_STORES is provided. Assume in this use case that the object stores will already contain all needed objects. Extend the Module.ExternalData test to cover this case (all objects in stores). Extend the RunCMake.ExternalData test to cover the non-failure message case when stores are provided without URL templates.
* | Merge topic 'policy-summary-periods'Brad King2013-11-132-2/+2
|\ \ | | | | | | | | | | | | | | | 49cbca6 CMP0038: Add missing '.' to policy summary line 7390002 CMP0039: Add missing '.' to policy summary line
| * | CMP0039: Add missing '.' to policy summary lineDaniele E. Domenichelli2013-11-122-2/+2
| | |
* | | Merge topic 'fix-INTERFACE-with-no-SHARED-libs'Brad King2013-11-133-0/+7
|\ \ \ | |_|/ |/| | | | | | | | 64f73b0 add_library: Fix INTERFACE on platforms with no shared libs (#14561)
| * | add_library: Fix INTERFACE on platforms with no shared libs (#14561)Stephen Kelly2013-11-123-0/+7
| |/