Brad King
ef006ebd9b
PCH: Use per-arch .pch files only when building multiple Apple architectures
...
Since commit f593b354da (PCH: Add support for multi architecture iOS
projects, 2020-04-02, v3.18.0-rc1~414^2) we use per-arch .pch files
even when compiling for just the host architecture on macOS arm64.
This breaks with compilers that do not support `-Xarch_` flags, such
as GCC. Avoid using per-arch .pch files in single-architecture builds.
Fixes : #25514
Issue: #20497
2024-05-01 12:43:39 -04:00
Ben Boeckel
442086c1dc
fileapi: ignore __cmake_-prefixed targets
...
These targets are internal to CMake's C++ `import std` implementation
and should not appear.
2024-04-12 11:46:40 -04:00
Brad King
13ece67a58
Add genex support to TEST_LAUNCHER and CROSSCOMPILING_EMULATOR
...
Evaluate generator expressions in these properties, as they apply to
`add_test`, `add_custom_command`, and `add_custom_target`.
The `CMAKE_CROSSCOMPILING_EMULATOR` variable's `try_run` behavior occurs
at configure time and so cannot support generator expressions.
2024-01-29 10:30:24 -05:00
Ralf Habacker
88863d83d6
fileapi: Add test launcher to codemodel-v2
...
We do not need to bump the minor version because it was recently bumped
by addition of the cross-compiling emulator as another kind of launcher.
2023-12-13 10:20:43 -05:00
Ralf Habacker
478a5f4e04
fileapi: Make launcher attribute 'arguments' optional
...
This was missed in commit 80a64c9ce5 (fileapi: Add cross-compiling
emulator to codemodel-v2, 2023-11-11).
2023-12-13 10:20:41 -05:00
Ralf Habacker
b44e38a397
cmFileAPICodemodel: Add missing std::move()
...
This was missed in commit 80a64c9ce5 (fileapi: Add cross-compiling
emulator to codemodel-v2, 2023-11-11).
2023-12-13 10:19:38 -05:00
Ralf Habacker
80a64c9ce5
fileapi: Add cross-compiling emulator to codemodel-v2
...
Fixes : #25408
2023-12-01 10:57:15 -05:00
Brad King
b6845a689e
Merge topic 'fileapi-file-sets-base-dirs-relative'
...
a3a85524cd fileapi: Fix file sets' base directories relative to top source
Acked-by: Kitware Robot <kwrobot@kitware.com >
Acked-by: buildbot <buildbot@kitware.com >
Reviewed-by: Ben Boeckel <ben.boeckel@kitware.com >
Merge-request: !8977
2023-11-20 09:13:01 -05:00
Kyle Edwards
a3a85524cd
fileapi: Fix file sets' base directories relative to top source
...
This field was added by commit b3e9fb67bb (file-api: support exporting
file set information, 2022-11-03, v3.26.0-rc1~389^2) but the relative
path convention used elsewhere was accidentally left out.
Fixes : #25422
2023-11-17 07:59:05 -05:00
Ben Boeckel
159585967a
cmGeneratorTarget: classify BMI-only C++ module sources
2023-08-17 14: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
b3a6a11e95
fileapi: Extend codemodel targets/compileGroups with Apple frameworks
...
Fixes : #19897
2023-05-19 12:10:20 +02:00
Brad King
43e973eba2
cmGeneratorTarget: Pass language to GetAppleArchs when possible
2023-03-15 10:18:41 -04:00
Brad King
93afe804ce
cmGeneratorTarget: Convert GetAppleArchs output argument to return value
2023-03-15 10:11:37 -04:00
Rose
6d15754814
Make vector operations more efficient
2022-12-10 12:48:09 -05:00
Ben Boeckel
b3e9fb67bb
file-api: support exporting file set information
...
This includes listing the filesets themselves as well as which file set
(if any) each source file is associated with.
Fixes : #24128
2022-11-08 10:07:10 -05:00
Ben Boeckel
29118091dc
install: support CXX_MODULES_BMI installation bits
2022-07-06 10:15:23 -04:00
Hyper Nova Sun
41ba35a42b
cmTarget: Add HasKnownObjectFileLocation() shorthand
...
Allow `cmGlobalGenerator`s to decide `HasKnownObjectFileLocation()` per given
`cmTarget`
- `cmGlobalGenerator::HasKnownObjectFileLocation()` now takes an optional `cmGeneratorTarget`
- `cmTarget::HasKnownObjectFileLocation()` added as a shorthand
2022-04-11 14:10:29 -07:00
Kyle Edwards
3c3698b0e4
FileAPI: Add information on file set installers
2021-10-27 15:17:23 -04:00
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