summaryrefslogtreecommitdiffstats
path: root/Tests/RunCMake
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'find-package_root-disable' into release-3.9Brad King2017-08-103-0/+3
|\ | | | | | | 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
* | Tests: Simplify RunCMake.find_package PackageRoot case regexesBrad King2017-08-086-465/+480
|/
* 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
|\
| * 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
* | 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
|\
| * 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 branch 'find_package-root-prefix-path-suffixes' into release-3.9Brad King2017-07-118-0/+72
|\ \
| * | 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 branch 'bindexplib-revert-consts' into release-3.9Brad King2017-07-102-12/+0
|\ \
| * | 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
* | 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
* 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.
* IPO: Consider support for each language separatelyBrad King2017-06-149-13/+13
| | | | | | | | | We only define `INTERPROCEDURAL_OPTIMIZATION` behavior for C, CXX, and Fortran languages. Do not try to enable support for other languages. Furthermore, each language builds with a different compiler, so check for support by CMake and the compiler for each language independently. Fixes: #16944
* Merge topic 'test-GNUInstallDirs-FreeBSD'Brad King2017-06-057-8/+136
|\ | | | | | | | | | | | | 913736f1 Tests: Fix RunCMake.GNUInstallDirs on BSD platforms Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !921
| * Tests: Fix RunCMake.GNUInstallDirs on BSD platformsBrad King2017-06-027-8/+136
| | | | | | | | | | | | | | The `GNUInstallDirs` module has different defaults on BSD platforms. Update the test expected output to account for the difference. Fixes: #16887
* | CompileFeatures: Makes tests work with meta-feature onlyChuck Atkins2017-05-292-4/+6
|/
* Merge topic 'find_dependency-improvements'Brad King2017-05-2528-50/+71
|\ | | | | | | | | | | | | ab358d6a Improve find_dependency argument handling Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !872
| * Improve find_dependency argument handlingMatthew Woehlke2017-05-2228-50/+71
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove highly specialized and totally positional argument handling in find_dependency macro, and instead just pass arguments through to find_package. This gives users access to the full suite of arguments that find_package knows, and is backward compatible with the old arguments. Also, rewrite the unit tests for this, since the old tests are exclusively focused on testing the old argument handling and are no longer applicable, and add some success tests (the old tests did not even set up the CMake state in a way that CMake had any hope of ever finding the test package).
* | Merge topic 'find_package-shorter-message'Brad King2017-05-259-47/+5
|\ \ | | | | | | | | | | | | | | | | | | | | | d0b9d1cc find_package: shorten output for missing package in config mode d9df805f cmFindPackageCommand: Split condition to improve readability Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !851
| * | find_package: shorten output for missing package in config modeChristoph GrĂ¼ninger2017-05-239-47/+5
| | | | | | | | | | | | | | | | | | | | | If CONFIG or MODULE is given and the package is not REQUIRED, output a one-liner instead of the full warning. Update Tests/RunCMake/find_package expected output to match.
* | | Merge topic 'add-findpackage-root-prefix'Brad King2017-05-2217-0/+476
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | fe8f08d2 find_*: Add docs for PackageRoot search path group 57744ca9 find_*: Add tests for PackageRoot search path group ef3d360a find_*: Add a new PackageRoot search path group Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !796
| * | | find_*: Add tests for PackageRoot search path groupChuck Atkins2017-05-1617-0/+476
| | | |
* | | | Merge topic 'target-depends-per-config'Brad King2017-05-192-2/+4
|\ \ \ \ | |_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | 87a37e64 cmComputeTargetDepends: Avoid nested loops over configurations 5a913794 cmComputeTargetDepends: Avoid computing with empty configuration 70c65572 Tests: Fix RunCMake.CMP0022 tll case for Debug configuration Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !865
| * | | Tests: Fix RunCMake.CMP0022 tll case for Debug configurationBrad King2017-05-182-2/+4
| | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | The `CMP0022-WARN-tll` case overrides legacy properties set by `target_link_libraries` so that we can verify that the policy warning is emitted. When building in the Debug configuration, the `_DEBUG` variant of the legacy property is set/checked too. Fix the test case to override both variants. Previously it only passed because `cmComputeTargetDepends::AddInterfaceDepends` always evaluated dependencies with the "" configuration.
* | | CPack/Archive: per component filenames supportDomen Vrankar2017-05-163-1/+7
|/ / | | | | | | | | | | Support for setting archive packager specific per component filenames and monolithic package filenames.
* | CPack test symlinks in packageDomen Vrankar2017-05-145-0/+59
| |
* | Improved CPack tests error loggingDomen Vrankar2017-05-143-4/+6
|/
* Merge topic 'ninja-windows-command-concat'Brad King2017-05-102-0/+24
|\ | | | | | | | | | | | | 5e0e03d9 Ninja: Fix command concatenation on Windows Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !801
| * Ninja: Fix command concatenation on WindowsBernhard Burgermeister2017-05-092-0/+24
| | | | | | | | | | | | | | | | | | | | | | Put commands that contain `||` into brackets to avoid early abort of execution by `cmd.exe` because `||` has higher precedence than `&&` in `cmd.exe`. Add test to check for command execution after `||` as part of a parameter and as command separator. Fixes: #16850
* | Tests: Fix RunCMake.Framework expectation for universal binariesBrad King2017-05-082-2/+5
| | | | | | | | | | While at it, replace `\n` in with a real newline because such escape sequences are not processed in this context.
* | Merge topic 'ctest_submit_headers'Brad King2017-05-057-0/+10
|\ \ | |/ |/| | | | | | | | | 1a7d00bd ctest_submit: Add HTTPHEADER option Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !793
| * ctest_submit: Add HTTPHEADER optionZack Galbreath2017-05-047-0/+10
| | | | | | | | | | | | | | | | | | Allow CTest script writers to specify additional HTTP headers to be sent to CDash during submission. The motivating case for this feature is a corresponding change in CDash. This will allow projects to refuse submissions from any site not bearing a valid authentication token.
* | Merge topic 'ipo-xcode'Brad King2017-05-032-3/+2
|\ \ | | | | | | | | | | | | | | | | | | 7e75568b Xcode: Support IPO (LTO) Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !785
| * | Xcode: Support IPO (LTO)Ruslan Baratov2017-05-022-3/+2
| | |
* | | Merge topic 'excludeFixtures'Brad King2017-05-0210-2/+151
|\ \ \ | |/ / |/| | | | | | | | | | | | | | c1b2b7c0 Add ctest options for limiting which tests fixtures add Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !778
| * | Add ctest options for limiting which tests fixtures addCraig Scott2017-05-0110-2/+151
| | | | | | | | | | | | | | | The new options allow the user to restrict the setup and cleanup tests automatically added for fixtures.
* | | Merge topic 'separgs-native'Brad King2017-04-288-0/+60
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 28d83837 separgs: Use NATIVE_COMMAND where appropriate 2a207aac separgs: Add a NATIVE_COMMAND mode 81841426 separgs: Migrate tests to RunCMake tests Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !753
| * | | separgs: Add a NATIVE_COMMAND modeChristian Pfeiffer2017-04-262-0/+20
| | | |
| * | | separgs: Migrate tests to RunCMake testsChristian Pfeiffer2017-04-267-0/+40
| | | |
* | | | Merge topic 'bindexplib-consts'Brad King2017-04-282-0/+12
|\ \ \ \ | |_|/ / |/| | | | | | | | | | | | | | | | | | | afb21342 bindexplib: fix constants symbols export Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !763
| * | | bindexplib: fix constants symbols exportMikhail Paulyshka2017-04-262-0/+12
| | | |
* | | | Merge topic 'test-install-objects-as-files'Brad King2017-04-275-6/+26
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | f4c23ee2 Tests: Add case for install(FILES) with TARGET_OBJECTS d272c4d5 Tests: Generalize RunCMake.install internal infrastructure Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !769
| * | | | Tests: Add case for install(FILES) with TARGET_OBJECTSBrad King2017-04-265-0/+16
| | | | |
| * | | | Tests: Generalize RunCMake.install internal infrastructureBrad King2017-04-261-6/+10
| | |/ / | |/| | | | | | | | | | Allow `run_install_test` to be used for simpler cases.
* | | | Merge topic 'test-makefile-custom-target-includes'Brad King2017-04-275-3/+30
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 434f5cef Tests: Add case for IMPLICIT_DEPENDS in custom target 6d1be6e3 Tests: Split RunCMake.BuildDepends make-only condition Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !766