summaryrefslogtreecommitdiffstats
path: root/Source/cmGeneratorTarget.cxx
Commit message (Collapse)AuthorAgeFilesLines
* Merge topic 'pch-reuse-no-prop'Brad King2019-11-181-4/+5
|\ | | | | | | | | | | | | bb4c2781ce PCH: Do not issue an error on duplicate target_precompile_headers call Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4046
| * PCH: Do not issue an error on duplicate target_precompile_headers callCristian Adam2019-11-151-4/+5
| | | | | | | | Fixes: #19970
| * Merge topic 'unity-HEADER_FILE_ONLY' into release-3.16Brad King2019-11-121-0/+19
| |\ | | | | | | | | | | | | | | | | | | 9a5418320e Unity: Don't include sources with HEADER_FILE_ONLY property set Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4023
* | \ Merge topic 'unity-HEADER_FILE_ONLY'Brad King2019-11-121-0/+19
|\ \ \ | | |/ | |/| | | | | | | | | | | | | 9a5418320e Unity: Don't include sources with HEADER_FILE_ONLY property set Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4023
| * | Unity: Don't include sources with HEADER_FILE_ONLY property setCristian Adam2019-11-111-0/+19
| | | | | | | | | | | | | | | | | | Fixes: #19946 Fixes: #19947 Co-authored-by: Craig Scott <craig.scott@crascit.com>
* | | Merge topic 'pch-no-duplicates'Craig Scott2019-11-121-8/+2
|\ \ \ | | |/ | |/| | | | | | | | | | | | | e01935ac9d PCH: No repeated path for internal generated PCH files Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4030
| * | PCH: No repeated path for internal generated PCH filesCristian Adam2019-11-111-8/+2
| |/ | | | | | | Fixes: #19952
* | Merge topic 'modernize-memory-management'Kyle Edwards2019-11-061-53/+45
|\ \ | | | | | | | | | | | | | | | | | | 2a67ebf71b cmGeneratorTarget: modernize memory management Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3997
| * | cmGeneratorTarget: modernize memory managementMarc Chevrier2019-11-051-53/+45
| | |
* | | Merge topic 'install-name-dir-genex'Brad King2019-11-061-3/+12
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | | | | | | | 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
| * | INSTALL_NAME_DIR: Add support for generator expressionsKyle Edwards2019-11-041-3/+12
| | |
* | | Merge topic 'objc-pch'Brad King2019-11-051-6/+28
|\ \ \ | |/ / |/| / | |/ | | | | | | e331367a89 PCH: Add support for OBJC/OBJCXX languages Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3983
| * PCH: Add support for OBJC/OBJCXX languagesCristian Adam2019-11-031-6/+28
| |
* | Teach check for single-language targets to consider all configurationsBrad King2019-10-171-2/+1
| |
* | cmGeneratorTarget: Add GetAllConfigCompileLanguages methodBrad King2019-10-171-0/+13
|/ | | | | Return all languages needed to compile sources in the target in any configuration.
* PCH: Generate sources during Compute stepCristian Adam2019-10-091-0/+86
|
* Revise include order using clang-format-6.0Kitware Robot2019-10-011-2/+4
| | | | | 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.
* Merge topic 'add-genex-evaluate-utility'Brad King2019-09-241-73/+38
|\ | | | | | | | | | | | | | | | | | | | | 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
| * cmGeneratorExpression: Add cmGeneratorExpression::Evaluate utilityDaniel Eiband2019-09-231-32/+21
| | | | | | | | | | | | | | cmGeneratorExpression::Evaluate is a shortcut when only the evaluated string is needed or an instance of cmCompiledGeneratorExpression cannot be cached. Fixes: #19686
| * cmGeneratorExpression: Remove Evaluate overload by parameter re-orderingDaniel Eiband2019-09-221-8/+9
| | | | | | | | | | | | | | | | 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.
| * cmGeneratorExpression: Move quiet flag to cmCompiledGeneratorExpressionDaniel Eiband2019-09-221-17/+17
| | | | | | | | | | | | 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.
| * cmGeneratorTarget: Remove unused virtual signature of TargetPropertyEntryDaniel Eiband2019-09-211-35/+10
| | | | | | | | | | Remove unused virtual Evaluate signature of TargetPropertyEntry. Also remove the boolean parameter quiet.
* | Do not collect objects from dependencies of object librariesBrad King2019-09-201-4/+7
|/ | | | | | | | | | | 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>
* Merge topic 'cmake-system-headers'Brad King2019-09-201-1/+2
|\ | | | | | | | | | | | | | | 4a08690ccf cmstd: Extend header <cm/iterator> c688b401d3 cmstd: Modernize CMake system headers Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3776
| * cmstd: Modernize CMake system headersMarc Chevrier2019-09-201-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | Merge topic 'fileapiLinkPathAndLinkDirBacktraces'Brad King2019-09-201-1/+1
|\ \ | |/ |/| | | | | | | | | | | | | | | | | | | | | | | 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
| * cmGeneratorTarget: Store backtrace for target LINK_DIRECTORIES propertyJustin Goshi2019-09-181-1/+1
| |
* | Precompile Headers: Add REUSE_FROM signatureCristian Adam2019-09-171-41/+90
| | | | | | | | | | | | | | Add the ability to share precompiled headers artifacts between targets. Fixes: #19659
* | Merge topic 'tidy-deprecated-headers'Brad King2019-09-161-5/+5
|\ \ | | | | | | | | | | | | | | | | | | f30523d090 clang-tidy: modernize-deprecated-headers Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3792
| * | clang-tidy: modernize-deprecated-headersRegina Pfeifer2019-09-161-5/+5
| | |
* | | Depend: Hook up automatic target-level dependencies via byproductsDaniel Eiband2019-09-121-12/+23
|/ / | | | | | | | | | | | | | | 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
* | Merge topic 'modernize-use-auto'Brad King2019-09-121-28/+19
|\ \ | |/ |/| | | | | | | | | d25a5a7ec9 clang-tidy: modernize-use-auto Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3783
| * clang-tidy: modernize-use-autoRegina Pfeifer2019-09-101-28/+19
| | | | | | | | | | | | 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.
* | Merge topic 'MoveIfDifferent'Brad King2019-09-101-4/+2
|\ \ | |/ |/| | | | | | | | | | | 5b96fd5b81 use cmSystemTools::MoveFileIfDifferent() 5eaf1e1be2 cmSystemTools: introduce MoveFileIfDifferent() Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3794
| * use cmSystemTools::MoveFileIfDifferent()Rolf Eike Beer2019-09-091-4/+2
| | | | | | | | | | | | | | | | | | | | 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
* | clang-tidy: modernize-return-braced-init-listRegina Pfeifer2019-09-061-23/+20
|/
* clang-tidy: Replace typedef with usingRegina Pfeifer2019-09-041-2/+2
| | | | | | | | Automate the conversion with perl -i -0pe 's/typedef ([^;]*) ([^ ]+);/using $2 = $1;/g' then manually fix a few places.
* clang-tidy: Replace typedef with usingRegina Pfeifer2019-09-031-1/+1
|
* IWYU: Add missing cstddef includes for size_t and nullptr_tBrad King2019-09-031-0/+1
| | | | The IWYU tool we use for CI now diagnoses these.
* Merge topic 'add-non-empty-configurations-getter'Brad King2019-09-031-20/+8
|\ | | | | | | | | | | | | 10507c6dc0 cmMakefile: Add configurations getter with empty configuration default Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3759
| * cmMakefile: Add configurations getter with empty configuration defaultDaniel Eiband2019-08-301-20/+8
| |
* | cmSourceFile: Rename mutating GetFullPath() overloadDaniel Eiband2019-08-291-9/+9
|/ | | | Rename mutating GetFullPath() overload to ResolveFullPath().
* Merge topic 'precompile-headers'Brad King2019-08-291-0/+153
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * Precompile headers: Add methods to generate PCH sourcesCristian Adam2019-08-281-0/+110
| | | | | | | | Co-Author: Daniel Pfeifer <daniel@pfeifer-mail.de>
| * PCH: add PRECOMPILE_HEADERS to special propertiesDaniel Pfeifer2019-08-261-0/+43
| |
* | cmSourceFile: Rename non-const GetLanguageTushar Maheshwari2019-08-271-2/+2
|/ | | | | | | | GetOrDetermineLanguage: - Read the property if available - Determine the Language using the file extension Fix all usage of the non-const member in the repository.
* Merge topic 'source_sweep_ostringstream_single'Brad King2019-08-261-4/+3
|\ | | | | | | | | | | | | 3b2b02825d Source sweep: Replace std::ostringstream when used with a single append Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3726
| * Source sweep: Replace std::ostringstream when used with a single appendSebastian Holtermann2019-08-231-4/+3
| | | | | | | | | | | | | | This replaces `std::ostringstream`, when it is written to only once. If the single written argument was numeric, `std::to_string` is used instead. Otherwise, the single written argument is used directly instead of the `std::ostringstream::str()` invocation.
* | Source sweep: Replace cmExpandList with the shorter cmExpandedListSebastian Holtermann2019-08-231-22/+11
|/ | | | | | | | | | | | This replaces the code pattern ``` std::vector<std::string> args; cmExpandList(valueStr, args, ...) ``` with ``` std::vector<std::string> args = cmExpandedList(valueStr, ...) ```
* Source sweep: Use cmStrCat for string concatenationSebastian Holtermann2019-08-221-107/+73
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch is generated by a python script that uses regular expressions to search for string concatenation patterns of the kind ``` std::string str = <ARG0>; str += <ARG1>; str += <ARG2>; ... ``` and replaces them with a single `cmStrCat` call ``` std::string str = cmStrCat(<ARG0>, <ARG1>, <ARG2>, ...); ``` If any `<ARGX>` is itself a concatenated string of the kind ``` a + b + c + ...; ``` then `<ARGX>` is split into multiple arguments for the `cmStrCat` call. If there's a sequence of literals in the `<ARGX>`, then all literals in the sequence are concatenated and merged into a single literal argument for the `cmStrCat` call. Single character strings are converted to single char arguments for the `cmStrCat` call. `std::to_string(...)` wrappings are removed from `cmStrCat` arguments, because it supports numeric types as well as string types. `arg.substr(x)` arguments to `cmStrCat` are replaced with `cm::string_view(arg).substr(x)`