Brad King
6010e007c7
cmState: Add method to check for the Borland Makefiles generator
2024-05-14 12:52:08 -04:00
Arctic Lampyrid
6116bcb066
fileapi: Add CONFIGURE_DEPENDS glob info to cmakeFiles object
...
Fixes : #25668
Co-authored-by: Brad King <brad.king@kitware.com>
2024-03-19 14:55:25 -04:00
Arctic Lampyrid
f578515d02
cmGlobCacheEntry: Add helper to carry CONFIGURE_DEPENDS glob cache arguments
2024-03-20 02:30:53 +08:00
Marc Chevrier
255c2e1430
Ninja: LINK_OPTIONS property should support newlines
...
Fixes : #25513
2023-12-20 17:05:09 +01:00
Kyle Edwards
8313d26198
cmState::AddDisallowedCommand(): Allow additional warning info
2023-10-27 09:42:53 -04:00
Brad King
241ee252ce
IWYU: Update for Debian 12 CI job
...
`include-what-you-use` diagnostics, in practice, are specific to
the environment's compiler and standard library. Update includes
to satisfy IWYU for our CI job under Debian 12.
2023-07-28 09:14:08 -04:00
Marc Chevrier
4fc322bab4
AddCacheEntry: Suppress raw pointer usage
2023-05-30 16:41:59 +02:00
Marc Chevrier
aa5fed5052
SetProperty: suppress raw pointer usage
2023-05-26 14:48:22 +02:00
Vitaly Stakhovsky
87c4eba5cb
cmState::AddCacheEntry(): Remove unused overloads
2023-02-28 19:44:42 -05:00
Juan Ramos
3c3bce133d
cmake: Honor CMAKE_GENERATOR env var in --help output
2022-10-20 19:53:14 -06:00
Craig Scott
2aa83fa15b
Dependency providers: Add find_package and FetchContent support
...
Fixes : #22619
2022-05-25 08:46:18 +10:00
Brad King
11cc728e75
cmConstStack: Factor out of cmListFileBacktrace
...
This presents value semantics for a stack of constant values.
Internally it shares ownership to avoid copies. Previously
this was implemented by `cmListFileBacktrace` explicitly,
but the approach can be re-used for other kinds of stacks.
2022-04-02 05:55:31 -04:00
Kyle Edwards
fce24e4f10
define_property(): Add INITIALIZE_FROM_VARIABLE argument
...
Fixes : #20698
2022-01-20 09:05:35 -05:00
Brad King
3d378541bb
cmMessenger: Adopt backtrace printing functions
...
Move backtrace printing functions from `cmListFileBacktrace` over to
`cmMessenger`, their primary caller. Thread `cmMessenger` instances
through APIs needed to update other call sites.
2021-12-08 10:03:48 -05:00
Marc Chevrier
cc56dc7468
Rename cmProp in cmValue
2021-09-21 17:14:04 +02:00
Marc Chevrier
3c2e58eeb8
AddCacheEntry accept cmProp or std::string
2021-09-10 15:45:51 +02:00
Marc Chevrier
6dfa581bab
Enhancement: SetProperty accept cmProp or std::string
...
Methods SetProperty of classes cmPropertyMap, cmStateDirectory
and cmMakefile accept now cmProp or std::string as argument.
2021-08-25 10:09:02 +02:00
Brad King
6c440ea3ce
cmake: Model normal and try-compile project kinds explicitly
...
Construct with the project kind instead of mutating state after
construction.
2021-07-12 12:21:52 -04:00
Brad King
2065bd73cb
cmState: Construct with mode
2021-07-12 12:21:44 -04:00
Kyle Edwards
c017098d4d
CMake: Allow override of unexpected non-flow-control commands
...
Fixes : #22310
2021-06-16 10:39:39 -04:00
Craig Scott
105ef112c9
Merge topic 'cmake-presets-path-arg'
...
b7d7eca66d
CMakePresets.json: Rework how --preset argument is handled
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5416
2020-10-27 07:33:46 -04:00
Kyle Edwards
b7d7eca66d
CMakePresets.json: Rework how --preset argument is handled
...
If a path argument with no -S or -B leads to a cache directory,
use that directory as the binary directory. Otherwise, use the
binary directory from the preset.
Fixes : #21311
2020-10-26 22:32:45 +11:00
Kyle Edwards
8aee7fdb32
cmState: Prohibit override of flow control commands
2020-10-22 17:04:31 -04:00
Brad King
e8b0359a43
cmake_language: Add signature to DEFER calls to later times
...
Fixes : #19575
2020-09-29 17:12:33 -04:00
Oleksandr Koval
967792a662
cmState: store commands in unordered_map
2020-09-11 20:31:11 +03:00
Kitware Robot
bdca8b01d2
Modernize: Use #pragma once in all header files
...
#pragma once is a widely supported compiler pragma, even though it is
not part of the C++ standard. Many of the issues keeping #pragma once
from being standardized (distributed filesystems, build farms, hard
links, etc.) do not apply to CMake - it is easy to build CMake on a
single machine. CMake also does not install any header files which can
be consumed by other projects (though cmCPluginAPI.h has been
deliberately omitted from this conversion in case anyone is still using
it.) Finally, #pragma once has been required to build CMake since at
least August 2017 (7f29bbe6
enabled server mode unconditionally, which
had been using #pragma once since September 2016 (b13d3e0d
)). The fact
that we now require C++11 filters out old compilers, and it is unlikely
that there is a compiler which supports C++11 but does not support
#pragma once.
2020-09-03 09:30:21 -04:00
Vitaly Stakhovsky
b36d1bdd9d
Single location for cmProp typedef
2020-06-01 08:54:20 -04:00
Brad King
0b837ab371
cmState: Drop unused and unimplemented SetCacheValue method
...
Fixes : #20758
2020-05-26 12:54:49 -04:00
Tushar Maheshwari
6728f0fa85
cmPropertyDefinitionMap: simplify and shorten
2020-05-15 18:58:02 +05:30
Vitaly Stakhovsky
e267c3fddf
cmState::GetInitializedCacheValue: return cmProp
...
cmProp alias is used; no actual change in type
2020-04-30 10:45:45 -04:00
Brad King
a6611577c3
Merge topic 'cmprop-getglobalprop'
...
c84cf42897
cmState::GetGlobalProperty: return cmProp
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4521
2020-03-27 07:50:28 -04:00
Vitaly Stakhovsky
a7f2ff16a4
cmState::GetCacheEntryProperty: return cmProp
2020-03-25 14:46:52 -04:00
Vitaly Stakhovsky
c84cf42897
cmState::GetGlobalProperty: return cmProp
2020-03-25 09:10:46 -04:00
Vitaly Stakhovsky
ef408dd232
cmState::GetTargetTypeName: return type is *cmProp
2020-03-19 08:55:03 -04:00
Vitaly Stakhovsky
bd89133543
cmState::GetCacheEntryValue: return cmProp
2020-03-17 12:09:20 -04:00
Vitaly Stakhovsky
73d52a862b
cmPropertyDefinition: Construct directly in defined state
...
Move `cmPropertyDefinitionMap::DefineProperty` functionality
directly into the constructor to avoid an intermediate state.
2020-03-13 10:24:51 -04:00
Kyle Edwards
16a4ba5b31
Ninja Multi-Config: Use build.ninja if cmake --build has no --config
...
If cmake --build is called with no --config argument, and a
build.ninja file is available, use that instead of defaulting to the
Debug config.
2020-02-04 14:13:07 -05:00
Vitaly Stakhovsky
1398517f31
AppendProperty: convert value param to std::string
2020-01-25 10:37:00 -05:00
Vitaly Stakhovsky
232d5bc333
cmState: more members will use std::string
2020-01-02 07:56:34 -05:00
Kyle Edwards
5a8a9f7229
Ninja: Add multi-config variant
...
Co-Authored-by: vector-of-bool <vectorofbool@gmail.com>
2019-12-13 10:51:46 -05:00
Gabor Bencze
11f35d340e
cmCommand refactor: remove unused AddDisallowedCommand overload
2019-08-26 11:48:47 -04:00
Regina Pfeifer
86bf1eef75
cmState: Support free function disallowed commands
2019-08-13 13:48:10 +02:00
Regina Pfeifer
dfaa87f1b3
cmState: Support BuiltinCommands as free functions
2019-07-22 15:27:56 +02:00
Regina Pfeifer
de77d355ac
cmState: Add scripted commands by value
2019-07-21 09:25:32 +02:00
Regina Pfeifer
0101ace131
cmUnexpectedCommand: Replace with lambda expression
2019-07-21 09:25:32 +02:00
Regina Pfeifer
015001aaf1
cmState: Hold commands by value
2019-07-21 09:25:32 +02:00
Marc Chevrier
1591f138f1
modernize: manage cmCommand instances using unique_ptr.
2019-07-14 15:37:30 +02:00
Brad King
71fbebd1dc
IWYU: Fix handling of <memory> standard header
...
An old workaround for `std::allocator_traits<>::value_type` lints from
IWYU on `std::vector<>` usage breaks IWYU's handling of `<memory>`.
Convert the workaround to use the same approach we already use for a
workaround of `std::__decay_and_strip<>::::__type` lints. Then update
the `<memory>` inclusions to follow the now-correct IWYU lints.
2019-07-10 11:48:56 -04:00
Alex Turbov
5e52de7d57
modermize: replace some raw pointers w/ unique_ptr
2019-06-24 09:36:09 -04:00
Sebastian Holtermann
735c6f39d9
Fix invalid ///! doxygen comment line starts
...
In various places `///!` was used to start a comment line. This is not valid
Doygen syntax. This patch replaces `///!` comment starts with `//!`.
2019-03-31 11:27:12 +02:00