Commit Graph

6904 Commits

Author SHA1 Message Date
Brad King
7956b1f7b1 Merge topic 'fix_tutorial_step7_solution_text'
a8679c997d Tutorial: Extend literal include to contain full code changes in solution

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8563
2023-06-16 07:49:18 -04:00
Markus Ferrell
a8679c997d Tutorial: Extend literal include to contain full code changes in solution
The solution for step 7 todo 5 did not include all of the code changes.
Modify it to include the needed `#endif` code change.
2023-06-15 09:29:16 -04:00
Brad King
ed37038a1c Merge topic 'cross-compiling-emulator-env-var'
7005dea005 CrossCompiling: Load CMAKE_CROSSCOMPILING_EMULATOR from environment

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !8543
2023-06-14 09:18:45 -04:00
Brad King
e06b2a526c Merge topic 'remove-vs11-generator'
536c1de1d4 Drop Visual Studio 11 2012 generator
f444f172c3 cmVisualStudio10TargetGenerator: Remove unused VS-10-only code

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8562
2023-06-14 09:17:53 -04:00
Brad King
67e6b96ff4 Merge topic 'doc-genex-TARGET_RUNTIME_DLL_DIRS'
acce355673 Help: Add 3.27 release note for TARGET_RUNTIME_DLL_DIRS

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8558
2023-06-14 09:13:51 -04:00
Brad King
536c1de1d4 Drop Visual Studio 11 2012 generator
This generator has been deprecated since CMake 3.25.  Remove it.
2023-06-13 14:20:48 -04:00
Matt McCormick
7005dea005 CrossCompiling: Load CMAKE_CROSSCOMPILING_EMULATOR from environment
Read `CMAKE_CROSSCOMPILING_EMULATOR` from an environment variable of the
same name if not specified with `-D` or an initial cache value.

Along with existing environment variable settings such as
`CMAKE_TOOLCHAIN_FILE`, cross compilation configuration can be more
completely set via environment variables.

Suggested-by: Henry Schreiner <henryschreineriii@gmail.com>
2023-06-13 13:58:44 -04:00
Brad King
acce355673 Help: Add 3.27 release note for TARGET_RUNTIME_DLL_DIRS
This was accidentally left out of commit 2ce3d62ffb (Help: add
documentation for the new TARGET_RUNTIME_DLL_DIRS genex, 2023-02-26,
v3.27.0-rc1~400^2~2).
2023-06-13 10:59:28 -04:00
Brad King
db92b8d401 Merge topic 'FindCUDAToolkit-cupti-nvperf'
f9579ffaa6 FindCUDAToolkit: Add cupti nvperf and pcsampling targets

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8545
2023-06-08 10:48:10 -04:00
Robert Maynard
f9579ffaa6 FindCUDAToolkit: Add cupti nvperf and pcsampling targets 2023-06-07 13:58:09 -04:00
Brad King
bb08c70e01 Begin post-3.27 development 2023-06-06 13:38:04 -04:00
Brad King
d3f07fbb9d Help: Drop development topic notes to prepare release
Release versions do not have the development topic section of
the CMake Release Notes index page.
2023-06-06 13:36:21 -04:00
Brad King
5e77c6e558 Merge topic 'doc-3.27-relnotes'
6bc97b453c Help: Update Sphinx versionadded directives for 3.27 release
78d2c9fef0 Help: Organize and revise 3.27 release notes
e6bcda8c39 Help: Consolidate 3.27 release notes

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8539
2023-06-06 13:31:07 -04:00
Brad King
6bc97b453c Help: Update Sphinx versionadded directives for 3.27 release
Run the script:

    Utilities/Sphinx/update_versions.py --since v3.26.0 --overwrite

Manually remove directives added to new documentation of existing
environment variables.
2023-06-06 13:18:16 -04:00
Brad King
78d2c9fef0 Help: Organize and revise 3.27 release notes
Add section headers similar to the 3.26 release notes and move each
individual bullet into an appropriate section.  Revise a few bullets.
2023-06-06 11:15:19 -04:00
Kyle Edwards
36ec89639a VERIFY_INTERFACE_HEADER_SETS: Skip header files that have SKIP_LINTING
Fixes: #24972
2023-06-06 10:45:22 -04:00
Brad King
e6bcda8c39 Help: Consolidate 3.27 release notes
Run the `Utilities/Release/consolidate-relnotes.bash` script to move
notes from `Help/release/dev/*` into `Help/release/3.27.rst`.
2023-06-05 11:13:54 -04:00
Brad King
3760ac9845 Merge topic 'file-api-query-command'
99b2ccf80d cmake_file_api: New project command

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8530
2023-06-05 09:45:02 -04:00
Brad King
7838ae4fd8 Merge topic 'ctest-timeout-signal'
54c5654f7d ctest: Optionally terminate tests with a custom signal on timeout
e38c05688e CTest/cmProcess: Adopt field tracking reason for the process timeout
25c1468314 cmCTestTestHandler: Remove outdated comment
41e8507ab7 IWYU: Add mapping for bits/chrono.h to chrono

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8472
2023-06-05 06:33:36 -04:00
Craig Scott
99b2ccf80d cmake_file_api: New project command
Projects can use the new command to request file API replies for the current
run. No query files are generated, the query is tracked internally. Replies are
created in the file system at generation time in the usual way.

Fixes: #24951
2023-06-05 06:20:50 -04:00
Brad King
54c5654f7d ctest: Optionally terminate tests with a custom signal on timeout
CTest normally terminates test processes on timeout using `SIGKILL`.
Offer tests a chance to exit gracefully, on platforms supporting POSIX
signals, by setting `TIMEOUT_SIGNAL_{NAME,GRACE_PERIOD}` properties.

Fixes: #17288
2023-06-02 06:51:13 -04:00
Ben Boeckel
0183e1bca3 cxxmodules: remove CMAKE_EXPERIMENTAL_CXX_MODULE_DYNDEP variable
It is now subsumed by the UUID setting completely.
2023-06-01 14:43:26 -04:00
Brad King
f6435f799e Merge topic 'automoc-moc-options-test'
1f4b374d6e cmQtAutoGenInitializer: Reduce string copies
b6f66b445a cmQtAutoGenInitializer: Remove no-op calls
55d93bdabf cmQtAutoGenInitializer: Improve const correctness
feb56a666f cmTarget: Improve const correctness of AddUtility
5e513e562f Help: Add AUTOMOC_MOC_OPTIONS example
5380ad9d58 Tests: Add test for AUTOMOC_MOC_OPTIONS

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8523
2023-06-01 11:19:19 -04:00
Orkun Tokdemir
5e513e562f Help: Add AUTOMOC_MOC_OPTIONS example 2023-05-31 12:59:28 -04:00
Ben Boeckel
7b62a83c6f cxxmodules: update the experimental UUID
Syntactic support for C++ header units has been removed, so a new UUID
is warranted.
2023-05-31 10:57:11 -04:00
Ben Boeckel
6ff5cdc533 cxxmodules: remove support for CXX_MODULE_HEADER_UNITS filesets
There's no backing implementation for header units anyways, so just
remove it for now.
2023-05-31 10:57:11 -04:00
Brad King
5b063510f9 Merge topic 'cmake-verbose-print-build-tool-command'
8451a3f0b5 cmGlobalGenerator: use a stream for output in `Build`
e060666531 cmake: write the build command itself with `--verbose`
b017c9f127 cmGlobalGenerator: fix off-by-one for `&&` command joining
c715fd8d76 cmGlobalGenerator: quote commands in `::Build` output
d6c0e827bc cmGlobalGenerator: add a `QuotedPrintable` method for commands
28ee3bef34 cmGlobalGenerator: add missing spaces in output
465ab8d872 cmGlobalGenerator: use `cmStrCat` in `::Build`
81d45dabc4 cmOutputConverter: add a `static` version of `EscapeForShell`

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Acked-by: Alex <leha-bot@yandex.ru>
Merge-request: !8183
2023-05-31 09:33:26 -04:00
Brad King
3332fdab9d Merge topic 'help-importing-exporting-lib'
aef057d0e8 Help/guide: fix MathFunctionsTargets.cmake path in importing-exporting

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !8511
2023-05-31 09:27:05 -04:00
Glen Chung
a9a592f96e cmake: Add debugger
- Depends on cppdap and jsoncpp.
- Add --debugger argument to enable the Debugger.
- Add --debugger-pipe argument for DAP traffics over named pipes.
- Support breakpoints by filenames and line numbers.
- Support exception breakpoints.
- Call stack shows filenames and line numbers.
- Show Cache Variables.
- Show the state of currently defined targets,
  tests and directories with their properties.
- Add cmakeVersion to DAP initialize response.
- Include unit tests.

Co-authored-by: Ben McMorran <bemcmorr@microsoft.com>
2023-05-30 09:46:12 -04:00
Olivier Blin
aef057d0e8 Help/guide: fix MathFunctionsTargets.cmake path in importing-exporting
It is using ${CMAKE_INSTALL_LIBDIR} and an extra "/MathFunctions" path
suffix since these commits:
- e58a76de51 Help/guide: fix importing-exporting CMake install destinations
- 26cf661b64 Help/guide: use GNUInstallDirs in importing-exporting example
2023-05-26 17:40:19 +02:00
Brad King
023de565d3 Optionally exclude implicit link directories via environment
A misconfigured compiler may pass extraneous implicit link directories
to its linker.  If they are in `CMAKE_<LANG>_IMPLICIT_LINK_DIRECTORIES`,
CMake may generate extra `-L` flags on mixed-language link lines that
break linking.  Add an environment variable that users can set to work
around such misconfiguration of their compilers.
2023-05-25 13:42:58 -04:00
Brad King
d491ea1973 Merge topic 'ep-update-disconnected'
8cc45e150a ExternalProject: Make hg download method respect UPDATE_DISCONNECTED
1512dc43cb ExternalProject: Avoid reconfigure when updates are disconnected
1d29cf37a1 Tests: Reduce warning noise in ExternalProjectUpdate test

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8498
2023-05-23 11:06:19 -04:00
Brad King
77aaf1b04a Merge topic 'help_configure_file'
b2b97d015e Help: configure_file: add $CACHE{VAR} and $ENV{VAR} to description

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8500
2023-05-23 11:02:43 -04:00
Craig Scott
1512dc43cb
ExternalProject: Avoid reconfigure when updates are disconnected
When UPDATE_DISCONNECTED is true, create separate update_disconnected
and patch_disconnected targets which have ALWAYS set to false.
Make the configure step depend on patch_disconnected in this case too.
This ensures the configure, build, install and test steps are not
executed unnecessarily when updates are disconnected.

Make the update and patch commands depend on the details of those
steps. This ensures they are re-executed when any of those details
change, even if updates are disconnected.

Allow updates to occur even if UPDATE_DISCONNECTED is true, but don't
contact the remote in that case. If asked to update to a ref that isn't known
locally, that is now detected and causes a fatal error when updates are
disconnected. Previously, the build would have silently and erroneously
continued to use the old ref.

Fixes: #16419, #19703, #21146
2023-05-23 22:39:44 +10:00
Brad King
04b0d5c862 codespell: Fix typos 2023-05-22 16:51:15 -04:00
Torsten Rasmussen
b2b97d015e Help: configure_file: add $CACHE{VAR} and $ENV{VAR} to description
The configure_file(...) and string(CONFIGURE ...) functions also
substitutes variables of the form: $CACHE{VAR} and $ENV{VAR}.

Therefore add this information to the help documentation so that this
behavior is described to users
2023-05-22 12:46:04 -04:00
Brad King
7e68e5cf25 Merge topic 'doc-mingw-var'
c16f5914f3 Help: Clarify meaning of MINGW variable

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8495
2023-05-22 12:36:38 -04:00
Brad King
dc4a53f49e Merge topic 'FileAPI-framework'
b3a6a11e95 fileapi: Extend codemodel targets/compileGroups with Apple frameworks

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !8489
2023-05-22 12:35:28 -04:00
Brad King
c16f5914f3 Help: Clarify meaning of MINGW variable
Fixes: #24928
2023-05-19 09:24:46 -04:00
Brad King
9a7ce875c8 Merge topic 'doc-skip-linting'
652a785311 Help: Wording, formatting and ordering fixes for SKIP_LINTING docs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8493
2023-05-19 08:51:31 -04:00
Marc Chevrier
b3a6a11e95 fileapi: Extend codemodel targets/compileGroups with Apple frameworks
Fixes: #19897
2023-05-19 12:10:20 +02:00
Craig Scott
949dcdb3bc
Help: Clarify PRE_BUILD option for add_custom_command()
Fixes: #24889
2023-05-19 12:40:36 +10:00
Craig Scott
652a785311
Help: Wording, formatting and ordering fixes for SKIP_LINTING docs
Amends b480315e0c (TargetGenerator: Add SKIP_LINTING source property,
2023-05-12).
2023-05-19 12:29:06 +10:00
Brad King
5056a224dc Merge branch 'release-3.26' 2023-05-18 14:34:22 -04:00
Brad King
0926ed1f69 CMake 3.26.4 2023-05-18 13:49:44 -04:00
Brad King
4d5c32fa2c Merge topic 'skip-linting'
775c369420 Autogen: set SKIP_LINTING ON for generated files
b480315e0c TargetGenerator: Add SKIP_LINTING source property
993dde925f TargetGenerator: Factor out generation of code check rules
023af4ab2f Improve Const Correctness

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8467
2023-05-18 09:24:17 -04:00
Ben Boeckel
e060666531 cmake: write the build command itself with --verbose 2023-05-16 12:48:20 -04:00
Orkun Tokdemir
b480315e0c TargetGenerator: Add SKIP_LINTING source property
The `SKIP_LINTING` source property was added to disable code check for
desired source files. The `SKIP_LINTING`includes `cpplint`, `clang-tidy`, \
`cppcheck` and `include-what-you-use`. If `SKIP_LINTING` is set on a
source file, the tools mentioned above will not be run on that source file.
2023-05-16 10:47:56 -04:00
Marc Chevrier
99f8505fda Help: Update SYSTEM oriented target properties for Apple Frameworks
This is a complement to !8469.
2023-05-14 15:22:27 +02:00
Marc Chevrier
ad9020a899 Apple Frameworks: honor SYSTEM target property
Fixes: #24109
2023-05-11 10:24:18 +02:00