Commit Graph

58069 Commits

Author SHA1 Message Date
Adriaan de Groot 1b61cd1597 FreeBSD: explain the pkg_create() call
- the upstream API is undocumented, so dig in the C sources
  to get parameter names.
2022-07-05 14:24:45 +02:00
Adriaan de Groot 57e8cd1a81 FreeBSD: drop support for libpkg before 1.17
All supported FreeBSD versions are now using 1.17 or later
2022-07-05 11:42:00 +02:00
Kitware Robot acf3fe632c CMake Nightly Date Stamp 2022-07-04 00:01:21 -04:00
Craig Scott 6edd4f91c7 Merge branch 'release-3.24' 2022-07-03 00:50:45 -04:00
Craig Scott 51dd0d758d Merge topic 'doc-LINK_LIBRARY_genex'
d185f7c0a8 Help: Rework $<LINK_LIBRARY>, $<LINK_GROUP> and related docs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7413
2022-07-03 00:50:45 -04:00
Craig Scott 2a336d8554 Merge topic 'doc-LINK_LIBRARY_genex' into release-3.24
d185f7c0a8 Help: Rework $<LINK_LIBRARY>, $<LINK_GROUP> and related docs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7413
2022-07-03 00:50:44 -04:00
Craig Scott d185f7c0a8 Help: Rework $<LINK_LIBRARY>, $<LINK_GROUP> and related docs
These changes restructure the docs to improve readability and flow,
correct grammar and typos, and fix errors and inconsistencies in
some of the examples.

Fixes: #23684
2022-07-03 14:34:41 +10:00
Kitware Robot 1392102e88 CMake Nightly Date Stamp 2022-07-03 00:01:07 -04:00
Kitware Robot f1e38ec0a7 CMake Nightly Date Stamp 2022-07-02 00:01:10 -04:00
Brad King f41b2b25a6 Merge topic 'findicu'
669b6a37f5 FindICU: Fix component reporting logic

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7430
2022-07-01 11:16:32 -04:00
Brad King 2ecdf00f07 Merge topic 'FindRuby-version-matching'
abe8192d82 FindRuby: Simplify version matching

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7425
2022-07-01 08:26:18 -04:00
Brad King 27a103e8bc Merge topic 'file-archive-args'
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
2022-07-01 08:24:36 -04:00
Brad King 45178d7f95 Merge branch 'release-3.24' 2022-07-01 08:19:36 -04:00
Brad King 34d746e419 Merge topic 'genex-TARGET_BUNDLE_DIR_NAME'
8bd98b8117 Genex: Fix TARGET_BUNDLE_DIR_NAME incorrect extension

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7428
2022-07-01 08:19:36 -04:00
Brad King 3201439046 Merge topic 'genex-TARGET_BUNDLE_DIR_NAME' into release-3.24
8bd98b8117 Genex: Fix TARGET_BUNDLE_DIR_NAME incorrect extension

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7428
2022-07-01 08:19:35 -04:00
Ben Leadbetter 8bd98b8117 Genex: Fix TARGET_BUNDLE_DIR_NAME incorrect extension
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
2022-07-01 08:18:10 -04:00
Kitware Robot 113fbaf3e2 CMake Nightly Date Stamp 2022-07-01 00:01:09 -04:00
Alexander Grund 669b6a37f5 FindICU: Fix component reporting logic
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.
2022-06-30 19:36:53 +02:00
Brad King 7375542615 Merge topic 'FindCURL-package-version'
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
2022-06-30 08:35:55 -04:00
Brad King ac977c52a6 Merge branch 'release-3.24' 2022-06-30 08:25:13 -04:00
Brad King e561eaa18a Merge branch 'release-3.23' 2022-06-30 08:25:09 -04:00
Brad King 6b2bcae7d4 Merge branch 'release-3.23' into release-3.24 2022-06-30 08:24:57 -04:00
Brad King 529004738a Merge branch 'file-set-crash' into release-3.23
Merge-request: !7420
2022-06-30 08:22:27 -04:00
Brad King 93b2278186 Merge branch 'release-3.24' 2022-06-30 08:20:24 -04:00
Brad King 5a460f3243 Merge topic 'file-set-crash'
3fee5398bd install(EXPORT): Check for missing file sets at generate time

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7420
2022-06-30 08:20:24 -04:00
Brad King 6bc597b30e Merge topic 'file-set-crash' into release-3.24
3fee5398bd install(EXPORT): Check for missing file sets at generate time

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7420
2022-06-30 08:20:23 -04:00
Kitware Robot 4c2cead0c3 CMake Nightly Date Stamp 2022-06-30 00:01:09 -04:00
Diego Pino Garcia abe8192d82 FindRuby: Simplify version matching 2022-06-30 09:51:15 +08:00
Brad King 7c83265e59 file(ARCHIVE*): Simplify acceptance of empty list arguments
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.
2022-06-29 17:43:41 -04:00
Brad King dfff470d15 file(ARCHIVE*): Add test for keyword arguments with missing values 2022-06-29 17:43:41 -04:00
Kyle Edwards 3fee5398bd install(EXPORT): Check for missing file sets at generate time
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
2022-06-29 15:05:32 -04:00
Brad King b1d8141534 Merge topic 'log_level_command'
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
2022-06-29 08:52:13 -04:00
Brad King c42a9dfce0 Merge topic 'lcc-updates'
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
2022-06-29 08:48:13 -04:00
Brad King 4262ab1bb0 Merge branch 'release-3.24' 2022-06-29 08:46:31 -04:00
Brad King ca8720c6af Merge topic 'FetchContent-avoid-IN_LIST'
5c7b6b29f9 FetchContent: Don't use if(... IN_LIST ...)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7423
2022-06-29 08:46:31 -04:00
Brad King c24620fa8b Merge topic 'FetchContent-avoid-IN_LIST' into release-3.24
5c7b6b29f9 FetchContent: Don't use if(... IN_LIST ...)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7423
2022-06-29 08:46:30 -04:00
Brad King 55ceba8911 Merge branch 'release-3.24' 2022-06-29 08:43:29 -04:00
Brad King edad647dd9 Merge topic 'fix-23523'
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
2022-06-29 08:43:28 -04:00
Brad King 18c0ff66b2 Merge topic 'fix-23523' into release-3.24
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
2022-06-29 08:43:27 -04:00
Kitware Robot 3a3e5462d0 CMake Nightly Date Stamp 2022-06-29 00:01:13 -04:00
Craig Scott 5c7b6b29f9 FetchContent: Don't use if(... IN_LIST ...)
This avoids the need for changing policy settings, which would then
propagate through to projects brought into the build via FetchContent.
2022-06-29 07:54:06 +10:00
Josiah Bills 10668f26c9 AUTOUIC: Fix internal paths of generated ui_foo.h files
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
2022-06-28 17:26:28 +02:00
makise-homura 886ba0b1d6 FindCURL: Set CURL_VERSION_STRING when curl is found as a package
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.
2022-06-28 11:15:24 -04:00
makise-homura 22a2b9c49f Tests: Fix Java tests on multi-config generators
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.
2022-06-28 11:12:41 -04:00
makise-homura b05d297964 Tests: handle a case when hg executable is broken
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.
2022-06-28 11:12:04 -04:00
makise-homura 2faabab644 Tests: don't fail tests on broken E2K Java RVM
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.
2022-06-28 11:12:04 -04:00
makise-homura 1462a1e15d Tests: check for shlibdeps symbols/shlibs before testing it
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.
2022-06-28 11:12:04 -04:00
makise-homura 070e217399 Tests: enable Java tests if javac is a recurse symlink
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.
2022-06-28 11:12:04 -04:00
makise-homura 7545d1ca9f Tests: don't use broken makensis
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.
2022-06-28 11:12:04 -04:00
makise-homura f11c12f9c8 Source: Suppress some warnings on LCC 1.23.x
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.
2022-06-28 11:12:04 -04:00