summaryrefslogtreecommitdiffstats
path: root/Tests/RunCMake
Commit message (Collapse)AuthorAgeFilesLines
* Tests: Fix RunCMake.BuildDepends on VS 2017 with v90 toolsetBrad King2017-08-251-1/+2
| | | | | The MSVC toolsets v100 and below forget to re-link when a manifest changes. Exclude this part of the test case for them.
* CPack: extend testing frameworkDomen Vrankar2017-08-192-0/+9
| | | | | | | | | Some CPack tests require running commands after the inclusion of CPack.cmake and this patch enables such tests to declare run_after_include_cpack function which is run after the inclusion.
* Add PREPEND sub-command to string commandSylvain Joubert2017-08-115-0/+67
|
* Merge topic 'find-package_root-test-regex'Brad King2017-08-106-465/+480
|\ | | | | | | | | | | | | | | e574bce1 Tests: Simplify RunCMake.find_package PackageRoot case regexes Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Chuck Atkins <chuck.atkins@kitware.com> Merge-request: !1115
| * Tests: Simplify RunCMake.find_package PackageRoot case regexesBrad King2017-08-086-465/+480
| |
* | Merge topic 'find-package_root-disable'Brad King2017-08-103-0/+3
|\ \ | | | | | | | | | | | | | | | | | | 578d95f8 find_*: Disable the PACKAGE_ROOT search path group for CMake 3.9 Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1116
| * | find_*: Disable the PACKAGE_ROOT search path group for CMake 3.9Brad King2017-08-083-0/+3
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Disable the feature added by commit v3.9.0-rc1~71^2~2 (find_*: Add a new PackageRoot search path group, 2017-05-03) and remove documentation added by commit v3.9.0-rc1~71^2 (find_*: Add docs for PackageRoot search path group, 2017-05-03). Unfortunately the name `<pkg>_ROOT` may already be set by projects for their own incompatible purposes. Disable the behavior change for now to fix the regression for CMake 3.9. We can restore it later with a policy. In order to keep the implementation and tests working, add an undocumented variable we can use in the tests to enable the behavior before the policy is introduced. Fixes: #17144
* | Merge topic 'gtest-dynamic-discovery'Brad King2017-08-086-0/+111
|\ \ | | | | | | | | | | | | | | | | | | bfcda401 Add dynamic test discovery for for Google Test Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1056
| * | Add dynamic test discovery for for Google TestMatthew Woehlke2017-07-276-0/+111
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a new gtest_discover_tests function to GoogleTest.cmake, implementing dynamic test discovery (i.e. tests are discovered by actually running the test executable and asking for the list of available tests, which is used to dynamically declare the tests) rather than the source-parsing approach used by gtest_add_tests. Compared to the source-parsing approach, this has the advantage of being robust against users declaring tests in unusual ways, and much better support for advanced features such as parameterized tests. A unit test, modeled after the TEST_INCLUDE_DIR[S] test, is also included. Note that the unit test does not actually require that Google Test is available. The new functionality does not actually depend on Google Test as such; it only requires that the test executable lists tests in the expected format when invoked with --gtest_list_tests, which the unit test can fake readily.
* | | HP-UX: Drop support for building CMake on HP-UXBrad King2017-08-071-7/+0
| | | | | | | | | | | | | | | | | | | | | | | | CMake will soon require both C++11 and libuv to build. Neither of these works on HP-UX, so unfortunately we need to drop support for the platform until someone can get them working. Issue: #17137
* | | Merge topic 'genex-error-grammar'Brad King2017-08-047-14/+14
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | e49c9eec cmGeneratorExpressionNode: add some missing commas Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1102
| * | | cmGeneratorExpressionNode: add some missing commasBen Boeckel2017-08-037-14/+14
| | | |
* | | | Merge topic 'add-package_root-to-find_package'Brad King2017-08-0412-461/+919
|\ \ \ \ | |/ / / |/| | / | | |/ | |/| | | | | | | | | | | | | 4a207116 find_package: Split PACKAGE_ROOT tests to work with smaller regex 9722ff5a find_package: Fix PACKAGE_ROOT test to check find_pacakge(CONFIG) mode. c5d2b99c find_package: Add missing PACKAGE_ROOT_PATH search path implementation. Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1082
| * | find_package: Split PACKAGE_ROOT tests to work with smaller regexChuck Atkins2017-08-027-846/+872
| | |
| * | find_package: Fix PACKAGE_ROOT test to check find_pacakge(CONFIG) mode.Chuck Atkins2017-07-287-99/+531
| | |
| * | Merge branch 'objlib-own-target-objs' into release-3.9Brad King2017-07-174-0/+9
| |\ \
* | \ \ Merge topic 'string-clear-intermediate-matches'Brad King2017-07-213-0/+33
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | b7941641 cmStringCommand: clear intermediate matches Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1065
| * | | | cmStringCommand: clear intermediate matchesBen Boeckel2017-07-213-0/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When `string(REGEX REPLACE)` or `string(REGEX MATCHALL)` loop internally, they store their matches, but they do not clear the previous match from an earlier iteration. This can leave the contents of `CMAKE_MATCH_<N>` with bogus values for later matches in the string if they have groups which earlier matched a non-empty string, but now match an empty string. Fixes #17079.
* | | | | Merge topic 'docsExternalProject'Brad King2017-07-213-6/+6
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8842a027 ExternalProject: Improve documentation Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1037
| * | | | | ExternalProject: Improve documentationCraig Scott2017-07-173-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Added clearer structure by grouping the options into logical sections. - Expanded the details for many of the options. - Added Examples section to show how to use the various commands. - Specifically highlighted that the contents of SOURCE_DIR may be lost if a download method is also provided. - Updated argument-matching regex to be more robust and account for the varying leading spaces before keywords in the docs. - Updated tests to account for slightly changed error messages.
* | | | | | Merge topic 'cmake-E-sha'Brad King2017-07-1840-0/+64
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | c4de0a25 Add sha1sum, sha224sum, sha256sum, sha384sum and sha512sum to command mode c4647d84 Change ComputeFileMD5 to ComputeFileHash 501a4fee Add some unit tests for md5sum Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1021
| * | | | | | Add sha1sum, sha224sum, sha256sum, sha384sum and sha512sum to command modeAndré Klitzing2017-07-1431-0/+47
| | | | | | |
| * | | | | | Add some unit tests for md5sumAndré Klitzing2017-07-0910-0/+17
| |/ / / / /
* | | | | | Merge topic 'objlib-own-target-objs'Brad King2017-07-184-0/+9
|\ \ \ \ \ \ | |_|/ / / / |/| | | / / | | |_|/ / | |/| | | | | | | | | | | | | d89e10cd Diagnose object library self-reference Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1053
| * | | | Diagnose object library self-referenceBrad King2017-07-144-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The code add_library(A OBJECT a.c) target_sources(A PRIVATE $<TARGET_OBJECTS:A>) used to crash CMake via infinite recursion while evaluating the generator expression. Then the change in commit v3.9.0-rc1~266^2~1 (cmGeneratorTarget: Replace source classifier implementation, 2017-04-07) avoided the infinite recursion because GetKindedSources now creates a map entry and initializes it once. If it is called again on the same target during that initialization, the partially computed results are returned. This is still wrong but does not crash. Detect and diagnose this case instead. Co-Author: Ben Boeckel <ben.boeckel@kitware.com> Fixes: #16578
* | | | | Merge topic 'android-system-include-last'Brad King2017-07-134-0/+31
|\ \ \ \ \ | | |_|/ / | |/| | / | |_|_|/ |/| | | | | | | | | | | 4bafa392 Android: Always add standard include directories last Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1052
| * | | Android: Always add standard include directories lastBrad King2017-07-134-0/+31
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The logic added in commit v3.6.0-rc1~30^2 (Add a variable to specify language-wide system include directories, 2016-05-24) to use `CMAKE_<LANG>_STANDARD_INCLUDE_DIRECTORIES` incorrectly filters them by `CMAKE_<LANG>_IMPLICIT_INCLUDE_DIRECTORIES`. Rather than recognizing this, commit v3.8.0-rc1~60^2 (Android: Pass sysroot include directory explicitly, 2017-01-20) worked around the problem by incorrectly removing `/usr/include` from `CMAKE_<LANG>_IMPLICIT_INCLUDE_DIRECTORIES` so it worked in `CMAKE_<LANG>_STANDARD_INCLUDE_DIRECTORIES`. By not filtering out `/usr/include` from user-specified include directories, we allow the code include_directories(${CMAKE_SYSROOT}/usr/include) to place the include directory too early on the command line. Fix support for standard include directories to not be filtered by implicit include directories, and do not remove `/usr/include` from the list of implicit include directories for Android builds. Add a test case to verify that an explicit `/usr/include` is ignored in favor of the standard directory at the end. Fixes: #17059
| * | Merge branch 'vs-2017-sln-guid' into release-3.9Brad King2017-07-1111-7/+18
| |\ \
| * \ \ Merge branch 'find_package-root-prefix-path-suffixes' into release-3.9Brad King2017-07-118-0/+72
| |\ \ \
| * \ \ \ Merge branch 'bindexplib-revert-consts' into release-3.9Brad King2017-07-102-12/+0
| |\ \ \ \
* | \ \ \ \ Merge topic 'test_include_files'Brad King2017-07-137-0/+79
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 117033c1 Add TEST_INCLUDE_DIR[S] unit test ed5bde30 Add TEST_INCLUDE_FILES Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1031
| * | | | | | Add TEST_INCLUDE_DIR[S] unit testMatthew Woehlke2017-07-127-0/+79
| | |_|_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | Add a unit test for the TEST_INCLUDE_DIR and (new) TEST_INCLUDE_DIRS directory properties.
* | | | | | Merge topic 'labels-for-subprojects'Brad King2017-07-1332-0/+483
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 376dc3eb Help: Add notes for topic 'labels_for_subprojects' a70d8e93 Add tests for new directory labels and labels-for-subprojects features 47b3a57c Display subproject timing summary d3859624 Add directory property 'LABELS' and CMAKE_DIRECTORY_LABELS variable d08ec4d2 Add CTEST_LABELS_FOR_SUBPROJECTS as a CTest module and script variable Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1004
| * | | | | | Add tests for new directory labels and labels-for-subprojects featuresBetsy McPhail2017-07-1032-0/+483
| |/ / / / /
* | | | | | Merge topic 'vs-2017-sln-guid'Brad King2017-07-1211-7/+18
|\ \ \ \ \ \ | | |_|_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | 5cf9c3d0 VS: Add SolutionGuid to generated .sln files Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1042
| * | | | | VS: Add SolutionGuid to generated .sln filesBrad King2017-07-1111-7/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Visual Studio 2017 Update 3 adds a SolutionGuid to its `.sln` files. Fixes: #17041
* | | | | | Merge topic 'find_package-root-prefix-path-suffixes'Brad King2017-07-128-0/+72
|\ \ \ \ \ \ | | |_|_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 80b905f8 find_*: Honor PATH_SUFFIXES in PackageName_ROOT paths 1ae1b880 cmFindCommon: Drop unused FilterPaths method cca8454e cmFindCommon: Fix typo in PackageName_ROOT path label Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Chuck Atkins <chuck.atkins@kitware.com> Merge-request: !1044
| * | | | | find_*: Honor PATH_SUFFIXES in PackageName_ROOT pathsBrad King2017-07-118-0/+72
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This was accidentally forgotten in commit v3.9.0-rc1~71^2~2 (find_*: Add a new PackageRoot search path group, 2017-05-03). Fixes: #17052
* | | | | Merge topic 'bindexplib-revert-consts'Brad King2017-07-122-12/+0
|\ \ \ \ \ | | |_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | 3250b9a1 bindexplib: Revert support for constants symbols Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1041
| * | | | bindexplib: Revert support for constants symbolsBrad King2017-07-102-12/+0
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Revert the main logic change of commit v3.9.0-rc1~192^2 (bindexplib: fix constants symbols export, 2017-04-26) and its test case. Unfortunately some constants may be provided by multiple object files with different `@...` suffixes, leading to ambiguous references. Revert support pending further investigation. Fixes: #17045
* | | | Merge topic 'find_package-restore-considered-configs'Brad King2017-07-1011-1/+45
|\ \ \ \ | |_|/ / |/| | / | | |/ | |/| | | | | | | e7730d78 find_package: Restore longer message when config files were considered Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1032
| * | find_package: Restore longer message when config files were consideredBrad King2017-07-0711-1/+45
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit v3.9.0-rc1~58^2 (find_package: shorten output for missing package in config mode, 2017-05-09) we print only the one line - Could NOT find Foo (missing: Foo_DIR) when package Foo cannot be found in CONFIG mode and it is not REQUIRED. However, in the case that package configuration files were found but not used, this one line message leaves out important information. This can happen when a package configuration file sets `Foo_FOUND` to `FALSE` or when its package version file does not match the requested version. Restore the longer message in these cases. Otherwise a seemingly valid explicit `Foo_DIR` setting appears to be silently ignored even if it was considered. Fixes: #17029
* | Merge topic 'feature/include_guard'Brad King2017-06-2819-0/+126
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | c96f43b7 include_guard: add tests for the feature 80f1221f include_guard: add doc pages and a release note 85b52a04 include_guard: add vim syntax highlighting rules d44bd1c2 include_guard: implement new command Acked-by: Kitware Robot <kwrobot@kitware.com> Reviewed-by: Craig Scott <craig.scott@crascit.com> Merge-request: !928
| * | include_guard: add tests for the featurePavel Solodovnikov2017-06-2219-0/+126
| | |
* | | Merge topic 'vs_csharp_custom_command'Brad King2017-06-277-0/+83
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ec409a11 Vs: fix CSharp custom command by introducing inline MSBuild <Targets>s dcdab5cf Vs: factor out computation of <Link> tag for CSharp source files 0a8f469a Vs: refactor WriteCustomRule for preparation of CSharp support Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !970
| * | | Vs: fix CSharp custom command by introducing inline MSBuild <Targets>sMichael Stürmer2017-06-227-0/+83
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The custom command implementation is based on the Microsoft support article: https://docs.microsoft.com/en-us/visualstudio/msbuild/how-to-extend-the-visual-studio-build-process Fixes: #16960
* | | | Merge topic 'fix-crash-on-non-enabled-language-features'Brad King2017-06-2726-12/+30
|\ \ \ \ | |/ / / |/| | / | | |/ | |/| | | | | | | | | | e03a1b3b target_compile_features: Do not crash on non-enabled language 86990427 Tests: Enable languages explicitly in RunCMake.target_compile_features Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1010
| * | target_compile_features: Do not crash on non-enabled languageBrad King2017-06-264-0/+8
| | | | | | | | | | | | Fixes: #17011
| * | Tests: Enable languages explicitly in RunCMake.target_compile_featuresBrad King2017-06-2622-12/+22
| | | | | | | | | | | | | | | Enable C or CXX (or nothing) as needed in each test case. This will allow us to add test cases that do not enable CXX.
* | | Merge topic 'vs_csharp_prop_for_all_extensions'Brad King2017-06-152-15/+42
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | c90630c5 Vs: add support for VS_CSHARP_* target property for additional file extensions Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !961