summaryrefslogtreecommitdiffstats
path: root/Source/cmFileAPICodemodel.cxx
Commit message (Collapse)AuthorAgeFilesLines
* fileapi: Add installers to codemodel-v2 "directory" objectBrad King2021-03-161-3/+217
| | | | Co-Authored-by: Kyle Edwards <kyle.edwards@kitware.com>
* fileapi: Add backtraceGraph to codemodel-v2 "directory" objectBrad King2021-03-161-0/+13
| | | | Co-Authored-by: Kyle Edwards <kyle.edwards@kitware.com>
* fileapi: Add a "directory" object to codemodel-v2Brad King2021-03-161-1/+71
| | | | | | This object will contain more detailed directory-level information. Co-Authored-by: Kyle Edwards <kyle.edwards@kitware.com>
* fileapi: Re-organize backtrace infrastructureBrad King2021-03-161-84/+84
| | | | Make it available to more parts of the codemodel object.
* cmFileAPICodemodel: Build map from each target to its indexBrad King2021-03-161-0/+7
|
* clang-tidy: fix `readability-qualified-auto` warningsBen Boeckel2021-01-271-1/+1
|
* Code style: add missed explicit 'this->'Oleksandr Koval2021-01-051-1/+1
| | | | | CMake uses explicit 'this->' style. Using custom clang-tidy check we can detect and fix places where 'this->' was missed.
* cmMakefile::GetDefinition: return cmPropVitaly Stakhovsky2020-09-021-8/+8
|
* fileapi: Add INTERFACE libraries with SOURCES to codemodel-v2Brad King2020-08-071-1/+1
| | | | | | | | | | | | 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
* fileapi: Support multiple backtraces for language standardJustin Goshi2020-07-061-14/+55
|
* cmMakefile: Refactor API to better handle empty config valuesRobert Maynard2020-07-031-1/+1
|
* fileapi: Extend codemodel targets with language standardJustin Goshi2020-06-261-0/+36
|
* Single location for cmProp typedefVitaly Stakhovsky2020-06-011-0/+1
|
* Merge topic 'fileApiAddPrecompileHeadersBacktrace'Brad King2020-05-251-0/+30
|\ | | | | | | | | | | | | | | | | | | 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
| * fileapi: Extend codemodel targets with PRECOMPILE_HEADERSJustin Goshi2020-05-221-0/+30
| |
* | Refactoring: Third-parties public headers are under cm3p prefixMarc Chevrier2020-05-071-1/+1
|/ | | | Fixes: #20666
* cmGeneratorTarget::GetProperty: return cmPropVitaly Stakhovsky2020-04-291-2/+2
|
* cmSourceFile::GetProperty: return cmPropVitaly Stakhovsky2020-04-141-4/+4
|
* PCH: Add support for multi architecture iOS projectsCristian Adam2020-04-021-6/+19
| | | | Fixes: #20497
* cmMakefile: modernize memory managementMarc Chevrier2020-01-141-2/+3
|
* cmGlobalGenerator: modernize memrory managemenbtMarc Chevrier2019-12-301-1/+1
|
* Refactoring: use append functions from cmext/algorithmMarc Chevrier2019-12-171-2/+3
|
* cmLocalGenerator: modernize memory managementMarc Chevrier2019-12-091-4/+4
|
* Merge topic 'unity-HEADER_FILE_ONLY'Brad King2019-11-121-0/+1
|\ | | | | | | | | | | | | 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/+1
| | | | | | | | | | | | Fixes: #19946 Fixes: #19947 Co-authored-by: Craig Scott <craig.scott@crascit.com>
* | cmFileAPI: Resolve full path in PCH source comparisonDaniel Eiband2019-11-111-1/+1
|/ | | | Issue: 19927
* PCH: Generate sources during Compute stepCristian Adam2019-10-091-0/+26
|
* Revise include order using clang-format-6.0Kitware Robot2019-10-011-15/+15
| | | | | 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.
* fileapi: add some source property backtracesJustin Goshi2019-09-261-22/+44
| | | | | Support backtraces for COMPILE_DEFINITIONS, COMPILE_OPTIONS, and INCLUDE_DIRECTORIES source properties.
* Merge topic 'fileapiLinkPathAndLinkDirBacktraces'Brad King2019-09-201-8/+12
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * fileapi: add backtraces for LINK_PATH and LINK_DIRECTORIESJustin Goshi2019-09-181-8/+12
| |
* | Merge topic 'modernize-use-auto'Brad King2019-09-121-2/+1
|\ \ | |/ |/| | | | | | | | | d25a5a7ec9 clang-tidy: modernize-use-auto Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3783
| * 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.
* | fileapi: add backtraces for compile/link optionsJustin Goshi2019-09-101-7/+13
|/
* Merge topic 'add-non-empty-configurations-getter'Brad King2019-09-031-8/+5
|\ | | | | | | | | | | | | 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-8/+5
| |
* | Merge topic 'rename-mutating-getfullpath-overload'Brad King2019-09-031-1/+1
|\ \ | | | | | | | | | | | | | | | | | | 2d888e3390 cmSourceFile: Rename mutating GetFullPath() overload Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3757
| * | cmSourceFile: Rename mutating GetFullPath() overloadDaniel Eiband2019-08-291-1/+1
| |/ | | | | | | Rename mutating GetFullPath() overload to ResolveFullPath().
* | Merge topic 'fileapi-CMP0037-OLD'Brad King2019-09-031-0/+6
|\ \ | |/ |/| | | | | | | | | 9da1c33cf1 fileapi: Fix codemodel v2 target file name for CMP0037 OLD behavior Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3760
| * fileapi: Fix codemodel v2 target file name for CMP0037 OLD behaviorBrad King2019-08-301-0/+6
| | | | | | | | | | | | | | With CMP0037 OLD behavior, executable and library target names may contain a slash. Avoid constructing file names with slashes. Fixes: #19653
* | cmSourceFile: Rename non-const GetLanguageTushar Maheshwari2019-08-271-1/+1
| | | | | | | | | | | | | | | | 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 'cmStringAlgorithms_move_functions'Brad King2019-08-071-5/+6
|\ \ | | | | | | | | | | | | | | | | | | | | | 959b97a27f Tests: testStringAlgorithms: Add cmTrimWhitespace, cmEscapeQuotes, cmTokenize 7fbcc16dcd cmStringAlgorithms: cmIsSpace, cmTrimWhitespace, cmEscapeQuotes, cmTokenize Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3647
| * | cmStringAlgorithms: cmIsSpace, cmTrimWhitespace, cmEscapeQuotes, cmTokenizeSebastian Holtermann2019-08-051-5/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds the following functions to `cmStringAlgorithms`: - `cmIsSpace` - `cmTrimWhitespace` (moved from `cmSystemTools::TrimWhitespace`) - `cmEscapeQuotes` (moved from `cmSystemTools::EscapeQuotes`) - `cmTokenize` (moved from `cmSystemTools::tokenize` and adapted to accept `cm::string_view`)
* | | Merge topic 'fileapi-install-generators'Brad King2019-08-051-6/+3
|\ \ \ | |/ / |/| / | |/ | | | | | | d70a0f8681 fileapi: Fix codemodel target install destination for cross-dir rules Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3639
| * fileapi: Fix codemodel target install destination for cross-dir rulesBrad King2019-07-311-6/+3
| | | | | | | | | | | | | | | | | | | | | | | | Since commit e89ad0f94e (install: Allow installing targets created in another directory, 2018-06-18, v3.13.0-rc1~407^2) we support calling `install(TARGETS)` for targets created in another directory. However, install generators are associated with the directory in which the call to `install()` appears. This may not be the same directory in which the target is defined. Record in each target the list of install generators it has. Fixes: #19546
* | fileapi: Compute codemodel compile groups without target-wide settingsBrad King2019-07-301-13/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously we computed the entire description of each source file including all target-wide settings, and then computed compile groups using those complete descriptions. This is inefficient when target-wide settings are large because they are included in comparisons even though they are the same for every source. Instead compute source groups using only the source-specific settings, and then merge the target-wide settings into place only once per unique compile group. This is a slight behavior change in the case that a source-specific compile definition duplicates a target-wide definition. Previously that source would still be grouped with other sources which do not have the definition because they would all get it from the target. Now that source will be in its own compile group even though it ultimately compiles with the same settings as another group. This is acceptable because the source is specified by the project with source-specific settings already. Fixes: #19520
* | fileapi: Compute codemodel compile groups before converting to JsonBrad King2019-07-301-9/+56
| | | | | | | | | | | | | | | | | | | | | | Previously we converted the description of each source file into its compile group Json object and then used the Json object itself as a unique identifier for the group. When source files have large descriptions their Json objects make inefficient map keys requiring deep comparison operations. Instead use our internal `CompileData` structure as a map key. This enables use of a hash map. Issue: #19520
* | fileapi: Generate codemodel Json backtraces earlierBrad King2019-07-301-33/+79
| | | | | | | | | | | | Convert from `cmListFileBacktrace` to Json `backtraceGraph` entries before storing in `CompileData`. This will allow backtraces to be uniquely identified, hashed, and compared as a single integer.
* | fileapi: Refactor codemodel defines de-duplicationBrad King2019-07-291-15/+13
| |
* | fileapi: Avoid unnecessary CompileData moveBrad King2019-07-291-2/+2
| |