| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
Add CMake variable `CMAKE_ADD_CUSTOM_COMMAND_DEPENDS_EXPLICIT_ONLY` to enable
option `DEPENDS_EXPLICIT_ONLY` on all uses of `add_custom_command`.
Fixes: #17097
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add an `INSTALL_BYPRODUCTS` option to `ExternalProject_Add` that can
be used to declare that files are `BYPRODUCTS` of the ExternalProject
install step.
This is often required by the Ninja generator to explicitly declare
dependencies. Previously, many users used `BUILD_BYPRODUCTS`, even if
their files were created by the install step, not the build step.
This commit essentially just copies the code for `BUILD_BYPRODUCTS`.
Fixes: #24120
Fixes: #23056
|
|\
| |
| |
| |
| |
| |
| |
| |
| | |
740bee97bd Xcode: Add settings to control a scheme's launch configuration
39456c70e1 Xcode: Add settings to control a scheme's GPU Validation values
4034272ed8 gitignore: Tell Git to ignore the .cache/ directory
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7581
|
| | |
|
| | |
|
|/
|
|
|
|
|
| |
Add block() and endblock() commands offering the capability to create
new scopes for variables and/or policies.
Fixes: #20171
|
|\
| |
| |
| |
| |
| |
| | |
364ca22b12 cmake-mode.el: add support for bracket_comment and bracket_argument
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7375
|
| | |
|
|/ |
|
|\
| |
| |
| |
| |
| |
| |
| | |
f7a6e036ad bash-completion: Support CMakePresets in cmake and ctest completion
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Craig Scott <craig.scott@crascit.com>
Merge-request: !7148
|
| |
| |
| |
| | |
Co-Authored-By: Craig Scott <craig.scott@crascit.com>
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
997af2e1a6 Genex: Add TARGET_BUNDLE_DIR_NAME
627b2eba6c Help: Make TARGET_BUNDLE[_CONTENT]_DIR examples more precise
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7177
|
| | |
| | |
| | |
| | |
| | |
| | | |
Evaluate to the name of the bundle directory for a given bundle target.
Fixes: #23409
|
|\ \ \
| |/ /
|/| |
| | |
| | |
| | |
| | |
| | | |
42f7e39789 Find: Support per call disabling of CMAKE_INSTALL_PREFIX
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7163
|
| |/
| |
| |
| | |
Fixes #23359
|
|/ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit changes the indentation of lines which contain only closing
parentheses (`)`).
Example:
Change
```
add_library(mylib
mysrc.c
)
```
to:
```
add_library(mylib
mysrc.c
)
```
There are edge cases, where the indentation still doesn't really work.
Example:
This, admittedly weird, piece of code (manually formatted to what I would
expect - this is already a personal preference ...):
```
if(4)
if((0 OR 1
)
) # could also be aligned with the `i` in `if`
set(foobar
)
endif()
set(foobar)
endif()
```
will be changed to:
```
if(4)
if((0 OR 1
)
)
set(foobar
)
endif()
set(foobar)
endif()
```
whereas with the previous vim indentation code the result would have been:
```
if(4)
if((0 OR 1
)
)
set(foobar
)
endif()
set(foobar)
endif()
```
which is not great but better than above. I hope that this is acceptable.
Note: Apart from the actual indentation fixes, I based the change on a version
of indent/cmake.vim I found in the debian/bookworm vim82 package which is newer
than the one in the cmake repository (with `Last Change: 2017 Sep 24` comment
instead of the cmake repo version with `Last Change: 2017 Aug 30`).
This vim82/debian version moved these two lines:
```
let s:keepcpo= &cpo
set cpo&vim
```
a bit further down (after an early exit check - which seems to make sense to
me).
Fixes: #22394
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Outdent lines containing only closing parentheses (`)`) by `cmake-tab-width`
to align the indentation of the 'closing parens only line' with the line that
contains the opening paren.
I.e. change the formatting from:
add_library(mylib
mysrc.c
)
to:
add_library(mylib
mysrc.c
)
|
|\
| |
| |
| |
| |
| |
| |
| |
| | |
140704d443 ctest: add option for output truncation
359e5b17d8 presets: bump version to v5
4634de335b cmCTestTestHandler: refactor CleanTestOutput method
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6993
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Add `--test-output-truncation` to `ctest`. This option can be used to
customize which part of the test output is being truncated. Currently
supported values are `tail`, `middle` and `head`.
Also add equivalent `CTEST_CUSTOM_TEST_OUTPUT_TRUNCATION` variable.
Fixes: #23206
|
|/
|
|
|
|
|
| |
Add a variable to control both makefile color messages and compiler
color diagnostics.
Fixes: #15502
|
|
|
|
| |
Resolves: #23179
|
|
|
|
|
|
|
| |
This brings the patch step into line with all the others which already
had their own `USES_TERMINAL_<step>` keyword. All steps (including
patch) already have their own `LOG_<step>` keyword too, so the lack of
`USES_TERMINAL_PATCH` was inconsistent.
|
|
|
|
|
|
|
|
| |
Changes in cmVisualStudio10TargetGenerator::Generate to write .Net
SDK-style project for VS generators VS 19 and above. Also adds
documentation and tests.
Issue: #20227
|
|
|
|
| |
* The variable being set was named `GHSMULTI` not `GHS-MULTI`.
|
|
|
|
|
|
|
|
|
|
|
| |
Added XCODE_SCHEME_ENABLE_GPU_FRAME_CAPTURE_MODE variable which
sets the scheme property value for "GPU Frame Capture" in the Options section by setting the Xcode project variable "enableGPUFrameCaptureMode".
Example values are "Metal" (1) and "Disabled" (3).
XCODE_SCHEME_ENABLE_GPU_FRAME_CAPTURE_MODE is initialized by the property CMAKE_XCODE_SCHEME_ENABLE_GPU_FRAME_CAPTURE_MODE.
Implements: #22700
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
02b2607a5c Help: Add release note for MCST LCC compiler support
e5d9fce03f LCC: Add dedicated support for MCST LCC compiler
2b9ef77944 CPack/DEB: deal with broken dpkg-shlibdeps on E2K architecture
0995c75301 Tests/RPM: skip tests tat rely on debugedit if it's not found
ea55ac9a51 Tests/RunCMake/CommandLine: Deal with locales that are different from English
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6608
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Divert LCC compiler as a new one, instead of treating it as GNU.
Since old times, Elbrus C/C++/Fortran Compiler (LCC) by MCST has been
passing checks for GNU compilers, so it has been identified as GNU.
Now, with intent of seriously upstreaming its support, it has been
added as a separate LCC compiler, and its version displays not a
supported GCC version, but LCC version itself (e.g. LCC 1.25.19 instead
of GNU 7.3.0).
This commit adds its support for detection, and also converts basically
every check like 'is this compiler GNU?' to 'is this compiler GNU or
LCC?'. The only places where this check is untouched, is where it
regards other platforms where LCC is unavailable (primarily non-Linux),
and where it REALLY differs from GNU compiler.
Note: this transition may break software that are already ported to
Elbrus, but hardly relies that LCC will be detected as GNU; still such
software is not known.
|
|/
|
|
| |
Fixes: #22617
|
|\
| |
| |
| |
| |
| |
| |
| | |
de4f1f26b0 CTest: add an ENVIRONMENT_MODIFICATION property
4c757fa3c8 Help/prop_test/ENVIRONMENT: clarify the scope of the changes
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6299
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This property allows projects to modify environment variables at test
time rather than trying to guess what the state should be based on what
is present at configure time. Of particular interest is the ability to
use a `PATH` present at test time while adding entries known to be
necessary for the test itself.
There are multiple operations provided to modify variables, including:
- setting and unsetting
- appending and prepending as:
- strings
- path lists
- CMake lists
Additionally, a `reset` action is provided to cancel any prior
modifications to that particular variable in the case of incremental
additions to the test property.
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add a `CMAKE_REQUIRE_FIND_PACKAGE_<PackageName>` variable is complement
to `CMAKE_DISABLE_FIND_PACKAGE_<PackageName>` with just the opposite
behaviour: it turns non-required find_package call into the required one.
While optional package dependencies usually result in simple and clean
build logic, sometimes people want to be sure those optional
dependencies will be found and used. Examples are reproducible builds
and build instructions for 3rd parties. People choose to make
find_package calls REQUIRED and put them behind an option(). Such
workarounds blend build logic with build environment management and do
not look elegant.
|
|
|
|
| |
Fixes: #18316
|
| |
|
|
|
|
| |
This property came into existence with the changes in b4a103bdecc437d37580d0ab540f6014006d661c because generated files are now being added for UIC.
|
| |
|
|
|
|
|
|
| |
The change in commit 901386f646 (cmake-mode.el: Add navigation by
function and macro, 2020-12-11) introduced a regression. Emacs 26 could
not load cmake-mode.el anymore. Use `(not-char ")")`, not `(not ")")`.
|
|
|
|
|
|
|
| |
We're using rx in cmake-mode.el. Technically, we don't have to load the
package, because it's already loaded at startup. But it's good style to
explicitly require the packages we use, if only to give a quick overview
of the package dependencies.
|
|
|
|
|
|
|
|
|
| |
Add the functions cmake-beginning-of-defun and cmake-end-of-defun that
jump to the beginning/end of the nearest function or macro.
Add the function cmake-mark-defun that marks the current function.
Bind those functions to the usual keys in cmake-mode-map.
|
|
|
|
|
| |
Many of the `cmake --help-*` options print `.rst` source documents
with only partial evaluation. View them in the Emacs `rst-mode`.
|
| |
|
| |
|
|
|
|
|
| |
* upstream-vim-cmake-syntax:
vim-cmake-syntax 2020-10-28 (bcc3a97a)
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Since commit 2642f432ef (Aux: Install editor and bash files to more
natural locations, 2020-03-30, v3.18.0-rc1~429^2) these files are
installed by default into locations that are not CMake-specific but may
be distro-specific. Add options for packagers to control these
locations.
Also rename the `CMAKE_BASH_COMP_DIR` option to follow our conventions.
Fixes: #20993
|
|
|
|
| |
Issue: #18870
|
|
|
|
|
|
|
|
|
| |
The vim, emacs, and bash support files are not internal CMake resources
and so do not belong under `CMAKE_DATA_DIR`. Move them over to proper
places under the `CMAKE_XDGDATA_DIR` as we do already for cmake-gui
desktop files and `cmake.m4`.
Fixes: #20522
|
|
|
|
|
|
|
| |
Add a `JOB_POOL_PRECOMPILE_HEADER` target property to specify the pool
name, and its associated `CMAKE_JOB_POOL_PRECOMPILE_HEADER` variable.
Fixes: #20217
|
| |
|
| |
|