summaryrefslogtreecommitdiff
path: root/Source
Commit message (Collapse)AuthorAgeFilesLines
* Cleanups: Use cmHas{Prefix,Suffix} instead of String{Starts,Ends}WithSebastian Holtermann2019-08-0114-22/+29
|
* CMake Nightly Date StampKitware Robot2019-08-011-1/+1
|
* Merge topic 'clang-tidy-8'Brad King2019-07-319-13/+10
|\ | | | | | | | | | | | | 4af094c8df clang-tidy: Blacklist violations for version 8 Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3627
| * clang-tidy: Blacklist violations for version 8Regina Pfeifer2019-07-3010-15/+12
| | | | | | | | | | Check the codebase with clang-tidy version 8, fix the low hanging fruits, blacklist the rest.
* | Merge topic 'fileapi-optimize'Brad King2019-07-311-59/+177
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | b61fcdc8bc fileapi: Compute codemodel compile groups without target-wide settings e337e60a50 fileapi: Compute codemodel compile groups before converting to Json d89c0ecf79 fileapi: Generate codemodel Json backtraces earlier 833d9eae4e fileapi: Refactor codemodel defines de-duplication c9c397a14a fileapi: Avoid unnecessary CompileData move Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3621
| * | 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
| | |
* | | Merge topic 'ninja-1.10'Brad King2019-07-312-45/+34
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | c81a86ee6d Ninja: Record dyndep support by Ninja 1.10 83368b4dd5 Ninja: Drop unused dyndep version check fd58bb83e6 Ninja: Use in-class initialization of global generator members Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Ben Boeckel <ben.boeckel@kitware.com> Merge-request: !3256
| * | | Ninja: Record dyndep support by Ninja 1.10Brad King2019-07-302-4/+10
| | | | | | | | | | | | | | | | | | | | Upstream Ninja 1.10 and above support the `dyndep` feature we need for Fortran.
| * | | Ninja: Drop unused dyndep version checkBrad King2019-07-302-29/+20
| | | | | | | | | | | | | | | | | | | | | | | | Our dyndep support version 1 has been merged to upstream Ninja. We never developed a second dyndep version, so simply drop our checks for different versions.
| * | | Ninja: Use in-class initialization of global generator membersBrad King2019-07-302-16/+8
| | | |
* | | | Merge topic 'source_group-tree-files'Brad King2019-07-311-11/+4
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 93af8a2583 source_group: Fix regression in relative FILES Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3630
| * | | | source_group: Fix regression in relative FILESBrad King2019-07-301-11/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix the check added in commit 8d93815d20 (source_group command ensures that FILES arguments are actually files, 2019-04-25, v3.15.0-rc1~195^2) to convert to an absolute path before checking for existence. Also simplify the conversion to an absolute path. Fixes: #19454
* | | | | Merge topic 'vs-spectre-off'Brad King2019-07-312-5/+8
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | f9b7c660d7 VS: Fix mapping of `-Qspectre-` flag Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3629
| * | | | | VS: Fix mapping of `-Qspectre-` flagBrad King2019-07-302-5/+8
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The mapping for this flag was added by commit 43aa632f57 (VS: Populate `-Qspectre-` flag table entry for v142, 2019-01-24, v3.14.0-rc1~74^2~7). However, it did not do anything because the special logic added by commit bb60ed6e72 (VS: Add flag table entry for -Qspectre, 2018-10-08, v3.13.0-rc1~4^2) to move the `SpectreMitigation` element from `ClCompile` to the top level only handled the presence of the setting and not its value. Extend the special logic to carry the value too. Fixes: #19535
* | | | | CMake Nightly Date StampKitware Robot2019-07-311-1/+1
| |/ / / |/| | |
* | | | Merge topic 'swift-with-interface-libs'Brad King2019-07-301-8/+9
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 601fe84bd1 Swift: Restore support for enabling with INTERFACE libraries Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Wanderley GuimarĂ£es da Silva <wanderley.guimaraes@gmail.com> Acked-by: Guillaume Egles <gegles@gmail.com> Merge-request: !3624
| * | | | Swift: Restore support for enabling with INTERFACE librariesBrad King2019-07-291-8/+9
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The check added in commit b06f4c8a74 (Swift: disallow WIN32_EXECUTABLE properties, 2019-05-31, v3.15.0-rc1~9^2) makes sense only for executables because the `WIN32_EXECUTABLE` property is defined only for them. Running the check on other target types, particularly those that do not link such as INTERFACE libraries, violates internal assumptions. In particular, `GetLinkerLanguage` should not be called on such targets. Fixes: #19528
| * | | CMake 3.15.1v3.15.1Brad King2019-07-261-1/+1
| | | |
| * | | Merge branch 'makefile-depend-relative-include' into release-3.15Brad King2019-07-252-3/+12
| |\ \ \ | | | | | | | | | | | | | | | Merge-request: !3599
| * \ \ \ Merge branch 'fix-emulator-arguments' into release-3.15Brad King2019-07-231-1/+1
| |\ \ \ \ | | | | | | | | | | | | | | | | | | Merge-request: !3591
| * \ \ \ \ Merge branch 'ctest-done-hash' into release-3.15Brad King2019-07-191-9/+9
| |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | Merge-request: !3563
| * \ \ \ \ \ Merge branch 'vs-asmlist-dir' into release-3.15Brad King2019-07-182-4/+2
| |\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Merge-request: !3569
| * | | | | | | Swift: Add library search paths for dependenciesSaleem Abdulrasool2019-07-171-7/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When building Swift executables and libraries which import a module, an implicit link will be added by the driver. Because this links by name rather than path, the library search path needs to be provided to indicate where to find the library. For all local dependencies, add the library paths for the targets when linking. This ensures that you can link against local libraries without explicitly setting a library path. Fixes: #19304
| * | | | | | | Support per-language library link flagsSaleem Abdulrasool2019-07-171-4/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This changes the behaviour of the generators to use a per-language library search path flag. This is needed for multi-language projects with different compilers (e.g. cl + gfortran). Since the adjusted variable has been part of the user settings, we control this based on a policy. Fixes: #19307
* | | | | | | | Merge topic 'cmStringAlgorithms'Kyle Edwards2019-07-3078-165/+216
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | f71f7ce3f0 cmStringAlgorithms: Move string functions to the new cmStringAlgorithms.h Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3618
| * | | | | | | | cmStringAlgorithms: Move string functions to the new cmStringAlgorithms.hSebastian Holtermann2019-07-2978-165/+216
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds the `cmStringAlgorithms.h` header and moves all string functions from `cmAlgorithms.h` to `cmStringAlgorithms.h`.
* | | | | | | | | Merge topic 'function-blocker-stack'Kyle Edwards2019-07-302-46/+30
|\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 020478dbea cmMakefile: Keep function blockers in a stack Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3613
| * | | | | | | | | cmMakefile: Keep function blockers in a stackRegina Pfeifer2019-07-272-46/+30
| | |_|_|_|_|_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | Highlight the fact that we only ever operate on the top element.
* | | | | | | | | Merge topic 'cmake-version'Craig Scott2019-07-305-74/+94
|\ \ \ \ \ \ \ \ \ | |_|_|_|_|_|_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | fe2c558ba6 CMakeVersion: Preserve Git information during 'git archive' 0505a66cbf CMakeVersion: Add generic '-git' suffix when no git info is available f7bf08754b CMakeVersion: Provide Git information in non-exact release versions ac48259333 CMakeVersion: Re-order logic to obviate addition of each component 311f232f7a CMakeVersion: De-duplicate variable initialization 2f608566b4 CMakeVersion: Factor git execution into helper macro 74ff80323c CMakeVersion: Use FindGit module to find Git e1e7986c00 CMakeVersion: Consider Git even with just a `.git` file ... Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3622
| * | | | | | | | CMakeVersion: Preserve Git information during 'git archive'Brad King2019-07-292-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use `export-subst` to get information about the Git commit used to produce an archive.
| * | | | | | | | CMakeVersion: Add generic '-git' suffix when no git info is availableBrad King2019-07-291-0/+6
| | | | | | | | |
| * | | | | | | | CMakeVersion: Provide Git information in non-exact release versionsBrad King2019-07-291-9/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Our exact release commits have a subject of the form `CMake <version>`. Distinguish development on a release branch in commits after such a version but before the next release by providing Git information.
| * | | | | | | | CMakeVersion: Re-order logic to obviate addition of each componentBrad King2019-07-291-16/+19
| | | | | | | | |
| * | | | | | | | CMakeVersion: De-duplicate variable initializationBrad King2019-07-291-4/+2
| | | | | | | | |
| * | | | | | | | CMakeVersion: Factor git execution into helper macroBrad King2019-07-291-24/+23
| | | | | | | | |
| * | | | | | | | CMakeVersion: Use FindGit module to find GitBrad King2019-07-291-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We now require at least CMake 3.1 to build, and that has the FindGit module.
| * | | | | | | | CMakeVersion: Consider Git even with just a `.git` fileBrad King2019-07-291-1/+1
| | | | | | | | |
| * | | | | | | | CMakeVersion: Move git logic to main scriptBrad King2019-07-292-32/+31
| | | | | | | | |
| * | | | | | | | CMakeVersion: Move computation logic to main scriptBrad King2019-07-292-29/+27
| | | | | | | | |
| * | | | | | | | CMakeVersion.rc: Compute resource components only on WindowsBrad King2019-07-292-15/+15
| |/ / / / / / /
* | | | | | | | CMake Nightly Date StampKitware Robot2019-07-301-1/+1
| |/ / / / / / |/| | | | | |
* | | | | | | Merge topic 'modernize_string_view_cmOutputConverter'Brad King2019-07-294-126/+138
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ec892a572b cmOutputConverter: Make shell escaping methods cm::string_view based 8573e20c43 cmOutputConverter: Let GetFortranFormat accept a cm::string_view 4911762358 cmOutputConverter: Return bool instead of int in utility functions a929255dec cmOutputConverter: Let cmOutputConverterIsShellOperator accept cm::string_view 1b30b28c04 cmOutputConverter: Let cmOutputConverterIsShellOperator accept cm::string_view 6675f785be cmOutputConverter: Let EscapeForCMake accept a cm::string_view 09977c1816 cmSystemTool: Let TrimWhitespace accept a cm::string_view 2f19e53705 cmSystemTool: Let HelpFileName accept a cm::string_view ... Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3615
| * | | | | | | cmOutputConverter: Make shell escaping methods cm::string_view basedSebastian Holtermann2019-07-282-63/+62
| | | | | | | |
| * | | | | | | cmOutputConverter: Let GetFortranFormat accept a cm::string_viewSebastian Holtermann2019-07-282-5/+13
| | | | | | | |
| * | | | | | | cmOutputConverter: Return bool instead of int in utility functionsSebastian Holtermann2019-07-282-18/+18
| | | | | | | |
| * | | | | | | cmOutputConverter: Let cmOutputConverterIsShellOperator accept cm::string_viewSebastian Holtermann2019-07-282-4/+3
| | | | | | | |