summaryrefslogtreecommitdiffstats
path: root/Source
Commit message (Collapse)AuthorAgeFilesLines
* CUDA: Compilers can now state they don't require a device linking stepRobert Maynard2019-08-061-0/+5
|
* CMake Nightly Date StampKitware Robot2019-08-061-1/+1
|
* Merge topic 'control-block3'Brad King2019-08-0516-540/+437
|\ | | | | | | | | | | | | | | | | | | | | | | 41364824ad cmFunctionBlocker: Recycle functions 6491270e0d cmFunctionBlocker: Move check for matching args af24e4ef6e cmFunctionBlocker: Move common logic to base ef38ff22f7 cm*FunctionBlocker: Extract function Replay b51fba6298 cmMakefile: Add OnExecuteCommand callback c76500949d cm*FunctionBlocker: Move to source file Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3632
| * cmFunctionBlocker: Recycle functionsRegina Pfeifer2019-07-317-20/+18
| |
| * cmFunctionBlocker: Move check for matching argsRegina Pfeifer2019-07-309-100/+65
| |
| * cmFunctionBlocker: Move common logic to baseRegina Pfeifer2019-07-309-169/+77
| |
| * cm*FunctionBlocker: Extract function ReplayRegina Pfeifer2019-07-305-227/+272
| |
| * cmMakefile: Add OnExecuteCommand callbackRegina Pfeifer2019-07-303-31/+17
| | | | | | | | | | In cmCTestScriptHandler, port away from cmFunctionBlocker and update the elapsed time with the new callback instead.
| * cm*FunctionBlocker: Move to source fileRegina Pfeifer2019-07-3010-90/+85
| |
* | Merge topic 'cleanup_cmake_constructor'Brad King2019-08-052-54/+31
|\ \ | | | | | | | | | | | | | | | | | | 0962589627 cmake: Initialize booleans at declaration and cleanup constructor Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3646
| * | cmake: Initialize booleans at declaration and cleanup constructorSebastian Holtermann2019-08-032-54/+31
| | |
* | | Merge topic 'shared-deps-no-iface'Brad King2019-08-052-7/+7
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | d75cad01f0 Fix rpath-link for shared lib with only private deps 4b2e1fc9ee cmGeneratorTarget: Use local var to de-duplicate CMP0022 checks 94648953be cmLinkItem: Simplify tracking of whether link interface is explicit Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3642
| * | | Fix rpath-link for shared lib with only private depsBrad King2019-08-021-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Under CMP0022 NEW behavior, the link interface is explicit even if there are no public dependencies (`INTERFACE_LINK_LIBRARIES` is not set). Mark it as such to activate our tracking of private runtime dependencies of shared libraries for generation of `-rpath-link` flags. Fixes: #19556
| * | | cmGeneratorTarget: Use local var to de-duplicate CMP0022 checksBrad King2019-08-021-4/+4
| | | |
| * | | cmLinkItem: Simplify tracking of whether link interface is explicitBrad King2019-08-022-3/+3
| | | | | | | | | | | | | | | | We now only need a boolean.
* | | | Merge topic 'link-library-file-flag'Brad King2019-08-053-10/+6
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | f6d6dbc293 Make CMAKE_LINK_LIBRARY_FILE_FLAG work like CMAKE_LINK_LIBRARY_FLAG Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3641
| * | | | Make CMAKE_LINK_LIBRARY_FILE_FLAG work like CMAKE_LINK_LIBRARY_FLAGBrad King2019-08-023-10/+6
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | | Merge topic 'fileapi-install-generators'Brad King2019-08-054-7/+22
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-314-7/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | | | CMake Nightly Date StampKitware Robot2019-08-051-1/+1
| | | | |
* | | | | CMake Nightly Date StampKitware Robot2019-08-041-1/+1
| |_|/ / |/| | |
* | | | CMake Nightly Date StampKitware Robot2019-08-031-1/+1
| |/ / |/| |
* | | Merge topic 'use_cmHasPrefix'Brad King2019-08-0214-22/+29
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | a693e875db Cleanups: Use cmHas{Prefix,Suffix} instead of String{Starts,Ends}With Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3637
| * | | Cleanups: Use cmHas{Prefix,Suffix} instead of String{Starts,Ends}WithSebastian Holtermann2019-08-0114-22/+29
| | | |
* | | | Merge topic 'cmStringAlgorithms_modernize'Brad King2019-08-023-44/+156
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4aa555f9da Tests: Add CMakeLib.testStringAlgorithms test 75cf7ec263 cmStringAlgorithms: Modernize cmWrap using cm::string_view e5d3ea22d4 cmStringAlgorithms: Add cmCatViews and cmStrCat functions a7d0fe9c24 cmStringAlgorithms: Simplify cmJoin using cm::string_view 541361a58b cmStringAlgorithms: Simplify cmStrCmp using cm::string_view Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3628
| * | | | cmStringAlgorithms: Modernize cmWrap using cm::string_viewSebastian Holtermann2019-08-011-7/+11
| | | | |
| * | | | cmStringAlgorithms: Add cmCatViews and cmStrCat functionsSebastian Holtermann2019-08-013-0/+124
| | | | |
| * | | | cmStringAlgorithms: Simplify cmJoin using cm::string_viewSebastian Holtermann2019-08-011-19/+10
| | | | |
| * | | | cmStringAlgorithms: Simplify cmStrCmp using cm::string_viewSebastian Holtermann2019-08-011-21/+14
| |/ / /
* | | | CMake Nightly Date StampKitware Robot2019-08-021-1/+1
|/ / /
* | | 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