summaryrefslogtreecommitdiffstats
path: root/Source/cmComputeLinkInformation.cxx
Commit message (Collapse)AuthorAgeFilesLines
...
* Rename cmProp in cmValueMarc Chevrier2021-09-211-18/+19
|
* Refactor: reduce cmToCStr usageMarc Chevrier2021-08-191-5/+2
|
* HIP: Add language to CMakeRobert Maynard2021-06-071-2/+2
|
* OpenWatcom: Add infrastructure to link to object filesBrad King2021-05-291-8/+19
|
* cmComputeLinkInformation: Improve type safety of item IsPath memberBrad King2021-05-291-12/+13
| | | | Use an enum to avoid implicit conversions to bool.
* Genex: Add TARGET_RUNTIME_DLLS genexKyle Edwards2021-02-241-0/+19
| | | | Co-Authored-by: Brad King <brad.king@kitware.com>
* Merge topic 'xcode-framework-path'Brad King2021-02-041-3/+9
|\ | | | | | | | | | | | | | | | | 5389bb4274 Xcode: Don't hard-code SDK-provided implicit framework search paths df08f8df30 cmComputeLinkInformation: Fix misspelt private variable name 375b307bae Apple: Fix linking to frameworks that do not exist until build time Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5760
| * Xcode: Don't hard-code SDK-provided implicit framework search pathsCraig Scott2021-02-031-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | When a framework is linked to a target by its full path and that framework is located in one of the implicit framework search directories, CMake 3.18.5 and earlier discarded that path. ce2dee9e5ba (Xcode: Don't add framework as -framework argument in linker info list, 2020-09-28) introduced a regression which resulted in the framework path always being added to the search path even if it matched one of the implicit search paths. This broke the ability to do device and simulator builds from the same configured project. Fixes: #21678
| * cmComputeLinkInformation: Fix misspelt private variable nameCraig Scott2021-02-031-3/+3
| |
| * Apple: Fix linking to frameworks that do not exist until build timeBrad King2021-02-021-12/+6
| | | | | | | | Fixes: #21621
* | clang-tidy: fix `readability-make-member-function-const` warningsBen Boeckel2021-01-271-0/+3
| |
* | Apple: Fix linking to frameworks that do not exist until build timeBrad King2020-12-211-12/+6
|/ | | | Fixes: #21621
* Xcode: Don't add framework as -framework argument in linker info listGusts Kaksis2020-10-021-5/+11
|
* cmMakefile::GetDefinition: return cmPropVitaly Stakhovsky2020-09-021-34/+32
|
* Source: use cmNonempty()Vitaly Stakhovsky2020-07-281-4/+3
|
* cmIsOn: add overload accepting const std::string*Vitaly Stakhovsky2020-07-141-2/+2
|
* cmComputeLinkInformation: members use std:string argumentsVitaly Stakhovsky2020-07-101-31/+30
|
* Merge topic 'getdef-expand'Brad King2020-06-021-24/+9
|\ | | | | | | | | | | | | 7ed8c9ebe3 cmMakefile: add GetDefExpandList() that splits value into std::vector Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4819
| * cmMakefile: add GetDefExpandList() that splits value into std::vectorVitaly Stakhovsky2020-05-301-24/+9
| | | | | | | | Combines cmMakefile:GetDefinition() and cmExpandList()
* | Single location for cmProp typedefVitaly Stakhovsky2020-06-011-0/+1
|/
* CUDA: Factor runtime library lookup into helper methodBrad King2020-05-221-27/+12
|
* cmGeneratorTarget::GetProperty: return cmPropVitaly Stakhovsky2020-04-291-9/+8
|
* Refactoring: add cm::contains to <cmext/algorithm>Marc Chevrier2020-04-171-8/+8
|
* cmComputeLinkInformation: reserve space in built-up stringBen Boeckel2020-04-131-0/+1
| | | | This should avoid any reallocations that would occur in this function.
* nits: replace some "c" instances with 'c'Ben Boeckel2020-04-131-2/+2
|
* clang-tidy: address bugprone-branch-clone lintsBen Boeckel2020-04-131-1/+0
| | | | | | | | | Arguably, many of these are bugs in `clang-tidy`. An if/else tree with other conditionals between cloned blocks may be relying on the intermediate logic to fall out of the case and inverting this logic may be non-trivial. See: https://bugs.llvm.org/show_bug.cgi?id=44165
* replace std::string::substr() with operations that do not allocate memoryRolf Eike Beer2020-03-231-6/+6
| | | | | Modify the original string instead of creating a new copy with substr() when it is not used for anything else afterwards.
* replace "std::string::find(x) == 0" with cmHasPrefix()Rolf Eike Beer2020-03-231-5/+6
|
* Merge branch 'backport-3.16-link-line-backtrace'Brad King2020-02-101-40/+42
|\
| * Propagate backtraces from LINK_LIBRARIES through to link line itemsBrad King2020-02-101-40/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | Since commit d4d0dd0f6a (cmLinkLineComputer: Add ComputeLinkLibs overload with backtraces, 2019-09-13, v3.16.0-rc1~87^2~4), backtraces have been collected by `ComputeLinkLibs` by looking back through the link implementation libraries for one matching the text of the link line item. This is slow in projects with long link lines. Instead, teach `cmComputeLinkDepends` and `cmComputeLinkInformation` to carry backtrace information explicitly along with the text of each item. Fixes: #20322
* | Merge topic 'modernize-memory-management'Brad King2020-01-281-12/+8
|\ \ | | | | | | | | | | | | | | | | | | b50b2755da cmComputeLinkInformation: modernize memory management Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4285
| * | cmComputeLinkInformation: modernize memory managementMarc Chevrier2020-01-261-12/+8
| |/
* | CUDA: Add abstraction for cuda runtime selectionRobert Maynard2020-01-271-0/+43
|/ | | | | Fixes #17559 Replace our hard-coded default of cudart=static with a first-class abstraction to select the runtime library from an enumeration of logical names.
* Revise include order using clang-format-6.0Kitware Robot2019-10-011-6/+6
| | | | | 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 'fileapiLinkPathAndLinkDirBacktraces'Brad King2019-09-201-0/+35
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * cmComputeLinkInformation: Add GetDirectoriesWithBacktracesJustin Goshi2019-09-181-0/+22
| |
| * cmComputeLinkInformation: Add AppendValues with backtracesJustin Goshi2019-09-181-0/+13
| |
* | clang-tidy: modernize-deprecated-headersRegina Pfeifer2019-09-161-2/+2
| |
* | clang-tidy: modernize-use-autoRegina Pfeifer2019-09-101-2/+1
|/ | | | | | 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.
* Add per-lang variants of CMAKE_LINK_LIBRARY_{FILE_FLAG,SUFFIX}Alan W. Irwin2019-08-271-4/+14
| | | | | | | | | | Extend the change from commit 689be6235e (Generator: support per-language link library flag, 2019-08-08) to cover more link library command-line flag components. Allow compilers for different languages to use different values for these linking-related variables within the same build. Closes: #19631
* Source sweep: Replace cmExpandList with the shorter cmExpandedListSebastian Holtermann2019-08-231-10/+5
| | | | | | | | | | | | 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-63/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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)`
* Merge topic 'cm-contains'Brad King2019-08-211-6/+7
|\ | | | | | | | | | | | | | | | | 2dfc52675c cmAlgorithms: Add cmContains Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Sebastian Holtermann <sebholt@web.de> Acked-by: Daniel Pfeifer <daniel@pfeifer-mail.de> Merge-request: !3700
| * cmAlgorithms: Add cmContainsRegina Pfeifer2019-08-191-6/+7
| | | | | | | | Also, use the new function where applicable.
* | Source sweep: Use cmIsOn instead of cmSystemTools::IsOnSebastian Holtermann2019-08-171-2/+2
|/ | | | | | | | | This replaces invocations of - `cmSystemTools::IsInternallyOn` with `cmIsInternallyOn` - `cmSystemTools::IsNOTFOUND` with `cmIsNOTFOUND` - `cmSystemTools::IsOn` with `cmIsOn` - `cmSystemTools::IsOff` with `cmIsOff`
* Source code: Use cmExpandList instead of cmSystemTools::ExpandListArgumentSebastian Holtermann2019-08-141-11/+11
|
* Generator: support per-language link library flagSaleem Abdulrasool2019-08-091-2/+7
| | | | | | | | This enables the use of MSVC and Swift on Windows in a single project. MSVC uses no flag to indicate linked libraries while Swift uses `-l`. Add support for a language specific link library flag which takes precedence over the global `CMAKE_LINK_LIBRARY_FLAG` which preserves compatibility with earlier releases.
* clang-tidy: Enable performance-inefficient-string-concatenationSebastian Holtermann2019-08-051-1/+1
| | | | | | | Enables the clang-tidy test performance-inefficient-string-concatenation and replaces all inefficient string concatenations with `cmStrCat`. Closes: #19555
* Make CMAKE_LINK_LIBRARY_FILE_FLAG work like CMAKE_LINK_LIBRARY_FLAGBrad King2019-08-021-10/+0
| | | | | | | | | | | | | | | | | | The `CMAKE_LINK_LIBRARY_FILE_FLAG` variable is meant for linkers that want library file paths to be preceded by a flag. This is used only for OpenWatcom to add the `library` argument before library file paths. Refactor the approach to treat `CMAKE_LINK_LIBRARY_FILE_FLAG` as a command-line string fragment to add just before the library file path. This has two advantages: * `CMAKE_LINK_LIBRARY_FILE_FLAG` now works like `CMAKE_LINK_LIBRARY_FLAG`. * `CMAKE_LINK_LIBRARY_FILE_FLAG` can now be an attached flag whose value is the library file path. Technically this is a change in behavior, but this setting was created for internal use and should be rarely used outside of CMake itself. Fixes: #19541
* cmStringAlgorithms: Move string functions to the new cmStringAlgorithms.hSebastian Holtermann2019-07-291-1/+1
| | | | | This adds the `cmStringAlgorithms.h` header and moves all string functions from `cmAlgorithms.h` to `cmStringAlgorithms.h`.