Commit Graph

64104 Commits

Author SHA1 Message Date
namniav
7fc6d7247a Help: Fix signature of add_library(<name> INTERFACE EXCLUDE_FROM_ALL)
This signature was added by commit 4391913133 (Add INTERFACE libraries
to generated buildsystem if they have SOURCES, 2020-07-20,
v3.19.0-rc1~346^2~1) with incorrect documentation.

Previously the documented signature as:

    add_library(<name> INTERFACE [<source>...] [EXCLUDE_FROM_ALL])

which is incorrect.  CMake would recognize `EXCLUDE_FROM_ALL` as a source
file and report an error that it doesn't exists.

The correct signature is:

    add_library(<name> INTERFACE [EXCLUDE_FROM_ALL] [<source>...])

which places `EXCLUDE_FROM_ALL` in the same position used by the
documentation of other signatures.

Fixes: #25463
2023-12-04 10:37:01 -05:00
Brad King
714a946781 Merge topic 'uv-handle-bool'
47fbb29ad7 cmUVHandlePtr: Fix conversion to bool on Oracle Studio compiler

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9024
2023-12-03 08:29:20 -05:00
Kitware Robot
02c63208d8 CMake Nightly Date Stamp 2023-12-03 00:01:09 -05:00
Brad King
47fbb29ad7 cmUVHandlePtr: Fix conversion to bool on Oracle Studio compiler
The operator added by commit 17690558c3 (cmUVHandlePtr: Add explicit
conversion to bool, 2023-10-26) works in direct expressions like
`if(foo)` but not compound expressions like `if(foo && ...)`.
Drop the `explicit` mark when compiling with Oracle Studio so we
can at least compile valid code.
2023-12-02 06:37:40 -05:00
Kitware Robot
c01cadc664 CMake Nightly Date Stamp 2023-12-02 00:01:10 -05:00
Brad King
0e11e24ecd Merge topic 'FindPerl-doc'
aca215fbe0 FindPerl: Fix documentation word order
dc3f264f9d FindPerl: Improve documentation formatting

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9020
2023-12-01 09:07:10 -05:00
Brad King
ce0835beee Merge topic 'adsp-on-linux'
33e6862cbc ADSP: Allow progress with CMAKE_ADSP_ROOT unset
85e25451af ADSP: Add /opt/analog/cces to  _find_adsp_root()'s search space
04d8a39e5c ADSP: Use find_program() to get path to cc21k/ccblkfn
7883178cae ADSP: Use $CMAKE_EXECUTABLE_SUFFIX in COMPILER_NAME

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9016
2023-12-01 09:05:55 -05:00
Brad King
b52f824577 Merge topic 'xcode-embed-xpc-services'
2b4bb43ed3 Xcode: Add support to embed XPC Services

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9006
2023-12-01 09:05:00 -05:00
Kitware Robot
67592a29bc CMake Nightly Date Stamp 2023-12-01 00:01:09 -05:00
Brad King
69f0dd42b0 Merge topic 'doc-ctest-dir'
12ae3fa0b6 Help: Document that ctest(1) --test-dir was added in 3.20

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9019
2023-11-30 13:51:34 -05:00
Brad King
fba2d0b02c Merge branch 'release-3.28' 2023-11-30 13:42:46 -05:00
polarbub
aca215fbe0 FindPerl: Fix documentation word order 2023-11-30 13:32:41 -05:00
Brad King
8bd78627dd CMake 3.28.0-rc6 v3.28.0-rc6 2023-11-30 13:13:15 -05:00
Brad King
770b8aa6f2 Merge branch 'release-3.28' 2023-11-30 13:09:06 -05:00
Brad King
3496cb3a00 Merge topic 'execute_process-no-extension'
f6d2efa752 Tests: Add case to cover execute_process support for no extension on Windows
da9df7425a libuv: win/spawn: run executables with no file extension

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: scivision <michael@scivision.dev>
Merge-request: !9017
2023-11-30 13:09:06 -05:00
Brad King
e1df218f4b Merge topic 'execute_process-no-extension' into release-3.28
f6d2efa752 Tests: Add case to cover execute_process support for no extension on Windows
da9df7425a libuv: win/spawn: run executables with no file extension

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: scivision <michael@scivision.dev>
Merge-request: !9017
2023-11-30 13:09:05 -05:00
Josh Channings
33e6862cbc ADSP: Allow progress with CMAKE_ADSP_ROOT unset
This is a behavior change. You can still set ADSP_ROOT/CMAKE_ADSP_ROOT
to hint the find_program() invocations for the CCES binaries, but it is
no longer necessary if they are already in PATH.

The reason is: CMAKE_ADSP_ROOT is only used to find the binaries. If
they are in PATH, there is no need to supply the root path. If they are
not in PATH, you can hint still hint it as before.

The other option would be to use find_path() to get CMAKE_ADSP_ROOT from
the path to one of the bins, but that would be convoluted and pointless.

There are some circumstances where the binaries are available, but the
ADSP install is not. For example, from my own dev environment:

https://github.com/joshchngs/macos-sharc-tools

Here, the `cc21k` et. al. binaries are actually shell scripts which
launch the real binary inside a running VM.
2023-11-30 16:49:03 +00:00
Josh Channings
85e25451af ADSP: Add /opt/analog/cces to _find_adsp_root()'s search space
This is the default install location on Linux.
2023-11-30 16:49:03 +00:00
Josh Channings
04d8a39e5c ADSP: Use find_program() to get path to cc21k/ccblkfn
This still uses CMAKE_ADSP_ROOT as the PATHS argument, so the same
behavior should be retained - but now the Platform will work without
needing to supply the root, if the binaries are already in $PATH.
2023-11-30 16:49:00 +00:00
polarbub
dc3f264f9d FindPerl: Improve documentation formatting
Also modernize some wording.
2023-11-30 11:42:18 -05:00
Kyle Edwards
f6d2efa752 Tests: Add case to cover execute_process support for no extension on Windows
Issue: #25450
2023-11-30 09:59:36 -05:00
Kyle Edwards
da9df7425a libuv: win/spawn: run executables with no file extension
Backport this commit from libuv PR 4241 to restore `execute_process()`
support for running executables on Windows with no file extension.

Fixes: #25450
2023-11-30 09:59:36 -05:00
Brad King
8d6dcaa4b0 Merge topic 'LINK_LIBRARY-genex-with-INTERFACE_LINK_LIBRARIES_DIRECT'
9798482a8c LINK_LIBRARY-genex: correct behavior for INTERFACE_LINK_LIBRARIES_DIRECT

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !8992
2023-11-30 09:08:53 -05:00
Brad King
d56de8ae46 Merge topic 'remove-non-readable-dir'
9718c312b6 Tests: Avoid leaving behind non-readable directories
2e82ba70b3 Tests: Avoid creating world-writable paths
5589bcb1bf Tests: Fix directory removal in RunCMake.if test
165bf3252f Merge branch 'upstream-KWSys' into remove-write-only-dir
22a759b5b5 KWSys 2023-11-29 (433f3d23)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9015
2023-11-30 09:07:02 -05:00
Brad King
c6504b3c61 Merge branch 'release-3.28' 2023-11-30 09:05:54 -05:00
Brad King
a1dcc36f65 Merge topic 'rpm-quoting'
5123e9e160 ci: unmask RPM tests on Fedora 39
bf22ac5263 CPack/RPM: Quote paths in rpm spec only if they have whitespace
75ea6207b7 CPack/RPM: Factor out helper to quote paths in generated rpm spec

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9005
2023-11-30 09:05:54 -05:00
Brad King
6a49dc0391 Merge topic 'rpm-quoting' into release-3.28
5123e9e160 ci: unmask RPM tests on Fedora 39
bf22ac5263 CPack/RPM: Quote paths in rpm spec only if they have whitespace
75ea6207b7 CPack/RPM: Factor out helper to quote paths in generated rpm spec

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9005
2023-11-30 09:05:53 -05:00
Brad King
fb0fe889a5 Merge branch 'release-3.28' 2023-11-30 09:03:51 -05:00
Brad King
6f936245c2 Merge topic 'ccmake-install-rds-crash'
d01120a47a cmGlobalGenerator: clear RuntimeDependencySet members at configure

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9013
2023-11-30 09:03:51 -05:00
Brad King
d2167f7224 Merge topic 'ccmake-install-rds-crash' into release-3.28
d01120a47a cmGlobalGenerator: clear RuntimeDependencySet members at configure

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9013
2023-11-30 09:03:50 -05:00
scivision
12ae3fa0b6 Help: Document that ctest(1) --test-dir was added in 3.20 2023-11-30 08:58:44 -05:00
Kitware Robot
8b16e718b2 CMake Nightly Date Stamp 2023-11-30 00:01:08 -05:00
Jonathan Earnshaw
2b4bb43ed3 Xcode: Add support to embed XPC Services 2023-11-30 10:09:34 +13:00
Josh Channings
7883178cae ADSP: Use $CMAKE_EXECUTABLE_SUFFIX in COMPILER_NAME
The binaries are obviously not .exe-suffixed on Linux
2023-11-29 19:03:40 +00:00
Ben Boeckel
5123e9e160 ci: unmask RPM tests on Fedora 39 2023-11-29 12:47:45 -05:00
Brad King
bf22ac5263 CPack/RPM: Quote paths in rpm spec only if they have whitespace
RPM supports either whitespace with quoting or globbing without quoting.
Prior to RPM 4.19 it accepted globbing in quotes, but it only globbed
correctly without whitespace, where quoting was not necessary anyway.
Starting in RPM 4.19, glob characters in quotes are considered literal.

Fixes: #25421
Inspired-by: Ben Boeckel <ben.boeckel@kitware.com>
See: d44114f007
2023-11-29 12:47:20 -05:00
Brad King
75ea6207b7 CPack/RPM: Factor out helper to quote paths in generated rpm spec 2023-11-29 12:27:31 -05:00
Marc Chevrier
9798482a8c LINK_LIBRARY-genex: correct behavior for INTERFACE_LINK_LIBRARIES_DIRECT
Fixes: #25416
2023-11-29 11:26:52 -05:00
Ben Boeckel
d01120a47a cmGlobalGenerator: clear RuntimeDependencySet members at configure
Commit f2617cf8e6 (Source: Add cmInstallRuntimeDependencySet,
2021-05-19) introduced via !6186 to 3.21 added storage to the global
generator for runtime dependency sets. However, this was not cleared at
the start of configure in the `ClearGeneratorMembers()` method. When
using `ccmake` to configure (and, presumably `cmake-gui` too), projects
using `install(TARGETS … RUNTIME_DEPENDENCY_SET)` would use dependency
set tracking instances from previous configure runs that held references
to targets free'd with the `cmMakefile` instance that held them.

Clear the dependency sets at the beginning of configure so that they are
not remembered and trigger via use-after-free bugs when used.

Fixes: #25446
2023-11-29 08:34:21 -05:00
Brad King
9718c312b6 Tests: Avoid leaving behind non-readable directories
Since commit 337bc5662c (if(): add operators IS_READABLE, IS_WRITABLE
and IS_EXECUTABLE., 2023-10-21) we create some non-readable directories.
CMake 3.28 and below do not know how to delete them, so some nightly
builds fail ctest_empty_binary_directory.  Add read permission to those
directories when we are finished with them.
2023-11-29 07:55:09 -05:00
Brad King
2e82ba70b3 Tests: Avoid creating world-writable paths
These were added by commit 337bc5662c (if(): add operators IS_READABLE,
IS_WRITABLE and IS_EXECUTABLE., 2023-10-21) but are not actually
necessary.
2023-11-29 07:55:03 -05:00
Brad King
5589bcb1bf Tests: Fix directory removal in RunCMake.if test 2023-11-29 07:54:58 -05:00
Brad King
165bf3252f Merge branch 'upstream-KWSys' into remove-write-only-dir
# By KWSys Upstream
* upstream-KWSys:
  KWSys 2023-11-29 (433f3d23)
2023-11-29 07:54:36 -05:00
KWSys Upstream
22a759b5b5 KWSys 2023-11-29 (433f3d23)
Code extracted from:

    https://gitlab.kitware.com/utils/kwsys.git

at commit 433f3d23ffa37f8fa6dd42468933f36c28a9e7fa (master).

Upstream Shortlog
-----------------

Brad King (1):
      9f9ff427 SystemTools: Teach RemoveADirectory to handle non-readable directories
2023-11-29 07:54:35 -05:00
Brad King
245e111269 Merge branch 'release-3.28' 2023-11-29 07:51:42 -05:00
Brad King
baafd7a874 Merge topic 'cxxmodules-diagnostics'
cbd549b09e cxxmodules: Add more suggestions to no-modules-support diagnostics

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !9011
2023-11-29 07:51:42 -05:00
Brad King
1b82da7e15 Merge topic 'cxxmodules-diagnostics' into release-3.28
cbd549b09e cxxmodules: Add more suggestions to no-modules-support diagnostics

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !9011
2023-11-29 07:51:41 -05:00
Brad King
430e3176b3 Merge branch 'release-3.28' 2023-11-29 07:50:04 -05:00
Brad King
91d3fe1638 Merge topic 'xcode-embed-resources'
6030df205a Xcode: Fix embed resources prop name

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Deal <halx99@live.com>
Merge-request: !9008
2023-11-29 07:50:04 -05:00
Brad King
503aa3c3cc Merge topic 'xcode-embed-resources' into release-3.28
6030df205a Xcode: Fix embed resources prop name

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Deal <halx99@live.com>
Merge-request: !9008
2023-11-29 07:50:02 -05:00