summaryrefslogtreecommitdiffstats
path: root/Tests/CMakeTests
Commit message (Collapse)AuthorAgeFilesLines
* Tests: Update cmake_minimum_required versions to 3.10Brad King2024-10-033-3/+3
|
* Check*: Add option to pass link directories into checksAliaksandr Averchanka2024-09-091-1/+6
|
* Tests: Removed unused LABELS on CMake's own testsBrad King2024-07-241-1/+0
| | | | | | | | | | In commit 44ad3f0b7f (ctest: Support multiple -L and -LE options to mean "AND", 2021-03-20, v3.21.0-rc1~424^2) we added several labels to CMake's own tests, perhaps as a way to demonstrate the change made by the commit. However, they have not been maintained or added to other tests they cover. Since commit 49e9f817de (ctest: Display test labels in failure summary, 2024-06-14) the labels are displayed next to failed test names, making them more visible. Remove these unnecessary labels.
* file(): TOUCH, TOUCH_NOCREATE and MAKE_DIRECTORY accept empty listsCraig Scott2024-05-311-2/+2
| | | | | | | | | Projects may be generating a list of files or directories to pass as arguments to file(TOUCH), file(TOUCH_NOCREATE), or file(MAKE_DIRECTORY). Those lists might end up being empty, so rather than requiring at least one item, allow an empty list. Fixes: #24897
* list(INSERT): restore old behaviorMarc Chevrier2023-08-171-0/+21
| | | | Fixes: #25191
* Tests: Update cmake_minimum_required versions in a few testsBrad King2023-02-101-1/+1
|
* Tests: Move CMake.FileDownload cases into RunCMake.file-DOWNLOADBrad King2022-11-185-253/+1
| | | | | | The RunCMake infrastructure is more well-suited to check the results of each case. It can also report more precisely what went wrong when a case fails.
* string(TIMESTAMP): Add %z and %Z for adding time zone stringVasiliy Koyrev2022-10-272-0/+25
| | | | Fixes: #24056
* Tests: Improve CheckSourceTree testBrad King2022-10-052-380/+0
| | | | | | | | Re-implement the test using simpler approach. Enable it only when doing an out-of-source build with a `.git` source. Run it last, serially. Re-use the `git` tool found for version computation. Print the output from `git status` without modification. Rely on `.gitignore` instead of filtering out paths ourselves.
* CMakeParseImplicitLinkInfo: Better detection of msvcRobert Maynard2022-09-021-2/+87
| | | | Use the compiler id information in addition to checking for `cl.exe`.
* file(DOWNLOAD): Add options to download a rangem.klimenko2022-02-151-0/+48
|
* Tests: Add more version comparison testsPaweł Bylica2021-12-081-2/+78
|
* Testing: Convert `cmake_host_system_information` tests into `RunCMake`Alex Turbov2021-08-026-61/+0
|
* CMakeParseImplicitLinkInfo: Honor GNU static runtime library flagsBrad King2021-06-031-0/+3
| | | | | | | | With flags like `-static-libstdc++` or `-static-libgfortran`, the GNU compiler driver adds `-Bstatic ... -Bdynamic` around its language runtime library. Convert the libraries in between these to absolute paths so that mixed-language linking honors the static runtime libraries.
* MSYS: Add support for running under MSYS runtime environmentOrgad Shaneh2021-04-261-1/+22
| | | | Detect MSYS as CYGWIN, with the required adaptations.
* ctest: Support multiple -L and -LE options to mean "AND"Adriaan de Groot2021-03-281-0/+1
| | | | Fixes: #21087
* Tests: Convert CMake.ELF to RunCMake.file-RPATH ELF caseBrad King2021-02-036-77/+0
|
* Tests: Add host to ENV{no_proxy} when DNS lookup failure is expectedwilliam.r.dieter2021-01-291-0/+3
| | | | | | | | | | | | | | DNS lookup of an invalid host name fails with a different error in a proxy environment than it does in an environment without proxy. Many tools, including curl, use the `no_proxy` environment variable to provid a list of hosts for which proxy should not be used. To make lookup failure consistent, add invalid host names to the `no_proxy` environment variable in tests that attempt to look up invalid host names. This way the lookup will fail consistently regardless of whether proxy is generally used or not. Signed-off-by: william.r.dieter <william.r.dieter@intel.com>
* list(REMOVE_ITEM): Make removal of an empty item a no-op.Asit Dhal2021-01-121-2/+1
| | | | Fixes: #21663
* Tests: Bump CMake minimum required in tests to 2.8.12Chuck Atkins2020-12-231-1/+1
| | | | | | | Since 3.19, CMake generates a deprecation warning when using a minimum version less than 2.8.12. This eliminates those warnings generated during tests, which are typically hidden from the user and developer but are being generated nonetheless.
* cmListFileCache: Enforce proper nesting of flow control statementsKyle Edwards2020-10-221-44/+16
| | | | Fixes: #19153
* file(DOWNLOAD): Make file argument optionalKyle Edwards2020-07-273-3/+16
|
* list: add NATURAL sorting on SORT sub-commandJohnny Jazeix2020-04-131-0/+23
| | | | Fixes: #20563
* Tests: Make CMake.FileDownload invalid host name case more robustBrad King2020-01-211-2/+2
| | | | | | Use a well-defined `.invalid` top-level domain instead of assuming there is no `.png` top-level domain. Extend the timeout of this one case to 30 seconds to give DNS lookups a chance to fail instead of timing out.
* file(DOWNLOAD): Don't fail if given just a filename to write toJohnny Jazeix2020-01-152-1/+19
| | | | Fixes: #17969
* Tests: Fix CMake.FileDownload test failures not reportedCraig Scott2020-01-152-5/+34
| | | | | | | | Because the PASS_REGULAR_EXPRESSION test property is set, the exit code of the test is ignored, so we can't just rely on using message(SEND_ERROR) or the command itself failing. We have to add an explicit error message for all unexpected status codes and check for such messages with a FAIL_REGULAR_EXPRESSION.
* Tests: Fix CMake.FileDownload test in presence of proxyBrad King2020-01-151-0/+5
| | | | | | We do not actually need to contact any real http servers. The one attempt we make is to an intentionally bad domain name. Unset any proxy configuration that may change behavior.
* Tests: Extend CMake.FileDownload test internal timeoutsBrad King2020-01-151-11/+13
| | | | | | On a busy machine running many tests in parallel the `file(DOWNLOAD)` step can take longer than 2 seconds even to simply copy a file. Raise the timeout to 4 seconds to reduce spurious failures.
* Property: Add INSTALL_REMOVE_ENVIROMENT_RPATH propertyJiang Yue2019-07-251-2/+27
|
* Reduce size of PNG imagesLucy Phipps2019-01-253-10/+10
| | | | | | Use FileOptimizer 13.50.2431 (x86) and ZopfliPNG 1.0.2. Update expected file hashes in tests.
* Remove now-unused code once used on IRIXBrad King2019-01-111-72/+0
| | | | | We dropped support for IRIX as a host platform long ago. Remove some leftover code.
* cmMakefile: Fix @CMAKE_CURRENT_LIST_LINE@ for ExpandVariablesInStringNewArtur Ryt2018-12-122-1/+4
| | | | | | | Added check for variable name in @@ evaluation and test for configuring @CMAKE_CURRENT_LIST_LINE@ with new CMP0053 Fixes: #18646
* cmMakefile: Fix ConfigureString not passing filename and lineArtur Ryt2018-12-122-1/+23
| | | | | | It enables to use CMAKE_CURRENT_LIST_LINE in string(CONFIGURE) Added tests for it for ${} and @@ notattion for old CMP0053 and ${} for new
* list: Allow inserting at the end of a listDaniel Chabrowski2018-07-051-0/+4
| | | | Fixes: #18069
* Tests: Fix CheckSourceTree for in-source non-dashboard buildsIsrael Blancas2018-05-031-3/+1
| | | | | | | | | For in-source builds we must tolerate non-tracked files in the source tree. Previously we only tolerated them for dashboard builds during automated testing, but we should tolerate them for local user builds too. Fixes: #17868
* Exclude "libgcc_eh" library files from implicit link librariesBrad King2018-04-161-0/+6
| | | | | | | | Extend the fix in commit v3.9.6~1^2 (Restore exclusion of "gcc_eh" from implicit link libraries, 2017-11-07) to also exclude `gcc_eh` libraries referenced by absolute path to the library file. Issue: #17436
* Tests: Fix TIMESTAMP-UnixTime test under SOURCE_DATE_EPOCH=1Bernhard M. Wiedemann2018-02-262-4/+4
| | | | | | | | The test was expecting timestamps on day 1 in 1970 to start at 86400 but they actually started at 0. This worked without `SOURCE_DATE_EPOCH=1` because after 1972, leap days compensated the offset. Fixes: #17762
* Merge topic 'implicit-lib-gcceh'Brad King2017-11-081-1/+21
|\ | | | | | | | | | | | | 41aacca7 Restore exclusion of "gcc_eh" from implicit link libraries Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1460
| * Restore exclusion of "gcc_eh" from implicit link librariesChristian Pfeiffer2017-11-081-1/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit v3.9.0-rc1~148^2 (Do not assume GCC libs are linked by all compilers, 2017-05-05) we no longer filter out all `gcc*` implicit link libraries. This allows mixing of gcc and non-gcc compilers across languages. However, this caused a subtle problem with how GCC makes exception handling symbols available to linked binaries. GCC (at least on MinGW) provides two different libraries with exception handling symbols: * gcc_s: A shared library with -fvisibility=default, used by -shared-libgcc. * gcc_eh: A static library with -fvisibility=hidden, used by -static-libgcc. The C compiler (on MinGW) defaults to -static-libgcc and uses gcc_eh. The C++ compiler defaults to -shared-libgcc and uses gcc_s when linking shared libraries and executables so that exceptions can propagate across shared libraries [1]. When linking a mixed-language binary, the C++ compiler should be used along with its choice of gcc_s. In this case gcc_eh should not be added even though the C compiler implies it because gcc_s supersedes it. Since the above-mentioned change, CMake is adding gcc_eh to C++ link lines that also contain C code on MinGW. This causes both gcc_s and gcc_eh to be used, which is incorrect. We can fix this simply by excluding gcc_eh from the C compiler's implicit link libraries. [1] https://gcc.gnu.org/onlinedocs/gcc-7.2.0/gcc/Link-Options.html#Link-Options Fixes: #17436
* | gitattributes: prefer `eol=lf` to `crlf=input`Ben Boeckel2017-08-231-1/+1
| | | | | | | | The `crlf` attribute is deprecated in Git.
* | CMakePushCheckState: Fix cmake_push_check_state RESET argumentBrad King2017-07-121-0/+22
| | | | | | | | | | | | | | | | | | This option was added by commit v2.8.12~138^2 (Add cmake_reset_check_state() macro, 2013-07-28) but has never worked. Fix the implementation to refer to macro arguments properly (not as normal variables). Fixes: #17048
* | cmake_host_system_information: Add more keywordsFlorian Maushart2017-06-051-0/+19
|/ | | | | Extend the `cmake_host_system_information()` command to add processor identification keywords.
* ImplicitLinkInfo: Add support for PGI on WindowsChristian Pfeiffer2017-05-201-3/+48
| | | | | | | Since PGI does not write linker directives into objects, the necessary libraries have to be parsed from commandline. PGI does however link the Visual C++ runtime libraries, so they have to be filtered out to ensure no collision with settings of other languages can occur.
* Do not assume GCC libs are linked by all compilersChristian Pfeiffer2017-05-051-30/+30
| | | | | Not all compilers link libgcc and libgcc_s causing trouble when linking C++ code with instance PGI Fortran and C compilers.
* separgs: Migrate tests to RunCMake testsChristian Pfeiffer2017-04-262-26/+0
|
* Merge topic 'mac-implicit-link-no-lto-flag'Brad King2017-04-041-0/+6
|\ | | | | | | | | | | | | 53f17333 CMakeParseImplicitLinkInfo: Ignore ld -lto_library flag Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !658
| * CMakeParseImplicitLinkInfo: Ignore ld -lto_library flagBrad King2017-04-031-0/+6
| | | | | | | | | | | | | | The `ld` tool in Xcode 8.3 now has a `-lto_library <path>` flag. Ignore the flag instead of accidentally parsing it as `-l` with `to_library`. Fixes: #16766
* | Tests: Fix CMake.GetPrerequisites test config messageBrad King2017-04-032-9/+3
| | | | | | | | | | | | | | | | Since commit v2.8.11~239^2~1 (ProcessorCount test: fix path to cmsysTestsCxx executable, 2013-01-24) we accidentally printed a literal `${CTEST_CONFIGURATION_TYPE}` instead of the actual build configuration. Update the message to use a generator expression to get the real build configuration used.
* | Make CMAKE_HOST_SYSTEM_NAME available in scripting contextGregor Jasny2017-02-191-1/+0
| |
* | Tests: Fix `file://` URLs given to curlBrad King2017-02-103-3/+12
| | | | | | | | | | | | | | Since upstream curl commit curl-7_52_0~131 (URL-parser: for file://[host]/ URLs, the [host] must be localhost, 2016-11-11) we can no longer use URLs of the form `file://c:/...` on Windows. These worked only accidentally before. Use `file:///c:/...` instead.