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
Marc Chevrier
af9d4f24ae
Link properties: must be transitive over private dependency on static library
...
Ensure transitivity over multiple static libraries.
Fixes: bbba701899 (Link properties: must be transitive over private dependency on static library, 2019-12-06)
2019-12-12 18:02:32 +01:00
Brad King
b358f1827c
Merge topic 'link-options-propagation'
...
bbba701899 Link properties: must be transitive over private dependency on static library
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4120
2019-12-09 11:32:05 -05:00
Marc Chevrier
bbba701899
Link properties: must be transitive over private dependency on static library
...
Fixes : #20022
2019-12-09 11:29:36 -05:00
Isuru Fernando
5ff1d7bd90
Add support for WINDOWS_EXPORT_ALL_SYMBOLS when cross-compiling to Windows
...
Implement `__create_def` using `llvm-nm` (when given as `CMAKE_NM`).
2019-12-06 09:30:25 -05:00
Brad King
e14c9af013
Merge topic 'pch-reuse-no-prop'
...
bb4c2781ce PCH: Do not issue an error on duplicate target_precompile_headers call
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4046
2019-11-18 09:46:26 -05:00
Cristian Adam
bb4c2781ce
PCH: Do not issue an error on duplicate target_precompile_headers call
...
Fixes : #19970
2019-11-15 09:47:56 -05: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
Brad King
eae743bf17
Merge topic 'unity-HEADER_FILE_ONLY' into release-3.16
...
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:15 -05:00
Craig Scott
9a935adca9
Merge topic 'pch-no-duplicates'
...
e01935ac9d PCH: No repeated path for internal generated PCH files
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4030
2019-11-12 08:28:46 -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
Cristian Adam
e01935ac9d
PCH: No repeated path for internal generated PCH files
...
Fixes : #19952
2019-11-11 13:21:12 +01:00
Kyle Edwards
954bb6549b
Merge topic 'modernize-memory-management'
...
2a67ebf71b cmGeneratorTarget: modernize memory management
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3997
2019-11-06 16:38:34 -05:00
Brad King
ce7408514c
Merge topic 'install-name-dir-genex'
...
a0e2e0ca97 Help: Add documentation and release notes for INSTALL_NAME_DIR genex
deeab72aae Tests: Add tests for INSTALL_NAME_DIR
3c85f11fed INSTALL_NAME_DIR: Add support for generator expressions
2ec1156b80 Refactor: Generalize cmExportInstallFileGenerator::ReplaceInstallPrefix()
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3989
2019-11-06 09:32:22 -05:00
Marc Chevrier
2a67ebf71b
cmGeneratorTarget: modernize memory management
2019-11-05 20:10:01 +01:00
Brad King
13ea5f06fa
Merge topic 'objc-pch'
...
e331367a89 PCH: Add support for OBJC/OBJCXX languages
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3983
2019-11-05 11:24:55 -05:00
Kyle Edwards
3c85f11fed
INSTALL_NAME_DIR: Add support for generator expressions
2019-11-04 12:01:05 -05:00
Cristian Adam
e331367a89
PCH: Add support for OBJC/OBJCXX languages
2019-11-03 21:34:39 +01:00
Brad King
bcaecf6bcd
Teach check for single-language targets to consider all configurations
2019-10-17 14:03:54 -04:00
Brad King
324988a6b1
cmGeneratorTarget: Add GetAllConfigCompileLanguages method
...
Return all languages needed to compile sources in the target in
any configuration.
2019-10-17 14:03:54 -04: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
Brad King
908fc3605b
Merge topic 'add-genex-evaluate-utility'
...
7dcf9cb83c cmGeneratorExpression: Add cmGeneratorExpression::Evaluate utility
c7c59dae82 cmCustomCommandGenerator: Replace generator expression member
c12222db86 cmGeneratorExpression: Remove Evaluate overload by parameter re-ordering
1811411fec cmGeneratorExpression: Move quiet flag to cmCompiledGeneratorExpression
edb0bbd18b cmGeneratorTarget: Remove unused virtual signature of TargetPropertyEntry
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3852
2019-09-24 10:33:41 -04:00
Daniel Eiband
7dcf9cb83c
cmGeneratorExpression: Add cmGeneratorExpression::Evaluate utility
...
cmGeneratorExpression::Evaluate is a shortcut when only the evaluated string is
needed or an instance of cmCompiledGeneratorExpression cannot be cached.
Fixes : #19686
2019-09-23 21:19:15 +02:00
Daniel Eiband
c12222db86
cmGeneratorExpression: Remove Evaluate overload by parameter re-ordering
...
Simplify by re-ordering parameters of cmCompiledGeneratorExpression::Evaluate
so that frequently used parameters are before less frequently used parameters.
This allows with little extra arguments to get rid of one Evaluate overload,
which makes it easier to implement the cmGeneratorExpression::Evaluate utility.
The latter would otherwise need four overloads.
2019-09-22 09:51:19 +02:00
Daniel Eiband
1811411fec
cmGeneratorExpression: Move quiet flag to cmCompiledGeneratorExpression
...
The quiet flag is false for all but one call to Evaluate. Make the quiet flag
a setter of cmCompiledGeneratorExpression to be able to remove it from the
Evaluate function signature.
2019-09-22 09:49:41 +02:00
Daniel Eiband
edb0bbd18b
cmGeneratorTarget: Remove unused virtual signature of TargetPropertyEntry
...
Remove unused virtual Evaluate signature of TargetPropertyEntry. Also remove
the boolean parameter quiet.
2019-09-21 22:40:57 +02:00
Brad King
71e677392b
Do not collect objects from dependencies of object libraries
...
Object libraries do not link and therefore do not need to consider the
object files from "linked" dependencies on other object libraries.
This was an oversight in commit 57538224d0 (objlib: Link object-files
from `OBJECT` libraries, 2017-12-14, v3.12.0-rc1~419^2~2).
Fixes : #19744
Inspired-by: Julien Finet <julien.finet@kitware.com>
2019-09-20 12:48:46 -04:00
Brad King
ebb9346490
Merge topic 'cmake-system-headers'
...
4a08690ccf cmstd: Extend header <cm/iterator>
c688b401d3 cmstd: Modernize CMake system headers
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3776
2019-09-20 10:38:43 -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
Marc Chevrier
c688b401d3
cmstd: Modernize CMake system headers
...
Provide a standardized way to handle the C++ "standard" headers
customized to be used with current CMake C++ standard constraints.
Offer under directory `cm` headers which can be used as direct
replacements of the standard ones. For example:
#include <cm/string_view>
can be used safely for CMake development in place of the `<string_view>`
standard header.
Fixes : #19491
2019-09-20 10:01:37 -04:00
Justin Goshi
5d39e792ae
cmGeneratorTarget: Store backtrace for target LINK_DIRECTORIES property
2019-09-18 14:00:39 -04:00
Cristian Adam
729d997f10
Precompile Headers: Add REUSE_FROM signature
...
Add the ability to share precompiled headers artifacts between
targets.
Fixes : #19659
2019-09-17 11:58:38 +02:00
Brad King
1ac4e0ef1b
Merge topic 'tidy-deprecated-headers'
...
f30523d090 clang-tidy: modernize-deprecated-headers
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3792
2019-09-16 10:25:53 -04:00
Regina Pfeifer
f30523d090
clang-tidy: modernize-deprecated-headers
2019-09-16 10:11:13 -04:00
Daniel Eiband
f6574c9a81
Depend: Hook up automatic target-level dependencies via byproducts
...
Target-level dependencies to utility targets are added from another target if
the other target requires a byproduct of the utility target or if it requires a
byproduct of PRE_BUILD, PRE_LINK, or POST_BUILD build events of a target.
Issue: #19005
2019-09-12 16:03:12 +02: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
Brad King
054d626c9c
Merge topic 'MoveIfDifferent'
...
5b96fd5b81 use cmSystemTools::MoveFileIfDifferent()
5eaf1e1be2 cmSystemTools: introduce MoveFileIfDifferent()
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3794
2019-09-10 10:58:53 -04:00
Rolf Eike Beer
5b96fd5b81
use cmSystemTools::MoveFileIfDifferent()
...
This is better than doing CopyFileIfDifferent() followed by RemoveFile() in
two ways:
- it is more efficient, as it avoids disk I/O for the data, even if the
files here are usually small
- it is atomic, so an abort during the copy will not leave a destination file
with partial data behind
2019-09-09 10:34:08 +02:00
Regina Pfeifer
d63c1e4e6e
clang-tidy: modernize-return-braced-init-list
2019-09-06 22:27:39 +02:00
Regina Pfeifer
a1ddf2d0ba
clang-tidy: Replace typedef with using
...
Automate the conversion with
perl -i -0pe 's/typedef ([^;]*) ([^ ]+);/using $2 = $1;/g'
then manually fix a few places.
2019-09-04 18:03:01 +02:00
Regina Pfeifer
62e5f72289
clang-tidy: Replace typedef with using
2019-09-03 13:21:26 -04:00
Brad King
de0a2354fc
IWYU: Add missing cstddef includes for size_t and nullptr_t
...
The IWYU tool we use for CI now diagnoses these.
2019-09-03 11:46:52 -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
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
Brad King
fa36e2151d
Merge topic 'precompile-headers'
...
8da78d4efe Precompile headers: Update documentation
5772930164 Precompile headers: Add unit tests
519606704e Precompile headers: Add support for Visual Studio generators
28be170fbc Precompile headers: Add support for Xcode generator
b8626261e9 Precompile headers: Add methods to generate PCH sources
375d01c680 PCH: add example/test
9b6797e71d PCH: add target_precompile_headers command
0467a2f91b PCH: add PRECOMPILE_HEADERS to special properties
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Daniel Pfeifer <daniel@pfeifer-mail.de>
Acked-by: Ivan171 <heavenandhell171@gmail.com>
Acked-by: Stanislav Ershov <digital.stream.of.mind@gmail.com>
Acked-by: Steve Mokris <smokris@softpixel.com>
Acked-by: Evgeniy Dushistov <dushistov@mail.ru>
Acked-by: Danila Malyutin <flashmozzg@gmail.com>
Acked-by: Viktor Kirilov <vik.kirilov@gmail.com>
Acked-by: Lucas Zhao <zhaopf6@163.com>
Merge-request: !3553
2019-08-29 09:38:21 -04:00
Cristian Adam
b8626261e9
Precompile headers: Add methods to generate PCH sources
...
Co-Author: Daniel Pfeifer <daniel@pfeifer-mail.de>
2019-08-28 11:47:40 -04:00
Tushar Maheshwari
8cb3cffa42
cmSourceFile: Rename non-const GetLanguage
...
GetOrDetermineLanguage:
- Read the property if available
- Determine the Language using the file extension
Fix all usage of the non-const member in the repository.
2019-08-27 21:35:42 +05:30