1
0
mirror of https://github.com/Kitware/CMake.git synced 2025-10-18 08:51:52 +08:00
Commit Graph

78 Commits

Author SHA1 Message Date
Bastien Montagne
3a9d56d2c7 Ninja: Add support for per-source JOB_POOL_COMPILE property
This commit allows to override a global or target-wide 'job pool'
property on a per-source basis.

It modifies the Ninja generator to first look into the source's
properties, and only use the target properties as a fallback.

The new `source` parameter to
`cmNinjaTargetGenerator::addPoolNinjaVariable` may be null, e.g. when
the function is called in context where there is no source (e.g. a
linking task).

Closes: #23994
2025-07-16 21:16:24 +02:00
Bastien Montagne
44bf494fe6 Help: Global SPLIT_JOBS: reformat usages into a list. 2025-07-16 20:31:32 +02:00
Alex Turbov
9784834b4c Help: Use *.rst extension for included files
So, editor(s) can correctly highlight the RST syntax in the included files.
2025-04-14 03:07:46 +04:00
Peter Kokot
e9b86f5618 CMakeFindPackageMode: Move documentation to --find-package option
- This moves the CMakeFindPackageMode internal module documentation to
  the --find-package option as this module itself cannot be used by the
  project.
- Additionally, some links added.
- The `QUIET` variable renamed in documentation to `SILENT` to be
  effective according to the current code.
2025-03-27 15:29:36 +01:00
Peter Kokot
99546ef425 Help: Improve DEBUG_CONFIGURATIONS documentation and usage
This adds a short example demonstrating how to set this property.
Additionally, a paragraph is added to the target_link_libraries() and
its debug/optimized keywords to mention that imported targets with
IMPORTED_CONFIGURATIONS property may provide better alternative for
linking.
2025-03-15 15:47:51 +01:00
Martin Duffy
f1a80380ae Help: Improve language in INSTALL_PARALLEL doc
Remove unneeded comma, clarify and link reference to Ninja generators, and substitute ``ON`` for enabled.
2025-01-27 09:41:59 -05:00
Peter Kokot
8ad171553b Help: Add _See Also_ to CMAKE_SCRIPT_MODE and CMAKE_ROLE 2025-01-12 07:24:57 +01:00
Peter Kokot
40d68b5087 Help: Add links to FeatureSummary module 2024-12-25 17:32:04 +01:00
Martin Duffy
159ba027b9 Install: Add parallel installation option
Fixes: #26000
2024-07-15 11:49:29 -04:00
Craig Scott
6636b11997 Help: Minor grammar and formatting cleanup 2024-06-14 16:19:28 +10:00
Brad King
e0a11dfa24 Merge topic 'dep-provider-try_compile'
4cb5bb014d try_compile: Propagating top level includes into whole-project calls

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robertjmaynard@gmail.com>
Merge-request: !9532
2024-05-31 09:20:27 -04:00
Craig Scott
4cb5bb014d try_compile: Propagating top level includes into whole-project calls
Fixes: #24151
2024-05-30 19:01:03 +10:00
Brad King
5d93c421f1 HIP: Populate CMAKE_HIP_KNOWN_FEATURES global property
Fixes: #26013
2024-05-28 14:36:42 -04:00
Brad King
1d519cf796 Merge topic 'ninja-parallel'
0e5250e63c Ninja: Add option for parallel install
daeb8fffa2 Help: Add Builtin Targets section to Ninja help

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9505
2024-05-24 10:29:57 -04:00
Martin Duffy
0e5250e63c Ninja: Add option for parallel install
Adds the global property ``INSTALL_PARALLEL`` to enable a parallel install
target for Ninja.

Fixes: #25459
2024-05-23 09:54:19 -04:00
Raul Tambre
f21dbf8f26 C++26: Fix C++/CUDA/HIP compile feature support
In commit f808d8afb9 (CMake: Support upcoming C++26 language level,
2022-08-19, v3.25.0-rc1~218^2) we forgot some necessary scaffolding.

Fixes: #25819
2024-04-09 11:38:59 +03:00
Gregor Jasny
25977e177b apple: add preliminary visionOS support 2023-07-11 20:20:25 +02:00
Craig Scott
9f1360ae19 Help: Improve wording of FOLDER-related properties and policies 2023-02-25 17:15:17 +11:00
Ben Boeckel
c36910476a Help: remove links from pages to themselves
At least the top-reference links. Internal `:ref:` usages have been left
intact.
2022-11-18 14:09:32 -05:00
Ben Boeckel
de4909ea16 Help: fix some minor markup errors 2022-11-18 14:09:08 -05:00
Brad King
9758dbd9d4 Merge topic 'use_folders_on_by_default'
d3acd22380 USE_FOLDERS: Treat as on by default

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Amir Masoud Abdol <amirmasoudabdol@icloud.com>
Merge-request: !7830
2022-11-08 14:28:21 -05:00
Juan Ramos
d3acd22380 USE_FOLDERS: Treat as on by default
Add a policy to treat the `USE_FOLDERS` global property as ON by default
if it is not set.

Fixes: #21695
2022-11-08 09:32:18 -05:00
Alex Turbov
435b0c573c Help: Fix some redirects reported with sphinx linkcheck
Mostly it's about replace `http:` with `https:` protocol.
2022-11-07 10:07:36 -05:00
Robert Maynard
f808d8afb9 CMake: Support upcoming C++26 language level 2022-08-31 13:46:18 -04:00
Craig Scott
e281ba27b7 Help: Clarify that RULE_LAUNCH_COMPILE is meant for internal use
Fixes: #22405
2022-06-02 22:18:17 +10:00
Brad King
fbda79f39d Help: Document explicitly that 'cxx_std_##' features may not add a flag
This is commonly reported incorrectly as a bug, so call out this
behavior explicitly in the documentation.
2022-03-07 09:48:26 -05:00
FeRD (Frank Dana)
b75f778531 Help: Detailed version tags for compiler known features 2021-10-02 09:13:53 +10:00
Duncan Barber
7f0151dc91 Help: Document the AUTOUIC_SOURCE_GROUP property
This property came into existence with the changes in b4a103bdec because generated files are now being added for UIC.
2021-04-04 12:29:56 +01:00
Duncan Barber
f6c47dd0b4 Help: Fix a typo in the AUTOGEN_SOURCE_GROUP help 2021-04-04 12:24:43 +01:00
Raul Tambre
dcd599757f C23 support 2021-02-25 18:22:10 +02:00
Raul Tambre
93b7d3d292 C17 support
Implements #17755.
2021-02-25 18:22:10 +02:00
Brad King
2ea4f390c1 Merge topic 'doc-multi-config-prop'
1d7daa668c Help: Add Ninja Multi-Config to list in GENERATOR_IS_MULTI_CONFIG

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kyle Edwards <kyle.edwards@kitware.com>
Merge-request: !5737
2021-01-25 11:40:50 -05:00
Brad King
1d7daa668c Help: Add Ninja Multi-Config to list in GENERATOR_IS_MULTI_CONFIG
Fixes: #21739
2021-01-25 10:52:49 -05:00
Raul Tambre
9f3c70a333 CUDA, CXX, OBJCXX: C++23 support with Clang 12
Clang 12 landed initial support for C++23 language mode flag -std={c|gnu}++2b
in commit 6627a3c2873fdf7ccba1a1573371079be48b36e8.
2020-12-08 18:43:59 +02:00
Francisco Pombal
268fcc2782 Help: Separate C++ compile feature by standard
Additionally, mention that no fine-grained features are available for
C++ 17 and beyond.

Co-Authored-By: Craig Scott <craig.scott@crascit.com>
2020-08-23 13:49:40 +10:00
Kitware Robot
496ec6036f Help: Add Sphinx 'versionadded' directives to each top-level document
Run the `Utilities/Sphinx/update_versions.py` script to add initial
markup to every top-level document and find module.

Issue: #19715
2020-07-06 10:23:20 -04:00
Robert Maynard
2467a2b318 CUDA: Add cuda meta-features (e.g. `cuda_std_11`) support 2019-12-10 17:56:48 -05:00
Robert Maynard
53cd86ea78 Help: Clarify what 'aware' means as it relates to C++ standards 2019-11-04 17:16:57 -05:00
Rosen Matev
9f76961de8 Support job pools in custom commands and targets
Provide a way for custom commands and targets to set the pool variable
of the ninja build statement. Setting `JOB_POOL` is not compatible with
`USES_TERMINAL`, which implies the `console` pool.

The option is silently ignored with other generators.

Closes: #18483
2019-05-14 15:58:00 +02:00
Bartosz Kosiorek
456e0fb64f Help: Improve documentation formating 2019-04-04 15:13:58 +02:00
Kyle Edwards
4568d046c4 Properties: Add CMAKE_ROLE global property
This property allows scripts to determine whether they're in project
mode, script mode, find-package mode, CTest, or CPack.
2019-01-17 09:44:29 -05:00
Julien Schueller
17e581af4c Help: Document CMAKE_RULE_MESSAGES variable
Fixes: #18368
2018-09-17 10:05:30 +02:00
Melanie Cappelaere
fd0da95f63 Eclipse: Add property to include additional contents in .cproject file
Similar to ECLIPSE_EXTRA_NATURES which can be used to add a third party
nature to the .project, this property offers the possibility to inject
third party contents into the .cproject.

An example of where this is useful is MCUXpresso. This is an IDE based
on Eclipse. Compiling through CMake generated Eclipse projects works
fine by using a custom toolchain. However, in order to be able to debug
using such a project, an extra storageModule specific to the target
board is needed in the cproject.
2018-05-18 10:12:19 -04:00
Brad King
7fe580a362 Features: Add infrastructure for C++ 20 language standard
Issue: #17849
2018-03-27 07:40:54 -04:00
Paul "TBBle" Hampson
da3a329a06 Linkify target_link_libraries in DEBUG_CONFIGURATIONS 2018-01-11 00:00:30 +11:00
Matt McCormick
07185055d5 Ninja: add CMAKE_JOB_POOLS variable as default for JOBS_POOLS
This enables configuration of build parallelism with the Ninja generator by
passing arguments on the command line to CMake. For example,

  cmake \
    '-DCMAKE_JOB_POOLS:STRING=compile=5;link=2' \
    -DCMAKE_JOB_POOL_COMPILE:STRING=compile \
    -DCMAKE_JOB_POOL_LINK:STRING=link \
      ~/src/MyProject
2017-11-29 15:13:36 -05:00
Bastien Schatt
38fd5866c0 Add GENERATOR_IS_MULTI_CONFIG global property
Fixes: #16768
2017-04-04 09:49:00 -04:00
Sebastian Holtermann
850eb734f5 Autogen: Add AUTOGEN_SOURCE_GROUP documentation 2017-03-16 11:52:55 +01:00
Gregor Jasny
cf13e49544 Xcode: Control schema generation via variable
Issue: #15441
2017-03-12 21:24:46 +01:00
Steven Newbury
462cf25427 Add support for x32-abi
Detect x32-abi through CMakeCompilerABI infrastruture and use this
information at runtime to determine the correct library paths with
`FIND_LIBRARY_USE_LIBX32_PATHS`.

Fixes: #15994
2017-03-07 15:22:55 -05:00