summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* 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 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.
| * | | | cmSystemTools: Fix unsetenv() fallbackRaul Tambre2022-06-261-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The fallback path boils down to putenv(). Calling that with a "=" sets the variable to an empty string. Use cmSystemTools::UnPutEnv() instead, which correctly handles unsetting variables on a variety of systems.
| * | | | Tests/CTestTestFdSetSize: Support plain POSIXRaul Tambre2022-06-261-2/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When compiling in ISO C mode functions from newer POSIX standards such as usleep() and nanosleep() aren't available. Fortunately select() allows timing out with microsecond precision.
* | | | | Merge topic 'glew'Brad King2022-06-281-2/+1
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6c8789af75 FindGLEW: select_library_configuration might be used before it is defined Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7412
| * | | | | FindGLEW: select_library_configuration might be used before it is definedMarkus Mützel2022-06-261-2/+1
| |/ / / / | | | | | | | | | | | | | | | Fixes a regression from a31b27078595fce911b2469937ac12934555644a
* | | | | Merge branch 'release-3.24'Brad King2022-06-280-0/+0
|\ \ \ \ \ | | |_|/ / | |/| | |
| * | | | Merge topic 'FindPython-multiple-queries' into release-3.24Brad King2022-06-284-2/+26
| |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ece3bedbf2 FindPython: fix error on multiple queries with different COMPONENTS Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7410
* | \ \ \ \ Merge topic 'FindPython-multiple-queries'Brad King2022-06-284-2/+26
|\ \ \ \ \ \ | | |/ / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | ece3bedbf2 FindPython: fix error on multiple queries with different COMPONENTS Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7410
| * | | | | FindPython: fix error on multiple queries with different COMPONENTSMarc Chevrier2022-06-274-2/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Ensure that multiple queries with different COMPONENTS specified in different sub-directories are fully supported.
* | | | | | Merge branch 'release-3.24'Brad King2022-06-280-0/+0
|\ \ \ \ \ \ | | |/ / / / | |/| | | |
| * | | | | Merge topic 'depguide-fetchcontent-versioning' into release-3.24Brad King2022-06-281-0/+4
| |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8d8d8ac772 Help: Mark features new to 3.24 in Using Dependencies Guide Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7411
* | \ \ \ \ \ Merge topic 'depguide-fetchcontent-versioning'Brad King2022-06-281-0/+4
|\ \ \ \ \ \ \ | | |/ / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8d8d8ac772 Help: Mark features new to 3.24 in Using Dependencies Guide Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7411
| * | | | | | Help: Mark features new to 3.24 in Using Dependencies GuideFeRD (Frank Dana)2022-06-271-0/+4
| | |/ / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | The sections on FetchContent's FIND_PACKAGE_ARGS and on Dependency Providers only apply to CMake 3.24+, so add versionadded markers at the start of both sections.
* | | | | | Merge branch 'release-3.24'Brad King2022-06-280-0/+0
|\ \ \ \ \ \ | | |/ / / / | |/| | | |
| * | | | | Merge topic 'revert-FindHDF5-library' into release-3.24Brad King2022-06-281-4/+4
| |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | b5bc72574e FindHDF5: Revert "Add explicit library location instead of guessed ..." Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7416
* | \ \ \ \ \ Merge topic 'revert-FindHDF5-library'Brad King2022-06-281-4/+4
|\ \ \ \ \ \ \ | | |/ / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | b5bc72574e FindHDF5: Revert "Add explicit library location instead of guessed ..." Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7416
| * | | | | | FindHDF5: Revert "Add explicit library location instead of guessed ..."Brad King2022-06-271-4/+4
| | |/ / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Revert commit e4e309f165 (FindHDF5: Add explicit library location instead of guessed library name., 2022-03-22, v3.24.0-rc1~375^2). The old behavior was not a guessed library name, but the name of an imported target that can contain per-config locations and encode usage requirements. Although find modules do not normally return their imported target names in the `_LIBRARIES` variable, FindHDF5 has done so since commit 5201a3065b (FindHDF5: use the target rather than the path, 2017-01-04, v3.8.0-rc1~81^2). Fixes: #23667
* | | | | | Merge branch 'release-3.24'Brad King2022-06-280-0/+0
|\ \ \ \ \ \ | | |/ / / / | |/| | | |
| * | | | | Merge topic 'doc-osx-cmp0126' into release-3.24Brad King2022-06-281-1/+2
| |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3fac3d365d Help: Mention CMP0126 in CMAKE_OSX_* variable documentation Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7414
* | \ \ \ \ \ Merge topic 'doc-osx-cmp0126'Brad King2022-06-281-1/+2
|\ \ \ \ \ \ \ | | |/ / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3fac3d365d Help: Mention CMP0126 in CMAKE_OSX_* variable documentation Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7414
| * | | | | | Help: Mention CMP0126 in CMAKE_OSX_* variable documentationDa Quexian2022-06-271-1/+2
| | |/ / / / | |/| | | | | | | | | | | | | | | | Signed-off-by: Da Quexian <daquexian566@gmail.com>
* | | | | | Merge branch 'release-3.24'Brad King2022-06-280-0/+0
|\ \ \ \ \ \ | | |/ / / / | |/| | | |
| * | | | | Merge branch 'release-3.23' into release-3.24Brad King2022-06-280-0/+0
| |\ \ \ \ \
* | \ \ \ \ \ Merge branch 'release-3.23'Brad King2022-06-280-0/+0
|\ \ \ \ \ \ \ | | |/ / / / / | |/| | | | |
| * | | | | | Merge branch 'lcc-liblfortran-renamed' into release-3.23Brad King2022-06-271-1/+5
| |\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Merge-request: !7407