summaryrefslogtreecommitdiffstats
path: root/Tests
Commit message (Collapse)AuthorAgeFilesLines
* Tests: Add XCTest cases to cover output directory selectionYauheni Khnykin2021-03-122-0/+43
| | | | Fixes: #21800
* Merge topic 'file-RENAME'Brad King2021-03-0520-0/+103
|\ | | | | | | | | | | | | | | | | | | | | 9bf40d8027 file(RENAME): Add option to not replace existing path 3600c6cd8c cmSystemTools: Add RenameFile option to not replace destination c61292726c file(RENAME): Add option to capture error message on failure 0c2dc34504 cmSystemTools: Add RenameFile signature to capture the error message adc351db8f Tests: Add RunCMake helper to run a plain script Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5877
| * file(RENAME): Add option to not replace existing pathBrad King2021-03-047-0/+41
| | | | | | | | | | Add a `NO_REPLACE` option that prevents overwriting `<newname>` if it exists.
| * file(RENAME): Add option to capture error message on failureBrad King2021-03-0413-0/+57
| |
| * Tests: Add RunCMake helper to run a plain scriptBrad King2021-03-031-0/+5
| | | | | | | | | | Many tests covering CMake scripting commands can work without initializing a full generator.
* | Tests: Fix FindPackageModeMakefileTest with CMAKE_OSX_ARCHITECTURESBrad King2021-03-031-0/+3
| |
* | Tests: Generalize FindPackageModeMakefileTest extra flags varBrad King2021-03-032-9/+10
|/
* Merge topic 'android-r22'Brad King2021-03-031-2/+13
|\ | | | | | | | | | | | | | | | | | | 005e2cdfb0 Android: Do not use gold for ndk >= r22 ed7a87f270 Tests: Update RunCMake.Android for NDK r22 4950d35733 Help: Document CMAKE_ANDROID_NDK_VERSION variable 746906242d Android: Detect NDK version number Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5862
| * Tests: Update RunCMake.Android for NDK r22Brad King2021-03-031-2/+13
| | | | | | | | | | Use `CMAKE_ANDROID_NDK_VERSION` to check for files expected based on the version of the NDK.
| * Merge topic 'preset-flag-consistency' into release-3.20Brad King2021-02-249-7/+40
| |\ | | | | | | | | | | | | | | | | | | | | | | | | 6fa3647023 ctest: Add support for '--prefix=<prefix>' form of the argument 3357d37761 cmake: Add support for '--build --prefix=<prefix>' form of the argument 2f13fdef0a cmake: Document '--preset <preset>' form of the argument Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5849
| * \ Merge topic 'LINK_LANGUAGE-genex-respects-LINKER_LANGUAGE-property' into ↵Brad King2021-02-244-5/+34
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | release-3.20 b722eea925 Genex: LINK_LANGUAGE respects LINKER_LANGUAGE property Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5841
| * \ \ Merge topic 'autogen-cmp0116-fix' into release-3.20Brad King2021-02-245-0/+41
| |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 339dbc901f Help: Note that CMP0116 is recorded at the time of CC creation e3740e020e Tests: Test Qt autogen target with CMP0116 set to WARN cf34011ce7 Tests: Test per-CC behavior of CMP0116 3a95503512 Ninja: Use CMP0116 status recorded at time of custom command's creation f01f10e8fb cmCustomCommand: Record value of CMP0116 at time of creation Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5848
| * \ \ \ Merge topic 'preset-no-comments' into release-3.20Brad King2021-02-247-15/+16
| |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 06e16ea008 Merge branch 'backport-3.19-preset-no-comments' into preset-no-comments afaa69f5b3 Tests: Remove comments from CMakePresetsTest/Good.json.in 4a92277f45 Revert "Help: Document JSON comment support in cmake-presets(7)" 431dd59b5e CMakePresets.json: Remove undocumented support for comments Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5853
| * \ \ \ \ Merge topic 'ninja-status-stderr' into release-3.20Brad King2021-02-243-0/+12
| |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | d33c2c93d8 Tests: Update for upstream ninja change to write status on stderr Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5850
* | | | | | | Clang: C17 default versionRaul Tambre2021-02-251-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Switched in LLVM commit 91cdbd521a38495c66e30636943563ca70d3c022, released in Clang 11. Issue: #17755
* | | | | | | C23 supportRaul Tambre2021-02-252-1/+6
| | | | | | |
* | | | | | | C17 supportRaul Tambre2021-02-252-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Implements #17755.
* | | | | | | CMakeCCompilerId: Fix C standard detection in Clang MSVC modeRaul Tambre2021-02-251-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Clang doesn't define __STDC__ if in MSVC compatibility mode, but does define __STDC_VERSION__. Avoid the fallback for this combination.
* | | | | | | Genex: Fix grammatical error in TARGET_OBJECTS error messageKyle Edwards2021-02-243-6/+6
| | | | | | |
* | | | | | | Genex: Add TARGET_RUNTIME_DLLS genexKyle Edwards2021-02-2420-0/+140
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Co-Authored-by: Brad King <brad.king@kitware.com>
* | | | | | | Merge topic 'autouic-headers-ninja'Brad King2021-02-246-0/+135
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1265c65b33 AUTOUIC: Collect ui header files for Ninja generator Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5803
| * | | | | | | AUTOUIC: Collect ui header files for Ninja generatorAlexey Edelev2021-02-236-0/+135
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The '<user target>_autogen/timestamp' target supposed to generate ui header files using the 'uic'. Ninja must have information about these header files as a result of generating. The fix collects .ui files of the user target and generates a list of the ui headers that need to be added to the generating results of the '<user target>_autogen/timestamp' target. The case when the .ui files are not specified and collected by AUTOUIC from the include directives of the project source files is not covered in this patch. Fixes: #16776
* | | | | | | | Merge topic 'preset-flag-consistency'Brad King2021-02-249-7/+40
|\ \ \ \ \ \ \ \ | | |_|_|_|_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6fa3647023 ctest: Add support for '--prefix=<prefix>' form of the argument 3357d37761 cmake: Add support for '--build --prefix=<prefix>' form of the argument 2f13fdef0a cmake: Document '--preset <preset>' form of the argument Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5849
| * | | | | | | ctest: Add support for '--prefix=<prefix>' form of the argumentBrad King2021-02-231-2/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The main `cmake --preset` argument for configure presets supports both forms, so support it for `ctest --preset` too. Fixes: #21855
| * | | | | | | cmake: Add support for '--build --prefix=<prefix>' form of the argumentBrad King2021-02-231-2/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The main `cmake --preset` argument for configure presets supports both forms, so support it for `cmake --build --preset` too. Issue: #21855
| * | | | | | | cmake: Document '--preset <preset>' form of the argumentBrad King2021-02-237-3/+20
| | |/ / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This form already works. Document it and add tests. Issue: #21855
* | | | | | | Merge topic 'LINK_LANGUAGE-genex-respects-LINKER_LANGUAGE-property'Brad King2021-02-244-5/+34
|\ \ \ \ \ \ \ | | |_|_|_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | b722eea925 Genex: LINK_LANGUAGE respects LINKER_LANGUAGE property Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5841
| * | | | | | Genex: LINK_LANGUAGE respects LINKER_LANGUAGE propertyMarc Chevrier2021-02-234-5/+34
| |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If target property LINKER_LANGUAGE is set, LINK_LANGUAGE generator expression evaluation must be always successful. This fix can be helpful to elaborate a solution for issue #21818.
* | | | | | Merge topic 'autogen-cmp0116-fix'Brad King2021-02-245-0/+41
|\ \ \ \ \ \ | | |_|_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 339dbc901f Help: Note that CMP0116 is recorded at the time of CC creation e3740e020e Tests: Test Qt autogen target with CMP0116 set to WARN cf34011ce7 Tests: Test per-CC behavior of CMP0116 3a95503512 Ninja: Use CMP0116 status recorded at time of custom command's creation f01f10e8fb cmCustomCommand: Record value of CMP0116 at time of creation Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5848
| * | | | | Tests: Test Qt autogen target with CMP0116 set to WARNKyle Edwards2021-02-232-0/+3
| | | | | |
| * | | | | Tests: Test per-CC behavior of CMP0116Kyle Edwards2021-02-233-0/+38
| | | | | |
* | | | | | Merge topic 'preset-no-comments'Brad King2021-02-247-15/+16
|\ \ \ \ \ \ | | |_|_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 06e16ea008 Merge branch 'backport-3.19-preset-no-comments' into preset-no-comments afaa69f5b3 Tests: Remove comments from CMakePresetsTest/Good.json.in 4a92277f45 Revert "Help: Document JSON comment support in cmake-presets(7)" 431dd59b5e CMakePresets.json: Remove undocumented support for comments Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5853
| * | | | | Merge branch 'backport-3.19-preset-no-comments' into preset-no-commentsBrad King2021-02-246-6/+16
| |\ \ \ \ \
| | * | | | | CMakePresets.json: Remove undocumented support for commentsKyle Edwards2021-02-246-6/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes: #21858
| * | | | | | Tests: Remove comments from CMakePresetsTest/Good.json.inKyle Edwards2021-02-241-9/+0
| | |_|/ / / | |/| | | |
| * | | | | Merge topic 'test-ExternalProject-CONFIGURE_HANDLED_BY_BUILD' into release-3.20Brad King2021-02-231-2/+2
| |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 74fe16a292 Tests: Fix ExternalProject CONFIGURE_HANDLED_BY_BUILD on 1s filesystems Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5838
* | \ \ \ \ \ Merge topic 'ninja-status-stderr'Brad King2021-02-243-0/+12
|\ \ \ \ \ \ \ | | |_|_|_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | d33c2c93d8 Tests: Update for upstream ninja change to write status on stderr Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5850
| * | | | | | Tests: Update for upstream ninja change to write status on stderrBrad King2021-02-233-0/+12
| | |_|/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Upstream ninja commit `ad3d29fb53` (Put builder output through status interface) from ninja PR 1899 changed the status output from stdout to stderr. In particular, `ninja: no work to do` is now printed on stderr. Update our RunCMake tests to accept this difference. A few RunCMake test cases check for `ninja: no work to do`. For those, move the message to stdout using `RunCMake_TEST_OUTPUT_MERGE`. The rest of the test cases do not care about the message, so remove it from the actual stderr content before comparing against that expected.
* | | | | | Merge topic 'test-ExternalProject-CONFIGURE_HANDLED_BY_BUILD'Brad King2021-02-231-2/+2
|\ \ \ \ \ \ | | |_|/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | 74fe16a292 Tests: Fix ExternalProject CONFIGURE_HANDLED_BY_BUILD on 1s filesystems Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5838
| * | | | | Tests: Fix ExternalProject CONFIGURE_HANDLED_BY_BUILD on 1s filesystemsDaan De Meyer2021-02-221-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Following commit 7155e358c9 (ExternalProject: Add CONFIGURE_HANDLED_BY_BUILD option, 2020-12-16, v3.20.0-rc1~168^2), modify the CONFIGURE_HANDLED_BY_BUILD test to sleep 1.125 seconds to make sure the file timestamp is always updated regardless of the resolution of the underlying filesystem. Fixes: #21830
* | | | | | Merge topic 'test-macos-arm64'Brad King2021-02-2311-19/+58
|\ \ \ \ \ \ | | |_|/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1c15eb39d2 Tests: Suppress failures on macOS arm64 due to separate Xcode signing phase 92418ac0ef Tests: Fix CTestTestCrash expected output on macOS arm64 8b22d9b3c3 Tests: Remove explicit no-signing marks from BundleTest 483db3de56 Tests: Clarify internal project name in RunCMake.GoogleTest cases Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5846
| * | | | | Tests: Suppress failures on macOS arm64 due to separate Xcode signing phaseBrad King2021-02-228-0/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some tests fail because Xcode runs `POST_BUILD` commands before signing the binaries they run. Tell the linker to perform ad-hoc codesign even though Xcode normally tells it not to. Other tests fail because `install_name_tool` does not revise ad-hoc signatures without the codesign `linker-signed` flag. Add that flag ourselves where needed by our tests. For now these changes help our test suite pass so we can use it to cover everything else. Both of these cases may need further investigation to update CMake to help projects in general. Issue: #21845, #21854
| * | | | | Tests: Fix CTestTestCrash expected output on macOS arm64Brad King2021-02-221-1/+1
| | | | | |
| * | | | | Tests: Remove explicit no-signing marks from BundleTestBrad King2021-02-223-14/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These were added by commit e29a92f525 (Xcode: Make BundleTests compatible with Xcode 11, 2019-09-01, v3.16.0-rc1~158^2). The real problem is that the `.app` is constructed with text files under the `.app/Contents/MacOS/` folder. Move those, and drop the special no-signing configuration.
| * | | | | Tests: Clarify internal project name in RunCMake.GoogleTest casesBrad King2021-02-224-4/+4
| | | | | |
| * | | | | Merge topic 'fix-IS_NEWER_THAN-usage' into release-3.20Brad King2021-02-225-0/+85
| |\ \ \ \ \ | | |_|_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | b0da671243 FetchContent: Don't update timestamps if files don't change 404cddb7bb ExternalProject: Fix misuse of IS_NEWER_THAN in timestamp checks Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5825
* | | | | | Merge branch 'backport-FetchContent-timestamps' into fix-IS_NEWER_THAN-usageBrad King2021-02-225-0/+85
|\ \ \ \ \ \ | | |/ / / / | |/| | | |
| * | | | | FetchContent: Don't update timestamps if files don't changeCraig Scott2021-02-225-0/+85
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The refactoring in 17e5516e60 (FetchContent: Invoke steps directly and avoid a separate sub-build, 2021-01-29) uses a different way of writing out the step scripts and updating time stamps when steps are executed. That inadvertently always wrote out the scripts for custom commands, even when the contents didn't change. This caused their timestamp to always be updated, resulting in those steps always being seen as out-of-date and needing to be re-executed. The way timestamps were checked to determine whether to re-execute a step also did not adequately account for file systems which only have second-resolution timestamps. The IS_NEWER_THAN if condition also returns true when timestamps are the same, so one needs to use the negative form to get a true "is newer than" test. ExternalProject is not susceptible to this problem because it uses file(GENERATE) to write out the script files and that only updates the file's timestamp if the contents change. It also mostly leaves timestamp checking to the build tool.
* | | | | | Merge topic 'vs-pch-one-lang'Brad King2021-02-225-0/+33
|\ \ \ \ \ \ | | |/ / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 9945b3b565 VS: Restore support for PCH in CXX but not C within once target d9fd32b3b3 cmVisualStudio10TargetGenerator: Refactor per-source PCH logic Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5836
| * | | | | VS: Restore support for PCH in CXX but not C within once targetBrad King2021-02-195-0/+33
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix logic from commit 9df1f33c9a (VisualStudio: move PCH rules to projects when possible., 2020-10-15, v3.20.0-rc1~638^2) to explicitly disable PCH on sources that should not use the target-wide PCH rules. Fixes: #21827