summaryrefslogtreecommitdiffstats
path: root/Source/cmGeneratorTarget.cxx
Commit message (Collapse)AuthorAgeFilesLines
* Merge topic 'pch-file-time' into release-3.17Brad King2020-02-271-0/+13
|\ | | | | | | | | | | | | 7e9b9fe918 PCH: Copy the timestamp from an absolute header file Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4400
| * PCH: Copy the timestamp from an absolute header fileCristian Adam2020-02-261-0/+13
| | | | | | | | | | | | | | | | | | | | If `target_precompile_headers` contains a file from the project, then CMake will set the timestamp for `cmake_pch.h|xx` from that file. This helps with ccache and precompile headers. Fixes: #19923
* | Ninja Multi-Config: Fix issue with framework dependencies and AutogenKyle Edwards2020-02-171-14/+17
|/ | | | Fixes: #20345
* Source: use std::string in place of const char*Vitaly Stakhovsky2020-01-291-10/+12
|
* macOS: Add OSX_COMPATIBILITY_VERSION and OSX_CURRENT_VERSION propertiesIsuru Fernando2020-01-241-6/+16
| | | | Fixes: #17652
* Merge topic 'multi-ninja-pch'Brad King2020-01-201-2/+9
|\ | | | | | | | | | | | | a55df20499 Multi-Ninja: Add precompile headers support Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4201
| * Multi-Ninja: Add precompile headers supportCristian Adam2020-01-171-2/+9
| | | | | | | | Fixes: #19789
* | Merge topic 'acc-fix-in-source-depends-path'Brad King2020-01-201-0/+11
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ba3a417dce Tests/CustomCommand: add a test for depending on a `./path` e23475dc73 Tests/CustomCommand: fix custom command line to actually make its output db4780d584 cmGeneratorTarget: search for relative paths to the binary directory ec479f101f cmLocalGenerator: collapse the path after construction fd0ba705ce add_custom_command: check if a relative path should be an in-source path fd84f510f8 cmLocalGenerator: simplify the current source dir query Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4195
| * | cmGeneratorTarget: search for relative paths to the binary directoryBen Boeckel2020-01-161-0/+11
| |/ | | | | | | | | | | Dependencies in the form `./somepath.txt` are not found otherwise because we only match on last-path-component searches and `.` never shows up in a full path as a full component.
* | Merge topic 'out-of-dir-link-list'Brad King2020-01-171-31/+46
|\ \ | |/ |/| | | | | | | | | | | | | f0e67da061 target_link_libraries: Fix out-of-dir linking of a list of targets acee629103 cmTargetLinkLibrariesCommand: Move HandleLibrary to helper struct ba675f1ecc Tests: Enable CMP0022 in ExportImport out-of-dir linking case Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4226
| * target_link_libraries: Fix out-of-dir linking of a list of targetsBrad King2020-01-161-31/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | | | In a case like target_link_libraries(targetInOtherDir PUBLIC "$<1:a;b>") then all entries in the list need to be looked up in the caller's scope. Previously our `::@(directory-id)` suffix would apply only to the last entry. Instead surround the entire entry by a pair `::@(directory-id);...;::@` so that the `::@` syntax can encode a directory lookup scope change evaluated as the list is processed. Fixes: #20204
* | Merge topic 'avoid-getcwd'Brad King2020-01-151-1/+2
|\ \ | |/ |/| | | | | | | | | 22f38c0d6b cmake: avoid getcwd in `CollapseFullPath` Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4218
| * cmake: avoid getcwd in `CollapseFullPath`Tim Blechmann2020-01-141-1/+2
| | | | | | | | | | | | `CollapseFullPath` calls getcwd, which is a rather expensive system call. we can replace it with `GetHomeOutputDirectory()` to save us from the calling overhead
* | clang-format: fix erroneous handling of header <queue>Marc Chevrier2020-01-061-2/+1
| | | | | | | | The rule Regex: '^<' was not applied to this header because a more specific one applies: Regex: '^(<|")Qt?[A-Z]' used for Qt headers (rules are not case-sensitive). So adding a specific rule for this header before the Qt rule is required.
* | Add set_property option: DEPRECATIONJoseph Snyder2020-01-021-0/+28
|/ | | | | | | | | | | | Add a new property flag for a target which contains a message regarding deprecation status. Add a warning at "Generate" time if a linked target is marked as deprecated. Expand ExportImport test to ensure that new property is being set and passed correctly. Ensure that the message is shown during the "Generate" step run of the ExportImport test.
* Ninja: Add multi-config variantKyle Edwards2019-12-131-4/+6
| | | | Co-Authored-by: vector-of-bool <vectorofbool@gmail.com>
* Link properties: must be transitive over private dependency on static libraryMarc Chevrier2019-12-121-2/+2
| | | | | | Ensure transitivity over multiple static libraries. Fixes: bbba701899 (Link properties: must be transitive over private dependency on static library, 2019-12-06)
* Merge topic 'link-options-propagation'Brad King2019-12-091-14/+22
|\ | | | | | | | | | | | | bbba701899 Link properties: must be transitive over private dependency on static library Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4120
| * Link properties: must be transitive over private dependency on static libraryMarc Chevrier2019-12-091-14/+22
| | | | | | | | Fixes: #20022
* | Add support for WINDOWS_EXPORT_ALL_SYMBOLS when cross-compiling to WindowsIsuru Fernando2019-12-061-2/+2
|/ | | | Implement `__create_def` using `llvm-nm` (when given as `CMAKE_NM`).
* 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
| | |