summaryrefslogtreecommitdiffstats
path: root/Tests/RunCMake
Commit message (Collapse)AuthorAgeFilesLines
* Features: Add cxx_auto_type.Stephen Kelly2014-04-077-0/+20
| | | | | | | | | | | | | | Record the availability of this feature for GNU 4.8 on (UNIX AND NOT APPLE) only. In the future, availability can be recorded for earlier GNU, for other platforms and for other compilers. Initially the affected configurations are as restricted as possible to allow for easy testing while extending the features vector in only one dimension. The error message when using the set_property API directly is not very good, but follow up commits will provide origin debugging of the property and a target_compile_features command which will provide a configure-time backtrace when possible.
* Merge topic 'target-transitive-sources'Brad King2014-04-0316-0/+155
|\ | | | | | | | | | | | | | | | | | | | | 9407174b target_sources: New command to add sources to target. 81ad69e0 Make the SOURCES target property writable. 6e636f2e cmTarget: Make the SOURCES origin tracable. 3676fb49 cmTarget: Allow transitive evaluation of SOURCES property. e6971df6 cmTarget: Make the source files depend on the config. df753df9 cmGeneratorTarget: Don't add computed sources to the target. 869328aa cmComputeTargetDepends: Use valid config to compute target depends.
| * target_sources: New command to add sources to target.Stephen Kelly2014-04-024-0/+26
| |
| * Make the SOURCES target property writable.Stephen Kelly2014-04-024-0/+28
| |
| * cmTarget: Make the SOURCES origin tracable.Stephen Kelly2014-04-027-0/+60
| |
| * cmTarget: Make the source files depend on the config.Stephen Kelly2014-04-028-0/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Disallow the use of config-specific source files with the Visual Studio and Xcode generators. They don't have any way to represent the condition currently. Use the same common-config API in cmQtAutoGenerators. While it accepts config-specific files, it doesn't have to support multiple configurations yet. Loop over the configs in cmTargetTraceDependencies and cmGlobalGenerator::WriteSummary and consume all source files. Loop over the configs in cmComputeTargetDepends and compute the object library dependencies for each config.
* | Merge topic 'target-sources-refactor'Brad King2014-04-0321-1/+104
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 5de63265 Genex: Only evaluate TARGET_OBJECTS to determine target sources. aa0a3562 cmGeneratorTarget: Compute target objects on demand 042c1c83 cmTarget: Compute languages from object libraries on demand. fdcefe3c cmGeneratorTarget: Compute consumed object libraries on demand. c355d108 cmComputeTargetDepends: Track object library depends. e5da9e51 cmTarget: Allow any generator expression in SOURCES property. 5702e106 cmTarget: Include TARGET_OBJECTS genex in target SOURCES property. 857d30b5 cmGlobalGenerator: Add interface to call ForceLinkerLanguages 28e1d2f8 cmStringCommand: Add GENEX_STRIP subcommand. bf98cc25 Genex: Evaluate TARGET_OBJECTS as a normal expression. 8cd113ad cmTarget: Store strings instead of cmSourceFile* to represent SOURCES. 4959f341 cmSourceFileLocation: Collapse full path for directory comparisons. fcc92878 cmSourceFileLocation: Remove unused Update method. 59e8740a cmTarget: Remove AddSourceFile method 26d494ba cmTarget: Use string API to add sources to cmTarget objects. d38423ec cmTarget: Add a method to obtain list of filenames for sources. ...
| * | Genex: Only evaluate TARGET_OBJECTS to determine target sources.Stephen Kelly2014-04-029-30/+20
| |/ | | | | | | | | | | | | | | | | | | The output of this expression may contain macros for IDEs to replace such as $(Configuration), $(CURRENT_ARCH) etc. To avoid generating content which is not usable in other contexts, report an error if there is an attempt to use it in other contexts. This commit may be reverted in the future if a solution to the above difference is implemented.
| * cmGeneratorTarget: Compute consumed object libraries on demand.Stephen Kelly2014-04-022-0/+8
| | | | | | | | | | | | | | Remove up-front object library computation from cmGlobalGenerator. Adjust tests for message coming from the generator expression evaluation.
| * cmTarget: Allow any generator expression in SOURCES property.Stephen Kelly2014-04-021-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove use of UseObjectLibraries from Makefile and Ninja generators. It is not needed now because those generators use GetExternalObjects which already contains the objects from object libraries. The VS10 generator calls both the UseObjectLibraries and the GetExternalObjects methods. Ensure that duplicates are not created by skipping objects from object libraries in handling of GetExternalObjects. Similarly, fix VS6, VS7 and Xcode object handling by skipping external objects from OBJECT_LIBRARY usage as appropriate. The error message in the BadSourceExpression1 test is now reported by the generator expression evaluator, so it has different text.
| * cmTarget: Include TARGET_OBJECTS genex in target SOURCES property.Stephen Kelly2014-04-0213-0/+64
| | | | | | | | Add policy CMP0051 to control this behavior.
| * Genex: Evaluate TARGET_OBJECTS as a normal expression.Stephen Kelly2014-03-3110-0/+39
| |
* | Merge topic 'fix_policy_diagnostics'Brad King2014-04-0112-84/+0
|\ \ | |/ |/| | | | | 77b581c2 Policies: omit warnings about unset policies when they are actually set to NEW
| * Policies: omit warnings about unset policies when they are actually set to NEWNils Gladitz2014-03-3112-84/+0
| |
* | Merge topic 'configure_file-unicode'Brad King2014-03-2023-0/+54
|\ \ | | | | | | | | | | | | 98383f80 Unicode: check encoding of files given to configure_file.
| * | Unicode: check encoding of files given to configure_file.Clinton Stimpson2014-03-1723-0/+54
| | | | | | | | | | | | UTF-16 and UTF-32 files are rejected.
* | | Merge topic 'FindPkgConfig_Extend-PKG_CONFIG_PATH_2'Brad King2014-03-207-3/+151
|\ \ \ | | | | | | | | | | | | | | | | | | | | cc5a0d8f FindPkgConfig: More unit tests 453d2b24 FindPkgConfig: small refactoring
| * | | FindPkgConfig: More unit testsDaniele E. Domenichelli2014-03-177-3/+151
| | | |
* | | | Merge topic 'CheckTypeSize_#14056'Brad King2014-03-202-0/+6
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | 7f857775 CheckTypeSize: Add unit test to cover the no-C case 7d6d45f2 CheckTypeSize: Support for CXX when C language is not enabled
| * | | | CheckTypeSize: Add unit test to cover the no-C caseDaniele E. Domenichelli2014-03-172-0/+6
| | | | |
* | | | | Merge topic 'add_custom_command-no-INTERFACE-lib'Brad King2014-03-204-0/+13
|\ \ \ \ \ | |_|/ / / |/| | | / | | |_|/ | |/| | 2600e923 Disallow INTERFACE libraries with add_custom_command(TARGET).
| * | | Disallow INTERFACE libraries with add_custom_command(TARGET).Stephen Kelly2014-03-194-0/+13
| | | | | | | | | | | | | | | | Don't attempt to trace their dependencies.
* | | | Merge topic 'FindPkgConfig_Extend-PKG_CONFIG_PATH'Brad King2014-03-1714-0/+98
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | 3df51470 FindPkgConfig: Extend PKG_CONFIG_PATH using CMake variables (#12926)
| * | | | FindPkgConfig: Extend PKG_CONFIG_PATH using CMake variables (#12926)Daniele E. Domenichelli2014-03-1714-0/+98
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use CMAKE_PREFIX_PATH, CMAKE_FRAMEWORK_PATH, and CMAKE_APPBUNDLE_PATH cache and environment variables to extend PKG_CONFIG_PATH before calling pkg-config. In each of the path in these variables it searches for lib/pkgconfig. Then, depending on the system, it searches for lib/${CMAKE_LIBRARY_ARCHITECTURE}/pkgconfig (debian) or for lib64/pkgconfig (other 64 bit unixes). If any of these path is found, it is appended to the PKG_CONFIG_PATH enviromnent variable. Add two new arguments to the pkg_check_module and pkg_search_module macro, NO_CMAKE_PATH and NO_CMAKE_ENVIRONMENT_PATH. The new signature are therefore: pkg_check_modules(<PREFIX> [REQUIRED] [QUIET] [NO_CMAKE_PATH] [NO_CMAKE_ENVIRONMENT_PATH] <MODULE> [<MODULE>]*) pkg_search_module(<PREFIX> [REQUIRED] [QUIET] [NO_CMAKE_PATH] [NO_CMAKE_ENVIRONMENT_PATH] <MODULE> [<MODULE>]*) By default, if CMAKE_MINIMUM_REQUIRED_VERSION is 3.1 or later (in order to keep compatibility with the previous behavior), or if PKG_CONFIG_USE_CMAKE_PREFIX_PATH is set, the CMAKE_PREFIX_PATH, CMAKE_FRAMEWORK_PATH, and CMAKE_APPBUNDLE_PATH cache and environment variables will be added to pkgconfig search path. The NO_CMAKE_PATH and NO_CMAKE_ENVIRONMENT_PATH arguments disable this behavior for the cache variables and the environment variables, respectively, similarly to the find_package() command.
* | | | | Merge branch 'master' into CONFIG-LOCATION-CMP0026Brad King2014-03-1764-11/+320
|\ \ \ \ \ | |_|/ / / |/| | / / | | |/ / | |/| |
| * | | 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
| * | | | 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
| * | | 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.
* | | | cmTarget: Restore <CONFIG>_LOCATION to CMP0026 OLD behavior (#14808)Stephen Kelly2014-03-1719-0/+98
| |_|/ |/| | | | | | | | | | | | | | | | | Restore support for the undocumented <CONFIG>_LOCATION target property removed by commit v3.0.0-rc1~175^2 (cmTarget: Remove support for <CONFIG>_LOCATION property, 2013-12-30) as part of the CMP0026 OLD behavior.
* | | cmTarget: Don't create duplicate backtraces in CMP0046 warningStephen Kelly2014-03-125-0/+28
| |/ |/|
* | 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.
* 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