Commit Graph

2241 Commits

Author SHA1 Message Date
Brad King
1f46bc299b ci: Extend packaging pipeline to sign Windows binaries automatically
Split packaging on Windows into dedicated jobs that run with access to
an EV signing certificate.

Prior to commit 0929221ca3 (gitlab-ci: Simplify Windows packaging
pipeline, 2023-02-28, v3.26.0-rc5~3^2~3) we had separate packaging jobs,
but they did not run in release packaging pipelines.  Restore them, and
run them in both nightly and release packaging pipelines.
2025-03-19 11:22:30 -04:00
Roger Leigh
99c8abed55 kFreeBSD: Remove support for obsolete platform
kFreeBSD is no longer maintained or supported and was never an
officially-supported release architecture for Debian.

Closes: #26742
2025-03-05 11:57:49 -05:00
Kitware Robot
1772622772 LICENSE: Replace references to Copyright.txt with LICENSE.rst
```
git grep -lz 'Copyright.txt or https://cmake.org/licensing ' |
  while IFS= read -r -d $'\0' f ; do
    sed -i '/Copyright.txt or https:\/\/cmake.org\/licensing / {
              s/Copyright.txt/LICENSE.rst/
            }' "$f" ; done
```
2025-03-03 10:43:35 -05:00
Brad King
67b6964efa Merge branch 'backport-license-rst' (early part) into license-rst 2025-03-03 10:42:50 -05:00
Brad King
3035ee4ff3 CMake: De-duplicate extraction of copyright line from license file 2025-03-03 08:59:09 -05:00
Brad King
7f850fba3c Merge topic 'rel-sunos'
5dd973f900 ci: Convert sunos packaging jobs to build sunos-{x86_64,sparc64} binaries
fd1907e50e Utilities/Release: Convert base images to build sunos-{x86_64,sparc64}

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10401
2025-02-28 11:09:49 -05:00
Brad King
5dd973f900 ci: Convert sunos packaging jobs to build sunos-{x86_64,sparc64} binaries 2025-02-27 16:35:09 -05:00
Brad King
fd1907e50e Utilities/Release: Convert base images to build sunos-{x86_64,sparc64} 2025-02-27 16:35:09 -05:00
Brad King
646fd33351 Merge topic 'libuv-kvm-bsd-dependency-removal'
4f0fb73816 libuv: Remove kvm dependency for all BSDs except NetBSD

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10385
2025-02-25 09:44:41 -05:00
Roger Leigh
4f0fb73816 libuv: Remove kvm dependency for all BSDs except NetBSD
This dependency is not expressed in upstream libuv.  It was added to
CMake by commit 6a497bb0a3 (libuv: Link with kvm on FreeBSD, 2016-09-08,
v3.7.0-rc1~143^2~1).  It is needed only on NetBSD.

Fixes: #26722
2025-02-24 14:31:28 -05:00
Brad King
3c175b5f2c ci: Tell linkcheck to tolerate redirect to versioned variant 2025-02-23 09:15:47 -05:00
Brad King
8b8cf1ac8e Merge topic 'update-jsoncpp'
af65a5d98b Merge branch 'upstream-jsoncpp' into update-jsoncpp
6a4aca62f6 jsoncpp 2024-09-09 (89e2973c)
3dec83ae8c jsoncpp: Update script to get jsoncpp 1.9.6

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !10379
2025-02-21 09:21:31 -05:00
Brad King
cbfe6947e6 Merge topic 'rel-src-cleanup'
57a24181ed clang-tidy: Do not require config file if not running clang-tidy
aa42ba1ac8 gitattributes: Do not export pre-commit config file in source archives

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10371
2025-02-21 09:04:52 -05:00
Brad King
af65a5d98b Merge branch 'upstream-jsoncpp' into update-jsoncpp
* upstream-jsoncpp:
  jsoncpp 2024-09-09 (89e2973c)
2025-02-20 19:07:15 -05:00
Brad King
3dec83ae8c jsoncpp: Update script to get jsoncpp 1.9.6 2025-02-20 19:04:28 -05:00
Brad King
57a24181ed clang-tidy: Do not require config file if not running clang-tidy
Since commit 00cfea965b (gitattributes: Do not export lint config files
in source archives, 2025-01-24, v4.0.0-rc1~129^2) the `.clang-tidy`
config file is not available in source archives.  Require it only when
the `CMake_RUN_CLANG_TIDY` option is turned on, which we only do in
development and CI builds.

Fixes: #26712
2025-02-20 09:07:50 -05:00
Brad King
a36b38502c Merge topic 'rel-sunos'
28f1da4b25 ci: Add jobs to build sunos-{i386,sparc} binaries
59ed18e54d Utilities/Release: Add base images to build sunos-{i386,sparc} binaries
a4e5719d31 Solaris: Rename local variable to avoid conflict with system headers

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10350
2025-02-16 10:55:40 -05:00
Brad King
9e305f6777 Merge topic 'help-version-script'
cd597fe7c0 Utilities/Sphinx: Update update_versions.py to work with 4.x versions

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10347
2025-02-15 07:34:54 -05:00
Brad King
f9e51b61cd Merge topic 'enum_set-enhancements'
4d48958965 enum_set enhancements, step 3

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10335
2025-02-15 07:31:40 -05:00
Brad King
28f1da4b25 ci: Add jobs to build sunos-{i386,sparc} binaries 2025-02-15 07:28:07 -05:00
Brad King
59ed18e54d Utilities/Release: Add base images to build sunos-{i386,sparc} binaries 2025-02-15 07:28:06 -05:00
Brad King
7c71d94263 Merge topic 'update-curl'
80ec307900 curl: Set build options the way we need for CMake
ba77812035 Merge branch 'upstream-curl' into update-curl
1865f86e28 curl 2025-02-13 (57495c64)
302d842f6e curl: Update script to get curl 8.12.1

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !10342
2025-02-15 07:27:33 -05:00
Nikita Nemkin
cd597fe7c0 Utilities/Sphinx: Update update_versions.py to work with 4.x versions
The regex that extracts versions from git tags needs an update.
Otherwise it will ignore future v4.x.x tags.

Also improve documentation.
2025-02-14 09:45:47 -05:00
Brad King
80ec307900 curl: Set build options the way we need for CMake
Set options added by the update to curl 8.12.1.

In particular, now that upstream curl's CMake code depends on
OpenSSL via imported targets from FindOpenSSL, we can let it
handle the transitive dependency on posix threads.
2025-02-14 08:57:11 -05:00
Marc Chevrier
4d48958965 enum_set enhancements, step 3 2025-02-14 10:38:34 +01:00
Brad King
ba77812035 Merge branch 'upstream-curl' into update-curl
* upstream-curl:
  curl 2025-02-13 (57495c64)
2025-02-13 11:17:59 -05:00
Brad King
302d842f6e curl: Update script to get curl 8.12.1 2025-02-13 10:26:39 -05:00
Brad King
1f706754d9 Merge topic 'sunos-i386-mkdtemp'
4db9e1009d Solaris: Backport our mkdtemp code paths to SunOS 5.10 i386
f189e64126 Tests: Add cases covering our mkdtemp code paths

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !10313
2025-02-10 08:21:02 -05:00
Brad King
599ad2b12d Merge topic 'sunos-i386-mkdtemp' into release-4.0
4db9e1009d Solaris: Backport our mkdtemp code paths to SunOS 5.10 i386
f189e64126 Tests: Add cases covering our mkdtemp code paths

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !10313
2025-02-10 08:21:01 -05:00
Brad King
9ad368e96f Merge topic 'libarchive-openssl'
2bfb9f7e8a libarchive: Restore explicit linking to openssl crypto library

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !10311
2025-02-10 08:16:38 -05:00
Brad King
4db9e1009d Solaris: Backport our mkdtemp code paths to SunOS 5.10 i386
`mkdtemp` is not available on this architecture until SunOS 5.11.
Look up the symbol at runtime, and if missing, fall back to an
approximate implementation.
2025-02-09 13:29:39 -05:00
Brad King
2bfb9f7e8a libarchive: Restore explicit linking to openssl crypto library
This is present in the upstream libarchive CMake code.  We removed it
in commit 59d28b2849 (libarchive: Drop early use of crypto library,
2016-05-03, v3.6.0-rc1~100^2), but didn't record details for why.
Many other changes have been made since then, so the original problem
may no longer occur.  Restore the link dependency since it reflects
a real dependency of the implementation.
2025-02-09 13:23:56 -05:00
Brad King
15a2b506c8 Merge topic 'post-rel-dev'
f8db82ba81 Configure CMake itself with policies through CMake 3.31
34652be5d2 export: Increase maximum policy version in exported files to 3.31
5cd2669146 Add deprecation warnings for policies CMP0142 and below

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !10296
2025-02-09 12:36:54 -05:00
Brad King
0e1f3f175c curl: Set build options the way we need for CMake
Set options added by the update to curl 8.12.0.
2025-02-06 06:38:43 -05:00
Brad King
ae94c2369d curl: Clarify comments marking our local changes to the CMake code 2025-02-06 06:37:53 -05:00
Brad King
f8db82ba81 Configure CMake itself with policies through CMake 3.31 2025-02-05 14:21:39 -05:00
Brad King
7f2b2375ba Merge branch 'upstream-curl' into update-curl
* upstream-curl:
  curl 2025-02-05 (34cf9d54)
2025-02-05 09:27:48 -05:00
Brad King
e8c41f4780 curl: Update script to get curl 8.12.0 2025-02-05 09:18:57 -05:00
Nikita Nemkin
3822e95aee Help: Add responsive layout for small screens
These changes activate only on small screens, where "small" is defined
as <=760px, i.e. anything smaller than iPad Mini.

* Turn the sidebar into a popup (on the right) and add a hamburger
  button in the header to show it.
* Split the header and footer into two lines, make the header sticky.
* Remove the prev/next links from the header.
* Put the search box first in the sidebar.
* Disable horizontal scroll of the page, enable individual scrolling
  for h1, table. (Code blocks already have it).
* Allow line breaking of overly long words in the document body.
* Adjust various margins.

The sidebar popup works without JavaScript (using the "checkbox hack"),
but a bit of JavaScript is added to enable automatic closing on Esc,
on a link click and on document navigation.
2025-02-02 23:33:17 +05:00
Nikita Nemkin
bf9ccc8427 Help: Theme improvements
* Push the footer to the bottom of the page (for short pages).
* Remove the link from the sidebar "Table of Contents" header.
* Remove text justification from TOCs and tables.
* Adjust logo position in the header.
* Restructure the navigation bar from
    CMake >> [version] Documentation >> Page
  to
    CMake [version] >> Documentation >> Page
2025-02-02 23:33:17 +05:00
Brad King
eacc728729 Merge topic 'enum_set-enhancements'
77ab2446d4 enum_set enhancements, step 2

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !10272
2025-02-02 07:23:15 -05:00
Marc Chevrier
77ab2446d4 enum_set enhancements, step 2
* remove support of size computation based on "magic" enum element because
  Oracle SunPro compilers crash on it.
* enhance handling of enum_set with explicit size.
2025-01-31 19:14:36 +01:00
Nikita Nemkin
718043b540 Help: Convert some literal blocks into tables and lists
Also, ensure that header-less tables have a top border in cmake.css.
2025-01-31 12:23:29 -05:00
Brad King
914d580a4f Utilities/Sphinx: Ignore warning in generated texinfo documentation 2025-01-31 12:23:29 -05:00
Marc Chevrier
35dafcb5a1 cmext/enum_set: add various enhancements to increase usability 2025-01-29 16:42:52 +01:00
Marc Chevrier
a3ae58c9c5 C++ features: add cm::is_scoped_enum from C++23 2025-01-28 17:52:36 +01:00
Kitware Robot
0b96ae1f6a Revise C++ coding style using clang-format with "east const"
Run the `clang-format.bash` script to update all our C and C++ code to a
new style defined by `.clang-format`, now with "east const" enforcement.
Use `clang-format` version 18.

* If you reached this commit for a line in `git blame`, re-run the blame
  operation starting at the parent of this commit to see older history
  for the content.

* See the parent commit for instructions to rebase a change across this
  style transition commit.

Issue: #26123
2025-01-23 13:09:50 -05:00
Kitware Robot
b2ba64add9 Revise C++ coding style using clang-format-18
Run the `clang-format.bash` script to update all our C and C++ code to a
new style defined by `.clang-format`.  Use `clang-format` version 18.

* If you reached this commit for a line in `git blame`, re-run the blame
  operation starting at the parent of this commit to see older history
  for the content.

* See the parent commit for instructions to rebase a change across this
  style transition commit.

Fixes: #26123
2025-01-23 11:43:06 -05:00
Brad King
e641442149 clang-format.bash: update to clang-format-18
The `.clang-format` configuration needs no changes to make the
version 18 format close to what version 15 produced before.

Issue: #26123
2025-01-23 11:42:52 -05:00
Brad King
93ee29964a libuv: Explicitly enable GNU APIs on Cygwin
Backport upstream libuv commit `17ea56ee73` build: Improve build by
cmake for Cygwin, 2023-01-20, v1.45.0~68) to define `_GNU_SOURCE`.
2025-01-15 15:20:15 -05:00