Marc Chevrier
cc56dc7468
Rename cmProp in cmValue
2021-09-21 17:14:04 +02:00
Marc Chevrier
e5cd39ca80
cmProp: refactoring: transform alias in class
...
To handle safely the values used by CMake variables and properties,
introduce the class cmProp as a replacement from the simple pointer
to std::string instance.
2021-08-08 16:19:08 +02:00
Brad King
6fa9f3c695
Merge topic 'fileapi-link-fragments'
...
68bbec66e0 fileapi: Fix codemodel-v2 link command fragment relative paths
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6220
2021-06-14 09:41:50 -04:00
Brad King
68bbec66e0
fileapi: Fix codemodel-v2 link command fragment relative paths
...
Use the same `cmLinkLineComputer` subclass as the generator does. This
affects the base directory from which relative paths are computed.
Fixes : #22301
2021-06-11 11:11:36 -04:00
Brad King
acb25d50d9
Merge topic 'install-with-runtime-dependencies'
...
8d898cb3e1 FileAPI: Add integration for runtime dependency installers
72f2448e82 Help: Add documentation for runtime dependency installation
0c3c6acaff Tests: Add tests for new options
4910132d8c install: Add RUNTIME_DEPENDENCY_SET mode
bc8a4a06a4 install(IMPORTED_RUNTIME_ARTIFACTS): Add RUNTIME_DEPENDENCY_SET option
3e7d3c252a install(TARGETS): Add RUNTIME_DEPENDENCY_SET argument
ed3633d88c install(TARGETS): Add RUNTIME_DEPENDENCIES option
f2617cf8e6 Source: Add cmInstallRuntimeDependencySet
...
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6186
2021-06-08 08:09:04 -04:00
Kyle Edwards
8d898cb3e1
FileAPI: Add integration for runtime dependency installers
2021-06-04 15:25:18 -04:00
Brad King
dbfb50cd72
cmFileAPICodemodel: Assert input in DirectoryObject::DumpInstaller
...
This tells clang-analyzer that the `gen` argument is never `nullptr`.
2021-06-03 14:59:55 -04:00
Kyle Edwards
f7ba3a0589
FileAPI: Populate information for IMPORTED_RUNTIME_ARTIFACTS
2021-05-31 09:02:45 -04:00
Nils Gladitz
99ff75455e
install: Implement new install(CODE|SCRIPT) option ALL_COMPONENTS
...
In a per-component installation the generated installation scripts
are invoked once for each component.
Per default custom installation script code added by install(CODE|SCRIPT)
only runs for one specific component in this context.
The new ALL_COMPONENTS option allows custom script code to be run once
for each component being installed.
2021-05-19 19:17:58 +02:00
Brad King
5b3a71a83f
cmSystemTools: Adopt RelativeIfUnder helper
...
This returns a relative path if it does not start in `../`.
2021-05-17 10:02:16 -04:00
Brad King
049bf98f63
fileapi: Add installers to codemodel-v2 "directory" object
...
Co-Authored-by: Kyle Edwards <kyle.edwards@kitware.com>
2021-03-16 16:47:57 -04:00
Brad King
eae2256a52
fileapi: Add backtraceGraph to codemodel-v2 "directory" object
...
Co-Authored-by: Kyle Edwards <kyle.edwards@kitware.com>
2021-03-16 16:47:55 -04:00
Brad King
a12d7f70b1
fileapi: Add a "directory" object to codemodel-v2
...
This object will contain more detailed directory-level information.
Co-Authored-by: Kyle Edwards <kyle.edwards@kitware.com>
2021-03-16 16:47:43 -04:00
Brad King
fd30bd93e6
fileapi: Re-organize backtrace infrastructure
...
Make it available to more parts of the codemodel object.
2021-03-16 11:24:41 -04:00
Brad King
415ead8153
cmFileAPICodemodel: Build map from each target to its index
2021-03-16 11:24:28 -04:00
Ben Boeckel
cdfc4e3195
clang-tidy: fix readability-qualified-auto
warnings
2021-01-27 08:45:45 -05:00
Oleksandr Koval
209daa20b2
Code style: add missed explicit 'this->'
...
CMake uses explicit 'this->' style. Using custom clang-tidy check we can
detect and fix places where 'this->' was missed.
2021-01-05 14:32:36 +02:00
Vitaly Stakhovsky
11425041f0
cmMakefile::GetDefinition: return cmProp
2020-09-02 07:27:32 -04:00
Brad King
bafa9fe887
fileapi: Add INTERFACE libraries with SOURCES to codemodel-v2
...
INTERFACE libraries with SOURCES now appear in the generated
buildsystem, so include them in the codemodel output too.
We do not need to bump the `codemodel-v2` object kind minor
version because that was already done in post-3.18 development
by commit 7d6861f367 (fileapi: Extend codemodel targets with
language standard, 2020-06-18).
Fixes : #18608
2020-08-07 08:46:34 -04:00
Justin Goshi
2f383d852d
fileapi: Support multiple backtraces for language standard
2020-07-06 11:40:39 -07:00
Robert Maynard
7a969fe21d
cmMakefile: Refactor API to better handle empty config values
2020-07-03 07:43:18 -04:00
Justin Goshi
7d6861f367
fileapi: Extend codemodel targets with language standard
2020-06-26 08:52:29 -04:00
Vitaly Stakhovsky
b36d1bdd9d
Single location for cmProp typedef
2020-06-01 08:54:20 -04:00
Brad King
15b9b41d72
Merge topic 'fileApiAddPrecompileHeadersBacktrace'
...
9f6d40ee23 fileapi: Extend codemodel targets with PRECOMPILE_HEADERS
b698764a31 Tests: Add a PCH example to RunCMake.FileAPI codemodel-v2
b3812c0e54 Tests: Fix indentation in RunCMake.FileAPI cxx_exe.json
9c48804b69 PCH: Fix source group of per-architecture PCH headers
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4684
2020-05-25 10:40:56 -04:00
Justin Goshi
9f6d40ee23
fileapi: Extend codemodel targets with PRECOMPILE_HEADERS
2020-05-22 11:26:55 -04:00
Marc Chevrier
2faa3f6c55
Refactoring: Third-parties public headers are under cm3p prefix
...
Fixes : #20666
2020-05-07 12:06:08 +02:00
Vitaly Stakhovsky
36aba01223
cmGeneratorTarget::GetProperty: return cmProp
2020-04-29 10:59:39 -04:00
Vitaly Stakhovsky
e64fa5f1b6
cmSourceFile::GetProperty: return cmProp
2020-04-14 10:57:17 -04:00
Cristian Adam
f593b354da
PCH: Add support for multi architecture iOS projects
...
Fixes : #20497
2020-04-02 11:51:19 -04:00
Marc Chevrier
f466cea3c9
cmMakefile: modernize memory management
2020-01-14 11:03:07 +01:00
Marc Chevrier
5444a8095d
cmGlobalGenerator: modernize memrory managemenbt
2019-12-30 16:55:39 +01:00
Marc Chevrier
f7d12609f0
Refactoring: use append functions from cmext/algorithm
2019-12-17 10:44:02 +01:00
Marc Chevrier
36c8cae2e8
cmLocalGenerator: modernize memory management
2019-12-10 00:24:06 +01:00
Brad King
5b46bc3194
Merge topic 'unity-HEADER_FILE_ONLY'
...
9a5418320e Unity: Don't include sources with HEADER_FILE_ONLY property set
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4023
2019-11-12 09:51:16 -05:00
Cristian Adam
9a5418320e
Unity: Don't include sources with HEADER_FILE_ONLY property set
...
Fixes : #19946
Fixes : #19947
Co-authored-by: Craig Scott <craig.scott@crascit.com>
2019-11-11 14:10:18 +01:00
Daniel Eiband
ec2f130aa9
cmFileAPI: Resolve full path in PCH source comparison
...
Issue: 19927
2019-11-11 13:03:29 +01:00
Cristian Adam
36ded610af
PCH: Generate sources during Compute step
2019-10-09 13:50:25 +02:00
Kitware Robot
ed98209ddc
Revise include order using clang-format-6.0
...
Run the `clang-format.bash` script to update our C and C++ code to a new
include order `.clang-format`. Use `clang-format` version 6.0.
2019-10-01 12:26:36 -04:00
Justin Goshi
8b84c046fa
fileapi: add some source property backtraces
...
Support backtraces for COMPILE_DEFINITIONS, COMPILE_OPTIONS, and
INCLUDE_DIRECTORIES source properties.
2019-09-26 10:56:52 -04:00
Brad King
4ade1b00c5
Merge topic 'fileapiLinkPathAndLinkDirBacktraces'
...
4d6334824d fileapi: add backtraces for LINK_PATH and LINK_DIRECTORIES
5bd65dff7a cmLocalGenerator: Add OutputLinkLibraries overload with backtraces
5d39e792ae cmGeneratorTarget: Store backtrace for target LINK_DIRECTORIES property
7da17ef797 cmLinkLineComputer: Add ComputeLinkLibraries overload with backtraces
d4d0dd0f6a cmLinkLineComputer: Add ComputeLinkLibs overload with backtraces
0ac9dcb807 cmLinkLineComputer: Add ComputeLinkPath overload with backtraces
0c6468178a cmComputeLinkInformation: Add GetDirectoriesWithBacktraces
a209b31d0d cmComputeLinkInformation: Add AppendValues with backtraces
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3805
2019-09-20 10:22:01 -04:00
Justin Goshi
4d6334824d
fileapi: add backtraces for LINK_PATH and LINK_DIRECTORIES
2019-09-18 14:00:39 -04:00
Brad King
1a1508c8b8
Merge topic 'modernize-use-auto'
...
d25a5a7ec9 clang-tidy: modernize-use-auto
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3783
2019-09-12 09:15:38 -04:00
Regina Pfeifer
d25a5a7ec9
clang-tidy: modernize-use-auto
...
Set the MinTypeNameLength option to an impossibly high value in order
to limit the diagnostics to iterators. Leave new expressions and cast
expressions for later.
2019-09-10 22:21:41 +02:00
Justin Goshi
30006e199b
fileapi: add backtraces for compile/link options
2019-09-10 10:45:41 -04:00
Brad King
1f7bd00322
Merge topic 'add-non-empty-configurations-getter'
...
10507c6dc0 cmMakefile: Add configurations getter with empty configuration default
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3759
2019-09-03 09:42:15 -04:00
Brad King
c4f2f01108
Merge topic 'rename-mutating-getfullpath-overload'
...
2d888e3390 cmSourceFile: Rename mutating GetFullPath() overload
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3757
2019-09-03 09:40:44 -04:00
Brad King
917cfecf12
Merge topic 'fileapi-CMP0037-OLD'
...
9da1c33cf1 fileapi: Fix codemodel v2 target file name for CMP0037 OLD behavior
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3760
2019-09-03 09:21:47 -04:00
Brad King
9da1c33cf1
fileapi: Fix codemodel v2 target file name for CMP0037 OLD behavior
...
With CMP0037 OLD behavior, executable and library target names may
contain a slash. Avoid constructing file names with slashes.
Fixes : #19653
2019-08-30 10:20:12 -04:00
Daniel Eiband
10507c6dc0
cmMakefile: Add configurations getter with empty configuration default
2019-08-30 13:52:13 +02:00
Daniel Eiband
2d888e3390
cmSourceFile: Rename mutating GetFullPath() overload
...
Rename mutating GetFullPath() overload to ResolveFullPath().
2019-08-29 22:51:58 +02:00