Commit Graph

57742 Commits

Author SHA1 Message Date
Brad King
c72f3fca56 Help: Drop development topic notes to prepare release
Release versions do not have the development topic section of
the CMake Release Notes index page.
2022-06-08 11:58:33 -04:00
Brad King
868218ea28 Merge topic 'doc-3.24-relnotes'
253941634c Help: Update Sphinx versionadded directives for 3.24 release
a811489b35 Help: Organize and revise 3.24 release notes
a3fc469882 Help: Consolidate 3.24 release notes

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7338
2022-06-08 11:57:16 -04:00
Brad King
aaf5353c47 Merge topic 'ci-nmc'
3ed06404bf gitlab-ci: add nightly job testing Ninja Multi-Config on Windows
e39acc2b3a gitlab-ci: add nightly job testing Ninja Multi-Config on macOS

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7337
2022-06-08 09:21:15 -04:00
Brad King
53d3e43c37 Merge topic 'set_source_files_properties'
2a37b7fd77 Help: Fix typo with misnamed set_source_files_property() in example

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7340
2022-06-08 09:15:19 -04:00
Brad King
253941634c Help: Update Sphinx versionadded directives for 3.24 release
Run the script:

    Utilities/Sphinx/update_versions.py --since v3.23.0 --overwrite
2022-06-08 09:07:21 -04:00
Brad King
a811489b35 Help: Organize and revise 3.24 release notes
Add section headers similar to the 3.23 release notes and move each
individual bullet into an appropriate section.  Revise a few bullets.
2022-06-08 09:07:21 -04:00
Dan Walsh
2a37b7fd77 Help: Fix typo with misnamed set_source_files_property() in example 2022-06-08 21:18:26 +10:00
Kitware Robot
252093c216 CMake Nightly Date Stamp 2022-06-08 00:01:17 -04:00
Brad King
a3fc469882 Help: Consolidate 3.24 release notes
Run the `Utilities/Release/consolidate-relnotes.bash` script to move
notes from `Help/release/dev/*` into `Help/release/3.24.rst`.
2022-06-07 15:05:57 -04:00
Brad King
3ed06404bf gitlab-ci: add nightly job testing Ninja Multi-Config on Windows 2022-06-07 12:38:50 -04:00
Brad King
e39acc2b3a gitlab-ci: add nightly job testing Ninja Multi-Config on macOS 2022-06-07 12:21:02 -04:00
Brad King
031fa14b7e Merge topic 'ci-ispc'
d14349c907 ci: Enable ISPC tests on Linux, Windows, and macOS nightly builds
49996faaac ci: remove ISPC from the Fedora CI image
3e791592ad gitlab-ci: init macOS and Windows jobs with per-CMAKE_CONFIGURATION scripts

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7336
2022-06-07 10:57:13 -04:00
Brad King
4224df9eac Merge topic 'rel-linux'
a4c48afbbc Utilities/Release: Drop unnecessary system API definitions for Linux

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7333
2022-06-07 10:56:08 -04:00
Brad King
bdd44eca9b Merge topic 'print-sources'
d8dcfa7776 Tests: Add tests for CMakePrintHelpers
b7ddfcfe08 cmake_print_properties(): Update grammar docs
e52b9e1270 PrintHelpers: Document argument order restriction
d87ed4d88f PrintHelpers: Fix indentation
5fa70e1738 PrintHelpers: Rewrite a few more error messages
2579503f45 PrintHelpers: Fix target SOURCES property

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7331
2022-06-07 10:55:29 -04:00
Brad King
4a7bb7b255 Merge topic 'FindPython-interpreter-search-strategy'
8de50bae84 FindPython*: enhance interpreter lookup

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7330
2022-06-07 10:53:22 -04:00
Brad King
cf34dfeee9 Merge topic 'tests-java-compiler-var'
fdeb237934 Tests: Use Java_JAVAC_EXECUTABLE variable consistently

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7327
2022-06-07 10:52:24 -04:00
Brad King
3536a8a52d Merge topic 'ext_disabled'
d5014741c9 Tests/CompileFeatures: Fix CMP0128OldSameStandard with default OFF

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7328
2022-06-07 10:51:14 -04:00
Kitware Robot
3d5402d1df CMake Nightly Date Stamp 2022-06-07 00:01:06 -04:00
Brad King
d14349c907 ci: Enable ISPC tests on Linux, Windows, and macOS nightly builds 2022-06-06 17:00:07 -04:00
Brad King
49996faaac ci: remove ISPC from the Fedora CI image
Revert commit 5ece12b7e4 (gitlab-ci: add ISPC to the Fedora CI image,
2020-08-18, v3.19.0-rc1~244^2).  Later we will download ISPC in specific
jobs.

Update a `RunCMake.NinjaMultiConfig` test expectation to account for
a change to the Qt deployed on Fedora 36.
2022-06-06 16:59:25 -04:00
Brad King
3e791592ad gitlab-ci: init macOS and Windows jobs with per-CMAKE_CONFIGURATION scripts
Apply the approach from commit 747940157f (gitlab-ci: init environment
with per-CMAKE_CONFIGURATION shell scripts, 2021-03-12,
v3.21.0-rc1~480^2~4) to macOS and Windows too.
2022-06-06 13:52:30 -04:00
FeRD (Frank Dana)
d8dcfa7776 Tests: Add tests for CMakePrintHelpers
Add three tests in Tests/RunCMake/PrintHelpers, meant to verify
basic functionality of the module. Tests are:

* Variables: Test the results of a cmake_print_variables()
  call on two variables set within the test script.

* Properties: Test cmake_print_properties() calls on a pair
  of SOURCES and a pair of TARGETS, printing some basic properties.

* PropertiesSources: Specifically verify the results of a
  cmake_print_properties() call for the SOURCES property of a
  TARGET. Prior to the fix introduced alongside these tests, it
  was a known bug that such a request caused a FATAL_ERROR.
2022-06-06 12:27:11 -04:00
FeRD (Frank Dana)
b7ddfcfe08 cmake_print_properties(): Update grammar docs 2022-06-06 12:27:11 -04:00
FeRD (Frank Dana)
e52b9e1270 PrintHelpers: Document argument order restriction 2022-06-06 12:27:11 -04:00
FeRD (Frank Dana)
d87ed4d88f PrintHelpers: Fix indentation 2022-06-06 12:27:11 -04:00
FeRD (Frank Dana)
5fa70e1738 PrintHelpers: Rewrite a few more error messages 2022-06-06 12:27:09 -04:00
FeRD (Frank Dana)
2579503f45 PrintHelpers: Fix target SOURCES property
It's been a long-standing bug in CMakePrintHelpers that the
cmake_print_properties() function cannot print the SOURCES
property of a requested TARGET, confusing it with a request
to print properties of SOURCES.

We work around this by parsing the arguments in two stages,
so that a SOURCES that comes after the PROPERTIES keyword
is handled differently from a SOURCES that comes before it.

This adds the restriction that the "mode" keyword (TARGETS
SOURCES DIRECTORIES etc...) and its arguments **must** precede
the PROPERTIES keyword and its arguments. In other words:

1. Both of these are now valid and will be interpreted correctly,
   whereas previously only the first was, and the second caused
   a FATAL_ERROR:

   cmake_print_properties(SOURCES foo.c PROPERTIES LANGUAGE)
   cmake_print_properties(TARGETS foo PROPERTIES SOURCES)

2. This, OTOH, which used to be valid, no longer is, and will
   trigger a FATAL_ERROR:

   cmake_print_properties(PROPERTIES LANGUAGE SOURCES foo.c)

Fixes: #14883
2022-06-06 12:25:51 -04:00
Brad King
a4c48afbbc Utilities/Release: Drop unnecessary system API definitions for Linux
We previously defined `_POSIX_C_SOURCE` and friends while building
binary packages in order to minimize the version of glibc needed at
runtime.  The definitions were added by commit facc240a45
(Utilities/Release: Add docker specs to build and test Linux binaries,
2019-08-23, v3.16.0-rc1~184^2~2), but came from older packaging scripts
that were removed by commit 689fdbfc61 (Utilities/Release: Drop linux64
script in favor of docker build, 2019-08-27, v3.16.0-rc1~184^2).  Those
older scripts were meant for use in a hand-maintained environment.  Now
that we use base images of old CentOS versions to establish the build
environment, our builds are already limited to older glibc versions
(glibc 2.12 from centos6 on x86_64, and 2.17 from centos7 on aarch64).

Our old system API definitions no longer affect the glibc version
required by the binaries.  Drop them to avoid potential conflicts with
system API definitions added by changes like commit f034b0f663 (CMake
compilation: do not use compiler extensions, 2020-03-14, v3.18.0-rc1~494^2)
and commit c7c3e39e4f (Utilities: Activate POSIX APIs even without
compiler extensions, 2022-06-02).
2022-06-06 11:44:53 -04:00
Brad King
ab1edff492 Merge topic 'if-command-PATH_EQUAL'
be4b9e10af if command: Add PATH_EQUAL operator

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !7321
2022-06-06 09:47:45 -04:00
Brad King
9fdade1d6b Merge topic 'c-no-extensions'
c7c3e39e4f Utilities: Activate POSIX APIs even without compiler extensions
3ba324b6b6 libarchive: Remove a system preprocessor macro that conflicts with a local var
4a283fcc31 librhash: Explicitly enable large file support on 32-bit targets

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7320
2022-06-06 09:46:34 -04:00
Craig Scott
efe918fdba Merge topic 'doc-find_package-formatting'
afcf275cc9 Help: Fix formatting and missing cross-reference for find_package()

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7329
2022-06-06 07:09:02 -04:00
Kitware Robot
817d88571a CMake Nightly Date Stamp 2022-06-06 00:02:17 -04:00
Marc Chevrier
8de50bae84 FindPython*: enhance interpreter lookup
Fixes: #23588
2022-06-05 14:44:04 +02:00
Craig Scott
afcf275cc9 Help: Fix formatting and missing cross-reference for find_package()
Amends 42f7e39789 (Find: Support per call disabling of
CMAKE_INSTALL_PREFIX, 2022-03-21)
2022-06-05 17:55:50 +10:00
Kitware Robot
2a56c24039 CMake Nightly Date Stamp 2022-06-05 00:01:12 -04:00
Raul Tambre
d5014741c9 Tests/CompileFeatures: Fix CMP0128OldSameStandard with default OFF
With CMP0128 OLD compiler extensions are enabled by default regardless of the
compiler's default.
Fix the test to always check for the extension flag as it was intended to.

Fixes: 4a0485be7f (cmStandardLevelResolver: Avoid
unnecessary flags, fix unset level logic, 2021-04-29)
2022-06-04 18:40:21 +03:00
Brad King
c7c3e39e4f Utilities: Activate POSIX APIs even without compiler extensions
Compile some third-party libraries with preprocessor definitions that
activate POSIX APIs even when compiler extensions are not enabled.
We already do this in libuv, inherited from the upstream buildsystem.

This extends commit f034b0f663 (CMake compilation: do not use compiler
extensions, 2020-03-14, v3.18.0-rc1~494^2).

Issue: #20454
2022-06-04 09:08:27 -04:00
Brad King
3ba324b6b6 libarchive: Remove a system preprocessor macro that conflicts with a local var
On SunOS i386, the system headers sometimes define macro names
corresponding to register names, short and with no prefix.
Undefine one that conflicts with our code.
2022-06-04 08:15:20 -04:00
Brad King
4a283fcc31 librhash: Explicitly enable large file support on 32-bit targets
`_LARGEFILE_SOURCE` is needed at least on SunOS i386 if compiler
extensions are not enabled.
2022-06-04 08:15:20 -04:00
Brad King
007181a165 Merge topic 'update-kwsys'
1869f82823 Merge branch 'upstream-KWSys' into update-kwsys
6b88084658 KWSys 2022-06-03 (c28e27bc)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7322
2022-06-04 08:14:09 -04:00
Brad King
d8e5d9240c Merge topic 'test-ExternalProject-fs-delay'
e46e4ee96a Tests: Fix RunCMake.ExternalProject filesystem delay for Borland Makefiles

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7323
2022-06-04 08:13:20 -04:00
Brad King
3b371e1dff Merge topic 'help-genex-updates'
6427902713 Help: genex: layout updates

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7324
2022-06-04 08:12:39 -04:00
Brad King
c2b1534b77 Merge topic 'doc-add_custom_command-TARGET'
8cf8f4d13b Help: State behavior for add_custom_command(TARGET) without event type

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7326
2022-06-04 08:11:49 -04:00
Craig Scott
fdeb237934 Tests: Use Java_JAVAC_EXECUTABLE variable consistently
In certain specific scenarios, it is possible to end up with JAVA_COMPILE
being unset, but Java_JAVAC_EXECUTABLE being set. This typically occurs
when running different versions of CMake in the same build directory
without deleting the CMakeCache.txt each time. This can result in an
obscure error about the wrong number of arguments to the
get_filename_component() command, but the real cause is the
JAVA_COMPILE variable being unset.

The JAVA_COMPILE variable is only set by the FindJava module, and it
is a legacy variable that has been superceded by Java_JAVAC_EXECUTABLE.
The latter is what the if() expression tests, so use that same variable in
the body of the if() block for consistency and to avoid the above problem.
2022-06-04 19:47:50 +10:00
Craig Scott
8cf8f4d13b Help: State behavior for add_custom_command(TARGET) without event type
Projects should always have specified one of PRE_BUILD, PRE_LINK or
POST_BUILD, and the documentation has always shown that one must
be given. But the argument parsing logic was such that if none was given,
POST_BUILD would be used and no error or warning would be raised.
Projects may be relying on this behavior, so document it as formally
supported, but not recommended.

Fixes: #23488
2022-06-04 18:35:37 +10:00
Kitware Robot
cc2c5d4eb5 CMake Nightly Date Stamp 2022-06-04 00:01:09 -04:00
Marc Chevrier
be4b9e10af if command: Add PATH_EQUAL operator 2022-06-03 19:31:36 +02:00
Marc Chevrier
6427902713 Help: genex: layout updates
* create section for version comparisons
* move $<LINK_LIBRARY> and $<LINK_GROUP> to "Output-Related Expressions" section
2022-06-03 16:56:58 +02:00
Brad King
0aa0b8e146 Merge branch 'release-3.23' 2022-06-03 09:46:18 -04:00
Brad King
0faf485de2 Merge topic 'ci-ninja-1.11.0'
62689fcf9c ci: update to use ninja 1.11.0

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7319
2022-06-03 09:46:18 -04:00