summaryrefslogtreecommitdiffstats
path: root/Source
Commit message (Collapse)AuthorAgeFilesLines
* CMake 3.10.3v3.10.3Brad King2018-03-161-1/+1
|
* Merge branch 'ccmake-stack-smashing' into release-3.10Brad King2018-03-131-1/+1
|\ | | | | | | Merge-request: !1836
| * ccmake: fix status line buffer overflow on very wide terminalsTianhao Chai2018-03-131-1/+1
| | | | | | | | | | A mistyped length calculation will memset across stack frame when the user's terminal width is larger than 270.
* | Autogen: Fix for the empty source file crash in 3.10.2Sebastian Holtermann2018-03-091-7/+13
|/ | | | Issue: #17793
* CMake 3.10.2v3.10.2Brad King2018-01-181-1/+1
|
* Merge branch 'backport-autogen-nexist-source-fix' into release-3.10Brad King2018-01-101-5/+17
|\ | | | | | | Merge-request: !1650
| * Autogen: Ignore not existing source files in cmMakefileSebastian Holtermann2018-01-101-5/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Until CMake 3.10 a list of source files that had the AUTOUIC_OPTIONS property populated was kept in `cmMakefile::QtUiFilesWithOptions`. In the process to remove all AUTOUIC related code from `cmMakefile` for CMake 3.10, the pre filtered list was replaced by a loop in `cmQtAutoGeneratorInitializer` over all source files in the `cmMakefile`. This loop introduced the problem that file paths were computed for source files that weren't in the target's sources and that might not even have existed. If the path for an unused and not existing file was computed a `cmake::FATAL_ERROR` with the error message "Cannot find source file:" was thrown nevertheless. This caused some projects to fail in CMake 3.10. This patch adds a test for path errors in the loops in `cmQtAutoGeneratorInitializer` that iterate over all source files in a `cmMakefile`. If a path error appears, the file is silently ignored. If the file is part of the target's sources, the path error will still be caught in the loop over all the target's sources. This is the fix for CMake 3.10.1.
* | Merge branch 'backport-autogen-nested-lists-fix' into release-3.10Brad King2017-12-202-1/+4
|\ \ | | | | | | | | | Merge-request: !1606
| * | Autogen: Fix for problematic nested list separatorSebastian Holtermann2017-12-202-1/+4
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | In the AutogenInfo.cmake file the separator for nested lists was `@LSEP@` which led to a speed regression because the `@` character triggered an (unsuccessful) expression evaluation. By setting the policy version of the CMake instance in the `_autogen` target to 3.9, the OLD `@` evaluating behavior controlled by policy CMP0053 is disabled. Also the nested lists separator string is changed to `<<<S>>>`, which solves the problem twofold. Issue: #17570
* | cmGraphVizWriter: Updated to create and follow dependers for interface targetsJoel T. Frederico2017-12-142-15/+27
|/ | | | | Generating graphs of dependencies now uses interface targets, but graphs of dependers did not include interface targets.
* CMake 3.10.1v3.10.1Brad King2017-12-131-1/+1
|
* Merge branch 'automoc-apple-framework' into release-3.10Brad King2017-12-071-24/+23
|\ | | | | | | Merge-request: !1561
| * Autogen: Fix for AUTOMOC on macOS frameworks in CMake 3.10Sebastian Holtermann2017-12-071-24/+23
| | | | | | | | | | | | | | Revert the library target dependency forwarding to the `_autogen` target to the 3.9.6 way, only now using `GetLinkImplementationLibraries`. Fixes: #17278
* | Merge branch 'backport-revert-server-target-backtraces' into release-3.10Brad King2017-12-062-54/+0
|\ \ | | | | | | | | | Merge-request: !1564
| * | server: Revert "Report backtraces in codemodel response"Brad King2017-12-062-54/+0
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The backtrace information is very repetitive and hugely increases the size of the codemodel object. We need to remove it until an alternative representation can be developed. Revert commit v3.10.0-rc1~393^2 (server: Report backtraces in codemodel response, 2017-06-20), except for the protocol version number (because it indicates other new things). Unfortunately this is incompatible with clients that expect the "crossReferences" field in targets. However, the regression in memory usage is quite serious, especially on large projects, and therefore breaks even older clients that do not use backtraces. Since the "crossReferences" field was only provided by one release (3.10.0), it is simplest to revert it outright for 3.10.1. Fixes: #17502
* | CPack: Fix macOS PKG component dependency informationAlexander Wittig2017-12-011-1/+1
|/ | | | | | | | | | | | | | Refactoring in commit v3.7.0-rc1~523^2 (CPack/PackageMaker: port to cmXMLWriter, 2016-06-08) accidentally broke `distribution.dist` generation when there are dependencies between components and the pkg (or the derived productbuild) generator are used. The resulting package cannot be installed and instead the Apple Installer app shows a "Javascript error" message. The problem is that a `std::ostringstream` is constructed with some content, but the stream pointer still points to the beginning of the stream, so subsequent writes overwrite the initial content instead of appending.
* CMake 3.10.0v3.10.0Brad King2017-11-201-1/+1
|
* Merge branch 'fix-cmake-server-bad-buffering' into release-3.10Brad King2017-11-201-3/+2
|\ | | | | | | Merge-request: !1498
| * server: Fix regression in partial message handlingvector-of-bool2017-11-201-3/+2
| | | | | | | | | | | | | | | | If a partial message is flushed into the input pipe for CMake Server, the parser will try and parse it as a full message because of some bad loop checks. This was introduced accidentally in commit v3.10.0-rc1~365^2~2 (server: Refactor to make the event loop owned by server object, 2017-03-24).
* | cmake-gui: Add build option to use Qt5 windows plugin staticallyBrad King2017-11-132-1/+11
|/ | | | This will enable builds against a static Qt5 on Windows.
* CMake 3.10.0-rc5v3.10.0-rc5Brad King2017-11-101-1/+1
|
* Windows: Do not report manifest tool update notification as failureBrad King2017-11-101-14/+23
| | | | | | | | | A diagnostic message added in commit v3.10.0-rc1~59^2 (Windows: Improve link-time error messages when rc or mt fail, 2017-09-22) incorrectly reports the `mt /notify_update` special return code as a failure. Fix the logic to consider the special return codes as success. Fixes: #17444
* CMake 3.10.0-rc4v3.10.0-rc4Brad King2017-11-011-1/+1
|
* Autogen: Don't use AUTOMOC_MOC_OPTIONS in moc-predefs commandSebastian Holtermann2017-10-311-3/+7
| | | | Closes #17418
* Autogen: Make rcc output file suffix static (instead of pseudo-random)Sebastian Holtermann2017-10-301-2/+2
|
* Merge branch 'autogen-qrc-file-name' into release-3.10Brad King2017-10-301-5/+15
|\ | | | | | | Merge-request: !1422
| * Autogen: RCC: Append checksum suffix to wrapped file nameSebastian Holtermann2017-10-291-5/+15
| | | | | | | | Closes #17404
* | Merge branch 'backport-fix-co-compile' into release-3.10Brad King2017-10-272-82/+75
|\ \ | | | | | | | | | Merge-request: !1418
| * | cmcmd: Restore support for running multiple lint toolsBrad King2017-10-271-56/+66
| | | | | | | | | | | | | | | | | | | | | Refactoring in commit v3.10.0-rc1~115^2 (Clean up iwyu code to not be one big if statement, 2017-08-28) incorrectly changed the logic to run only one lint tool at a time. Restore support for running all tools specified on the command-line.
| * | cmcmd: Convert lint handlers to file-static functionsBrad King2017-10-272-29/+12
| | | | | | | | | | | | These do not need to be declared in the header.
| * | cmcmd: Rename loop iteration variable for clarityBrad King2017-10-271-2/+2
| |/
* | Merge branch 'autogen-static-library-cycles' into release-3.10Brad King2017-10-271-17/+83
|\ \ | | | | | | | | | Merge-request: !1408
| * | Autogen: Don't add STATIC_LIBRARY cycle targets to the _autogen dependenciesSebastian Holtermann2017-10-271-17/+83
| |/ | | | | | | | | | | | | When a STATIC_LIBRARY cycle is detected we don't add any STATIC_LIBRARY target from the cycle to the `_autogen` target dependencies. Closes #17389
* | Merge branch 'cmp0040-wording' into release-3.10Brad King2017-10-261-1/+1
|\ \ | |/ |/| | | Merge-request: !1415
| * CMP0040: Clarify policy warning to match documentationBrad King2017-10-261-1/+1
| | | | | | | | | | | | | | | | | | In commit v3.5.0-rc1~8^2~2 (Help: Clarify policy `CMP0040` documentation, 2016-01-28) the documentation was clarified to indicate that the target must be defined in the current directory. Do the same for the text of the policy warning itself. Fixes: #17399
* | CMake 3.10.0-rc3v3.10.0-rc3Brad King2017-10-191-1/+1
| |
* | Merge branch 'vs-cuda-machine' into release-3.10Brad King2017-10-171-0/+7
|\ \ | | | | | | | | | Merge-request: !1390
| * | VS: Set CUDA TargetMachinePlatform explicitly on x64Brad King2017-10-171-0/+7
| |/ | | | | | | | | | | | | | | | | | | The `TargetMachinePlatform` setting tells CUDA what `--machine {32,64}` flag to pass to nvcc. While CUDA automatically chooses the proper default for the target architecture, it does not reflect this in the user-visible IDE settings. Set it explicitly to fix the user-visible setting. Fixes: #17355
* | Merge branch 'vs-2017-cl-check' into release-3.10Brad King2017-10-162-25/+40
|\ \ | | | | | | | | | Merge-request: !1388
| * | VS: Detect compiler component in VS 2017 instances more reliablyBrad King2017-10-162-19/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The `Microsoft.VisualStudio.Component.VC.Tools.x86.x64` component is not the only way a VS instance may provide the `cl` compiler tool. For example, VS 2017 Express Edition does not install that component. Instead search for the tools directly on disk within an instance. Suggested-by: Rich Chiodo <rchiodo@microsoft.com> Fixes: #17349
| * | cmVSSetupHelper: Fix install location encoding conversionBrad King2017-10-161-2/+3
| | |
| * | cmVSSetupHelper: Factor out install location string constructionBrad King2017-10-162-6/+12
| |/ | | | | | | This also adds a missing conversion to unix slashes in one code path.
* | Merge branch 'imported-interface-no-system' into release-3.10Brad King2017-10-132-5/+9
|\ \ | | | | | | | | | Merge-request: !1386
| * | Do not initialize NO_SYSTEM_FROM_IMPORTED on INTERFACE librariesBrad King2017-10-132-5/+9
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | The change in commit v3.8.0-rc1~276^2 (Allow NO_SYSTEM_FROM_IMPORTED on imported INTERFACE libraries, 2016-11-21) was incorrect. The property is not meant to be set on imported targets at all. It is meant to be set on their consumers that compile sources. Since INTERFACE libraries have no sources to compile, the property is not needed on them. Revert most of that change. Unfortunately we must still tolerate project code setting NO_SYSTEM_FROM_IMPORTED on INTERFACE libraries because they were allowed by CMake 3.8 and 3.9. Issue: #17348
* | CMake 3.10.0-rc2v3.10.0-rc2Brad King2017-10-121-1/+1
| |
* | Autogen: Allow setting SKIP_AUTOUIC/GEN on .ui files not in the sourcesSebastian Holtermann2017-10-091-6/+10
| | | | | | | | | | SKIP_AUTOUIC and SKIP_AUTOGEN were ignored when set on a `.ui` file that was not in the sources of the target.
* | Merge branch 'minor-fixes' into release-3.10Brad King2017-10-064-6/+8
|\ \ | | | | | | | | | Merge-request: !1349
| * | cmInstallCommandArguments: do not access static members through `this`Matthias Maennich2017-10-051-3/+3
| | |
| * | cmProcessTools: fix minor issue introduced by 595feb3Matthias Maennich2017-10-051-1/+1
| | |
| * | cmGeneratorTarget: remove dead codeMatthias Maennich2017-10-051-1/+1
| | | | | | | | | | | | explicitLibraries can never be nullptr at this point