summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* FindOpenSSL: Document use of pkg-configtofraa2022-07-051-0/+5
| | | | Issue: #17548
* FindOpenSSL: Reformat hints documentation as definition listBrad King2022-07-051-5/+12
|
* CMake Nightly Date StampKitware Robot2022-07-021-1/+1
|
* Merge topic 'findicu'Brad King2022-07-011-7/+5
|\ | | | | | | | | | | | | 669b6a37f5 FindICU: Fix component reporting logic Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7430
| * FindICU: Fix component reporting logicAlexander Grund2022-06-301-7/+5
| | | | | | | | | | Components were incorrectly reported as found because `component_found` is set to a string containing the variable name which is a truethy value. Fix by simply merging the setter of `component_found` with the reporting setter instead of checking `component_found OR component_found_compat` which is overly verbose anyway.
* | Merge topic 'FindRuby-version-matching'Brad King2022-07-011-46/+7
|\ \ | | | | | | | | | | | | | | | | | | abe8192d82 FindRuby: Simplify version matching Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7425
| * | FindRuby: Simplify version matchingDiego Pino Garcia2022-06-301-46/+7
| | |
* | | Merge topic 'file-archive-args'Brad King2022-07-018-3/+43
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7c83265e59 file(ARCHIVE*): Simplify acceptance of empty list arguments dfff470d15 file(ARCHIVE*): Add test for keyword arguments with missing values Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !7427
| * | | file(ARCHIVE*): Simplify acceptance of empty list argumentsBrad King2022-06-291-3/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In `cmArgumentParser`, a keyword bound to a `std::vector<std::string>` value is reported in the list of keywords with missing values if the keyword appears followed by an empty list. For cases where we want to tolerate empty lists, clients need to filter out such keywords themselves before producing an error message. This may be improved in the future, but that is out of scope here. In commit c7e1198a23 (file: Add ARCHIVE_{CREATE|EXTRACT} subcommands, 2020-03-13, v3.18.0-rc1~530^2), a pattern for filtering out keywords that accept empty lists was copied from commit c998c8d560 (file(GET_RUNTIME_DEPENDENCIES): Tolerate empty list arguments, 2020-01-22, v3.17.0-rc1~111^2~1) incorrectly in two ways: * Keywords were included in the filter that do not accept empty lists. * Keywords were not in sorted order, breaking the filter operation. Those two bugs mostly canceled each other out, and the resulting behavior was to correctly report keywords with missing values. However, the `MTIME` keyword was accidentally accepted with no value by pretending the keyword was not given at all. Simplify the logic by removing keywords from the filters that should not be there. Leave `MTIME` in the filter for compatibility.
| * | | file(ARCHIVE*): Add test for keyword arguments with missing valuesBrad King2022-06-297-0/+34
| |/ /
* | | Merge branch 'release-3.24'Brad King2022-07-010-0/+0
|\ \ \
| * \ \ Merge topic 'genex-TARGET_BUNDLE_DIR_NAME' into release-3.24Brad King2022-07-014-2/+49
| |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8bd98b8117 Genex: Fix TARGET_BUNDLE_DIR_NAME incorrect extension Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7428
* | \ \ \ Merge topic 'genex-TARGET_BUNDLE_DIR_NAME'Brad King2022-07-014-2/+49
|\ \ \ \ \ | | |/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | 8bd98b8117 Genex: Fix TARGET_BUNDLE_DIR_NAME incorrect extension Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7428
| * | | | Genex: Fix TARGET_BUNDLE_DIR_NAME incorrect extensionBen Leadbetter2022-07-014-2/+49
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix the genex from commit 997af2e1a6 (Genex: Add TARGET_BUNDLE_DIR_NAME, 2022-04-14, v3.24.0-rc1~233^2) to use the correct bundle directory extension for each bundle type. Fixes: #23683
* | | | CMake Nightly Date StampKitware Robot2022-07-011-1/+1
| |_|/ |/| |
* | | Merge topic 'FindCURL-package-version'Brad King2022-06-301-0/+2
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 886ba0b1d6 FindCURL: Set CURL_VERSION_STRING when curl is found as a package Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !7421
| * | | FindCURL: Set CURL_VERSION_STRING when curl is found as a packagemakise-homura2022-06-281-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | FindCURL, when found as `curl-config.cmake`, will fill `CURL_VERSION` instead of `CURL_VERSION_STRING` variable. It may break some cases when user is relying on correct value of the latter variable, and as an example, already breaks `CMakeOnly.AllFindModules` test.
* | | | Merge branch 'release-3.24'Brad King2022-06-300-0/+0
|\ \ \ \ | | |/ / | |/| |
| * | | Merge branch 'release-3.23' into release-3.24Brad King2022-06-300-0/+0
| |\ \ \
* | \ \ \ Merge branch 'release-3.23'Brad King2022-06-300-0/+0
|\ \ \ \ \ | | |/ / / | |/| | |
| * | | | Merge branch 'file-set-crash' into release-3.23Brad King2022-06-3010-4/+60
| |\ \ \ \ | | | | | | | | | | | | | | | | | | Merge-request: !7420
* | \ \ \ \ Merge branch 'release-3.24'Brad King2022-06-300-0/+0
|\ \ \ \ \ \ | | |_|/ / / | |/| | | |
| * | | | | Merge topic 'file-set-crash' into release-3.24Brad King2022-06-3010-4/+60
| |\ \ \ \ \ | | | |/ / / | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | 3fee5398bd install(EXPORT): Check for missing file sets at generate time Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7420
* | | | | | Merge topic 'file-set-crash'Brad King2022-06-3010-4/+60
|\ \ \ \ \ \ | | |/ / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | 3fee5398bd install(EXPORT): Check for missing file sets at generate time Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7420
| * | | | | install(EXPORT): Check for missing file sets at generate timeKyle Edwards2022-06-2910-4/+60
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Missing file sets were originally checked at configure time in install(TARGETS ... EXPORT), but were not checked at generate time. If a file set was added after install(TARGETS ... EXPORT) was called, an abortion error was thrown. Check again at generate time to gracefully display an error message instead of crashing. Fixes: #23680
* | | | | | CMake Nightly Date StampKitware Robot2022-06-301-1/+1
| |_|_|_|/ |/| | | |
* | | | | Merge topic 'log_level_command'Brad King2022-06-2920-67/+253
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 23bbac941a Add cmake_language(GET_MESSAGE_LOG_LEVEL) sub command 2b6ef864e0 Move LogLevel enum out of cmake.h header Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !7348
| * | | | | Add cmake_language(GET_MESSAGE_LOG_LEVEL) sub commandAlexandru Croitor2022-06-2819-25/+205
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The new sub-command writes a string representation of the current log level to the output variable given to the sub-command. Given that the log-level might be set either via the --log-level command line option or via the CMAKE_MESSAGE_LOG_LEVEL cache / regular variables, the priority for each of the log level sources is as follows, with the first one being the highest: 1) --log-level 2) CMAKE_MESSAGE_LOG_LEVEL regular variable 3) CMAKE_MESSAGE_LOG_LEVEL cache variable 4) default log level (STATUS) Fixes: #23572
| * | | | | Move LogLevel enum out of cmake.h headerAlexandru Croitor2022-06-244-53/+59
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Move LogLevel enum into the cmMessageType.h header in preparation for a new log level querying feature. Wrap the enum into a new Message namespace. Adjust all code usages.
* | | | | | Merge topic 'lcc-updates'Brad King2022-06-295-51/+104
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 22a2b9c49f Tests: Fix Java tests on multi-config generators b05d297964 Tests: handle a case when hg executable is broken 2faabab644 Tests: don't fail tests on broken E2K Java RVM 1462a1e15d Tests: check for shlibdeps symbols/shlibs before testing it 070e217399 Tests: enable Java tests if javac is a recurse symlink 7545d1ca9f Tests: don't use broken makensis f11c12f9c8 Source: Suppress some warnings on LCC 1.23.x de16db0f64 curl: make libcmcurl buildable with old LibreSSL Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7418
| * | | | | | Tests: Fix Java tests on multi-config generatorsmakise-homura2022-06-281-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Java.NativeHeaders test was not passing on t:fedora36-ninja-multi pipeline. This is due to paths being not set because of $<CONFIG> being used at --test-command, but not being used at the actual CTest invocation. Now the correct variable is used there.
| * | | | | | Tests: handle a case when hg executable is brokenmakise-homura2022-06-283-3/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | OS Elbrus 6.0-rc1 to rc3 have hg executable broken because of python2 and python3 module directories conflict. Here, we avoid hg related tests if such case is detected.
| * | | | | | Tests: don't fail tests on broken E2K Java RVMmakise-homura2022-06-281-37/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Java RVM on E2K architecture is known to be broken prior to RVM version 3.5.2 (they crash with SIGILL in some circumstances). That disallows tests like Java.Javah, Java.Jar, and Java.NativeHeaders to pass. Now, if such RVM is detected, these test are not being run.
| * | | | | | Tests: check for shlibdeps symbols/shlibs before testing itmakise-homura2022-06-281-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | OS Elbrus 6.x has totally broken dpkg-shlibdeps; 7.1 has a working one, but still no symbols/shdibdeps files, so generated dependencies are also empty. Since this commit, we're checking if these files exist, and if not, we skip the CPackComponentsDEB-components-depend2 test.
| * | | | | | Tests: enable Java tests if javac is a recurse symlinkmakise-homura2022-06-281-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There are distros (OS Elbrus 6.x, 7.x, Ubuntu 21.x) where javac is a recurse symlink, like /usr/bin/javac -> /etc/alternatives/javac -> /usr/lib/jvm/.../bin/javac. On these distros, Java tests were not run, because Tests/CMakeLists.txt was not able to handle this case correctly. Now an additional stage of resolving symlinks is added, and these distros have Java tests running.
| * | | | | | Tests: don't use broken makensismakise-homura2022-06-281-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some distros (OS Elbrus less than 7.0) have unrunnable makensis. While performing tests, this condition is now checked, and NSIS CPack generator test is not performed.
| * | | | | | Source: Suppress some warnings on LCC 1.23.xmakise-homura2022-06-281-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | LCC 1.23.x (confirmed for 1.23.10, 1.23.19, maybe others) issues -Wunused-function warning on the following functions: Source/cmFileAPICodemodel.cxx:126, ValueEq() Source/cmFileAPICodemodel.cxx:130, ValueLess() Source/cmGeneratorExpressionNode.cxx:630, back() This fix makes it silent for compatibility. This is not a subject for newer LCC versions, like 1.25 and 1.26. On LCC 1.21 CMake is not buildable, and 1.22 and 1.24 are not tested, as they are internal development versions. Thus, the fix is only applied if LCC 1.23 is detected.
| * | | | | | curl: make libcmcurl buildable with old LibreSSLmakise-homura2022-06-281-7/+17
| | |_|_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | LibreSSL older than 2.6.0 is not supported correctly in upstream curl, and as a consequence, in libcmcurl. Such LibreSSL versions can be used in old distros, like OS Elbrus 4.x and 5.x, so until this fix, CMake wasn't buildable there either.
* | | | | | Merge branch 'release-3.24'Brad King2022-06-290-0/+0
|\ \ \ \ \ \ | | |_|_|/ / | |/| | | |
| * | | | | Merge topic 'FetchContent-avoid-IN_LIST' into release-3.24Brad King2022-06-291-2/+8
| |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 5c7b6b29f9 FetchContent: Don't use if(... IN_LIST ...) Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7423
* | \ \ \ \ \ Merge topic 'FetchContent-avoid-IN_LIST'Brad King2022-06-291-2/+8
|\ \ \ \ \ \ \ | | |/ / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 5c7b6b29f9 FetchContent: Don't use if(... IN_LIST ...) Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7423
| * | | | | | FetchContent: Don't use if(... IN_LIST ...)Craig Scott2022-06-281-2/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This avoids the need for changing policy settings, which would then propagate through to projects brought into the build via FetchContent.
* | | | | | | Merge branch 'release-3.24'Brad King2022-06-290-0/+0
|\ \ \ \ \ \ \ | | |/ / / / / | |/| | | | |
| * | | | | | Merge topic 'fix-23523' into release-3.24Brad King2022-06-291-12/+16
| |\ \ \ \ \ \ | | |/ / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 10668f26c9 AUTOUIC: Fix internal paths of generated ui_foo.h files Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !7419
* | | | | | | Merge topic 'fix-23523'Brad King2022-06-291-12/+16
|\ \ \ \ \ \ \ | | |/ / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 10668f26c9 AUTOUIC: Fix internal paths of generated ui_foo.h files Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !7419
| * | | | | | AUTOUIC: Fix internal paths of generated ui_foo.h filesJosiah Bills2022-06-281-12/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For every file foo.ui we generate a ui_foo.h file in ${target}_autogen/include or ${target}_autogen/include_$<CONFIG> in the multi-config case. Even .ui files in subdirectories are handled this way. That means, .ui files with the same base name will conflict in a target. However, for .ui files in subdirectories we added generated sources with the nonexistent path ${target}_autogen/include/subdir/ui_foo.h. This patch fixes that. Also, CMake will now yield an error if a target has multiple .ui files with the same base name. Fixes #23523
* | | | | | | CMake Nightly Date StampKitware Robot2022-06-291-1/+1
| |_|/ / / / |/| | | | |
* | | | | | Merge topic 'posix_c'Brad King2022-06-284-7/+18
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | e1adddc74e RunCMake/CXXModules/NoCXX20: Force older standard 3f7ebf9354 RunCMake/CTestTimeout: Include sched.h for pid_t 8eb8d16c19 cmSystemTools: Fix unsetenv() fallback 324ca5b489 Tests/CTestTestFdSetSize: Support plain POSIX Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7408
| * | | | | | RunCMake/CXXModules/NoCXX20: Force older standardRaul Tambre2022-06-281-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Compile features ensure a compiler is aware of a standard version, but the one actually used may be newer. The test relies on the standard chosen being pre-C++20, so force C++17 explicitly. This was exposed by a nightly bot that has a compiler defaulting to C++23. The test would've broken anyway in a few years once GCC or Clang upped their default.
| * | | | | | RunCMake/CTestTimeout: Include sched.h for pid_tRaul Tambre2022-06-271-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ISO C modes in Clang don't enable modern POSIX standards. Include sched.h to define pid_t in such modes.