summaryrefslogtreecommitdiffstats
path: root/Tests/RunCMake/RunCMake.cmake
Commit message (Collapse)AuthorAgeFilesLines
* Deprecate compatibility with CMake versions older than 3.5Brad King2023-02-111-1/+1
| | | | | | | | Issue a deprecation warning on calls to `cmake_minimum_required` or `cmake_policy` that set policies based on versions older than 3.5. Note that the effective policy version includes `...<max>` treatment. Update the check from commit 5845c218d7 (Deprecate compatibility with CMake versions older than 2.8.12, 2020-06-12, v3.19.0-rc1~629^2).
* Tests: Teach RunCMake to optionally ignore policy version deprecation warningsBrad King2023-02-091-0/+12
| | | | | Avoid requiring tests for deprecated behavior to match the warnings explicitly.
* ConfigureLog: Add infrastructure for structured configure event loggingMatthew Woehlke2022-12-161-5/+13
| | | | | | | | | | Add infrastructure for a "configure log". Use YAML for a balance of machine- and human-readability to records details of configure-time events in a structured format. Teach the RunCMake test framework to support matching the configure log. Issue: #23200
* Tests: Generalize RunCMake expectation component namesMatthew Woehlke2022-12-141-31/+27
| | | | | | Do not assume all the component names start in "std". Co-authored-by: Brad King <brad.king@kitware.com>
* Tests: Teach RunCMake to ignore Intel -Rdebug-disables-optimization remarksBrad King2022-10-271-0/+1
| | | | | | | | | | | The Intel compiler may remark: icpx: remark: Note that use of '-g' without any optimization-level option will turn off most compiler optimizations similar to use of '-O0' [-Rdebug-disables-optimization] Teach RunCMake to drop such incidental lines before matching against expected output.
* Tests: Teach RunCMake to ignore Intel Classic compiler deprecation warningsBrad King2022-10-031-0/+1
|
* Build: Modernize some `foreach` calls to use `IN LISTS`/`IN ITEMS`Alex Turbov2022-09-221-4/+6
|
* Merge topic 'xcode-14'Brad King2022-06-111-0/+2
|\ | | | | | | | | | | | | | | | | 627c08e28b Tests: Teach RunCMake to ignore Xcode DVTSDK warnings ab40020b17 Xcode: Suppress "Run Script" build phase warning during compiler id 89e1113e0c Xcode: Use ad-hoc signing during compiler id on macOS Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7350
| * Tests: Teach RunCMake to ignore Xcode DVTSDK warningsBrad King2022-06-101-0/+2
| | | | | | | | | | | | | | | | | | On some Xcode versions, `xcodebuild` may warn: ... xcodebuild[...] [MT] DVTSDK: Warning: SDK path collision for path ... Teach RunCMake to drop such incidental lines before matching against expected output.
| * Tests: Ignore all classes in Xcode internal objc warningsGregor Jasny2022-04-251-1/+1
| | | | | | | | | | Xcode on Apple Silicon warns not only about AMSupportURL classes but also many more.
| * Tests: Teach RunCMake to ignore Xcode extension point warningsBrad King2022-04-251-0/+1
| | | | | | | | | | | | | | | | | | | | On some Xcode versions, `xcodebuild` may warn: ... xcodebuild[...] Requested but did not find extension point with identifier ... Teach RunCMake to drop such incidental lines before matching against expected output.
* | Tests: Ignore all classes in Xcode internal objc warningsGregor Jasny2022-04-031-1/+1
| | | | | | | | | | Xcode on Apple Silicon warns not only about AMSupportURL classes but also many more.
* | Tests: Teach RunCMake to ignore lld-link PDB item index warningsBrad King2022-03-111-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | In commit fade5b5b8c (gitlab-ci: Update Windows builds to MSVC 19.31 toolset, 2022-03-09, v3.23.0-rc3~4^2~1) we switched from MSVC toolset version 14.30.30705 to version 14.31.31103. The latter causes the Clang 13.0.0 lld-link tool to warn about invalid PDB item indexes, as discussed [here](https://developercommunity.visualstudio.com/t/1667797). This causes the RunCMake.PrecompileHeaders test PchLibObjLibExe case to fail on NMake builds due to unexpected content on stderr. The warnings appear with Ninja too, but `ninja` prints them on stdout. Teach the RunCMake infrastructure to ignore these warnings.
* | Merge topic 'test-RunCMake-xcodebuild-incidental'Brad King2022-02-171-0/+1
|\ \ | | | | | | | | | | | | | | | | | | 6ade07ef89 Tests: Teach RunCMake to ignore Xcode extension point warnings Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6992
| * | Tests: Teach RunCMake to ignore Xcode extension point warningsBrad King2022-02-161-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On some Xcode versions, `xcodebuild` may warn: ... xcodebuild[...] Requested but did not find extension point with identifier ... Teach RunCMake to drop such incidental lines before matching against expected output.
* | | Tests: Add RunCMake helper to run cmake with raw execute_process argsBrad King2022-02-161-2/+15
|/ /
* | LCC: Add policy CMP0129 regarding interpreting LCC as GNUmakise-homura2021-10-211-0/+3
|/ | | | | | | | | | Due to MCST LCC compiler identification is now changed to LCC, there should be a way for old projects to still identify it as GNU, as it was before. This commits adds the policy: CMP0129: Compiler id for MCST LCC compilers is now LCC, not GNU. This policy controls such a behavior. OLD behaivior is to treat LCC as GNU, NEW is to treat is as LCC.
* Tests: ignore Xcode DVTPlugInManager outputGregor Jasny2021-06-101-0/+1
|
* MSYS: Add support for running under MSYS runtime environmentOrgad Shaneh2021-04-261-1/+4
| | | | Detect MSYS as CYGWIN, with the required adaptations.
* Merge topic 'nmc-cc-no-output'Brad King2021-03-301-0/+1
|\ | | | | | | | | | | | | | | | | 6dd89529e8 Ninja Multi-Config: Fix crash on custom command config with no output e21a80e97d Tests: Teach RunCMake to ignore incidental 'Recompacting log' ninja output Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Kyle Edwards <kyle.edwards@kitware.com> Merge-request: !5950
| * Tests: Teach RunCMake to ignore incidental 'Recompacting log' ninja outputBrad King2021-03-291-0/+1
| | | | | | | | Ninja versions prior to 1.6.0 occasionally print this message.
* | Tests: Add RunCMake hook to describe test variantsBrad King2021-03-221-2/+2
| |
* | Tests: Teach RunCMake to always print the command on failureBrad King2021-03-091-40/+36
| | | | | | | | | | | | Previously we only printed explicit `RunCMake_TEST_COMMAND` cases on failure. Refactor the RunCMake infrastructure so that we always define `RunCMake_TEST_COMMAND` internally, and print it on failure.
* | Tests: Move RunCMake option construction closer to useBrad King2021-03-091-9/+9
| |
* | Tests: Reverse RunCMake code path orderBrad King2021-03-091-15/+15
| |
* | 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: Update for upstream ninja change to write status on stderrBrad King2021-02-231-0/+6
| | | | | | | | | | | | 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.
* Tests: Teach RunCMake to ignore Xcode install_name_tool signature warningsBrad King2020-11-241-0/+1
| | | | | | | | | | The `install_name_tool` may warn: install_name_tool: warning: changes being made to the file will invalidate the code signature in: ... Teach RunCMake to drop such incidental lines before matching against expected output.
* Tests: Teach RunCMake to ignore Xcode internal objc warningsBrad King2020-09-301-0/+1
| | | | | | | | | | Xcode on Apple Silicon warns: objc[...]: Class AMSupportURL... is implemented in both ... One of the two will be used. Which one is undefined. Teach RunCMake to drop such lines before matching against expected output.
* Apple: suppress Xcode 12 ranlib warningGregor Jasny2020-07-171-0/+1
| | | | | | | | | | | | | | The Xcode 12 (Beta) toolchain for arm64 emits a warning when static libraries are created: ``` ranlib: archive member: libStaticLib.a(a.c.o) offset in archive not a multiple of 8 (must be since member is an 64-bit object file) ``` Due to the unexpected output multiple tests are broken. To make those tests pass we filter the problematic output in the test driver. See: https://developer.apple.com/forums/thread/652620
* Tests: Teach RunCMake to ignore PGI license expiry warningsBrad King2019-11-011-0/+6
| | | | These are not useful in nightly testing.
* Graphviz: added test suite, fixes, enhancementsCorentin Plouet2019-10-081-0/+23
| | | | | | | | | | | | | | | | | | | | * Added a fairly comprehensive test suite * Separated the graph traversal logic from the Graphviz generation code by introducing a new class, cmLinkItemsGraphVisitor{.h,cxx} * Made the graph traversal logic less ad-hoc by using existing methods in the GlobalGenerator; this fixed a few bugs * Added support for new target types: custom targets, object and unknown libraries * Improved support for ALIAS libraries by showing the alias(es) in the graph * Introduced new flags to control those new libraries (consistent with existing flags) * Updated the documentation * Removed useless setting to set graph type in dot file * Improved the node/edge shapes (nicer, more consistent) * Added a legend to the graph * Some refactoring and cleanup of the Graphviz generation code * Added test and fix for issue 19746
* Merge branch 'backport-3.15-fix-EXCLUDE_FROM_ALL-subdir-all'Brad King2019-09-301-1/+4
|\ | | | | | | | | | | | | | | Resolve conflicts with changes since the 3.15 series: * Convert `cmSystemTools::IsOn` => `cmIsOn`. * Move one "EXCLUDE_FROM_ALL" target property logic fix to its new location in `cmMakefile::AddNewUtilityTarget`.
| * Merge branch 'backport-3.14-fix-EXCLUDE_FROM_ALL-subdir-all'Brad King2019-09-301-1/+4
| |\
| | * Tests: Teach RunCMake to support a custom working directoryBrad King2019-09-241-1/+4
| | |
* | | Tests: Drop RunCMake workaround for AIX ld warnings about GNU atexitBrad King2019-07-151-2/+0
| | | | | | | | | | | | | | | | | | | | | Drop the filtering added by commit e22c45d4c9 (Tests: Teach RunCMake to ignore AIX ld warnings about GNU atexit, 2018-02-28, v3.12.0-rc1~419^2~6). It is no longer needed now that we compute our own exports on AIX and do not get these warnings when using shared libraries.
* | | RunCMake: Automatically support platform out override filesRobert Maynard2019-06-211-0/+10
|/ /
* | Tests: Add RunCMake helper to run cmake with optionsBrad King2019-04-101-0/+5
| |
* | Tests: Teach RunCMake to optionally exclude the source dir argumentBrad King2019-04-101-1/+7
|/
* Tests: Add RunCMake_TEST_FILTER environment variableKyle Edwards2018-12-131-0/+4
| | | | | | | This environment variable allows developers to locally run only a subset of RunCMake subtests in a single RunCMakeTest.cmake script. If the environment variable is not set, all of the tests in the script are run.
* Tests: Add RunCMake "prep" stepBrad King2018-12-111-0/+5
| | | | | Give tests a chance to write content to the build tree before CMake runs on it.
* Tests: Teach RunCMake infrastructure to optionally provide stdinBrad King2018-11-151-0/+9
|
* Tests: Teach RunCMake to ignore Xcode missing file type warningsBrad King2018-06-191-0/+1
| | | | | | | | | | Xcode 10 beta warns xcodebuild... warning: file type '::com.apple.instruments.instrdst' is based on missing file type 'default::com.apple.package' Teach RunCMake to drop such lines before matching against expected output.
* Drop Visual Studio 8 2005 generatorBrad King2018-04-021-3/+0
| | | | This generator has been deprecated since CMake 3.9. Remove it.
* Tests: Teach RunCMake to ignore AIX ld warnings about GNU atexitBrad King2018-03-011-0/+2
|
* Add infrastructure for generators to select a build tool instanceBrad King2017-10-191-0/+6
| | | | | | | | | | | | | | Add cache entry `CMAKE_GENERATOR_INSTANCE` to hold the instance location persistently across re-runs of CMake in a given build tree. For now we reject the option by default if explicitly set. It will be implemented on a per-generator basis. Pass the setting into try_compile project generation. Add a RunCMake.GeneratorInstance test to cover basic use cases for the option. Verify that `CMAKE_GENERATOR_INSTANCE` is empty by default, and that it is rejected when the generator does not support a user setting. Issue: #17268
* Tests: Teach RunCMake to ignore clang unused sanitizer flag warningsBrad King2017-10-101-0/+1
| | | | | These can show up in Release builds of CMake because some tests still build Debug.
* Tests: Refactor RunCMake output line ignore regex constructionBrad King2017-10-101-1/+12
| | | | Avoid one giant line.
* Deprecate Visual Studio 8 2005 generatorBrad King2017-04-211-0/+3
| | | | | Update documentation to mark the generator deprecated. Add a warning at the end of generation plus an option to turn off the warning.
* Drop Visual Studio 7 .NET 2003 generatorBrad King2017-04-191-3/+0
| | | | This generator has been deprecated since CMake 3.6. Remove it.