summaryrefslogtreecommitdiffstats
path: root/Source
Commit message (Collapse)AuthorAgeFilesLines
* CMake 3.20.6v3.20.6Brad King2021-09-201-1/+1
|
* Makefiles: Normalize compiler-generated depfile pathsMarc Chevrier2021-07-023-6/+17
| | | | | | | | | | | | Even though Makefile generators pass source files and include directories by absolute path to the compiler, the compiler may generate depfile paths relative to the current working directory. For example, `ccache` with `CCACHE_BASEDIR` may transform paths this way. When reading a depfile, convert relative dependencies to absolute paths before placing them in `compiler_depend.make`, which is later evaluated in the top-level build directory. Fixes: #22364
* CMake 3.20.5v3.20.5Brad King2021-06-211-1/+1
|
* Merge topic 'fix-flow-control-override' into release-3.20Brad King2021-06-173-8/+17
|\ | | | | | | | | | | | | c017098d4d CMake: Allow override of unexpected non-flow-control commands Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6232
| * CMake: Allow override of unexpected non-flow-control commandsKyle Edwards2021-06-163-8/+17
| | | | | | | | Fixes: #22310
* | VS: Do not apply '/external:W*' flag table mapping on VS < 16.10Brad King2021-06-161-4/+14
| | | | | | | | | | | | | | | | | | | | Since commit 9054cd05e6 (VS: Add flag table entries for '/external:W*' flags in VS 16.10, 2021-05-28, v3.20.4~10^2) we map flags to the `ExternalWarningLevel` element. VS 16.9 does not support that element, but its `cl` compiler does support the `/external:W*` flags. Filter out the flag table entry on older VS versions. Fixes: #22308
* | cmGlobalVisualStudio10Generator: Adopt GetVSInstanceVersion methodBrad King2021-06-163-7/+19
| | | | | | | | Port from `cmGlobalVisualStudioVersionedGenerator`.
* | cmGlobalVisualStudio10Generator: Move static functions to anonymous namespaceBrad King2021-06-161-4/+6
|/
* CMake 3.20.4v3.20.4Brad King2021-06-141-1/+1
|
* fileapi: Fix codemodel-v2 link command fragment relative pathsBrad King2021-06-111-4/+5
| | | | | | | Use the same `cmLinkLineComputer` subclass as the generator does. This affects the base directory from which relative paths are computed. Fixes: #22301
* Merge topic 'presets-build-fixes' into release-3.20Brad King2021-06-092-8/+13
|\ | | | | | | | | | | | | | | | | | | 534c40e6d8 presets: Fix buildPreset "targets" not allowing a single string 5d67632813 presets: Fix buildPreset "jobs" 93e396b402 presets: Fix buildPreset "jobs" field test case Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Kyle Edwards <kyle.edwards@kitware.com> Merge-request: !6190
| * presets: Fix buildPreset "targets" not allowing a single stringSam Freed2021-06-081-7/+10
| | | | | | | | Fixes: #22272
| * presets: Fix buildPreset "jobs"Sam Freed2021-06-081-1/+3
| | | | | | | | Fixes: #22273
* | Makefiles: Fix CMAKE_EXPORT_COMPILE_COMMANDS crash with custom compile ruleBrad King2021-05-281-2/+5
| | | | | | | | | | | | | | | | | | | | Extend the fix from commit 67e2130c96 (Makefiles: Fix CMAKE_EXPORT_COMPILE_COMMANDS crash with custom compile rule, 2020-11-20, v3.19.1~8^2) to work for the `<FLAGS>` placeholder too. Also fix the test case to actually enable `EXPORT_COMPILE_COMMANDS` on the test target. Fixes: #22261
* | VS: Add special case for '-T version=14.29.16.10' under VS 16.10Brad King2021-05-271-0/+3
|/ | | | | | | | | | | | | Extend the table of special cases from commit 58a50a3a0a (VS: Fix '-T version=14.28' under VS 16.9, 2021-03-11, v3.19.7~1^2~1). Add a special case for the name VS 16.11 will use for VS 16.10's default toolset, so that it can be used with VS 16.10 too. Using '-T version=14.29.16.10' actually works under VS 16.10 without this change, but only because there is only one 14.29 toolset so the two-component prefix happens to match the right one. Make it explicit. Issue: #21922
* CMake 3.20.3v3.20.3Brad King2021-05-271-1/+1
|
* CMP0082: Check EXCLUDE_FROM_ALL property at generate timeKyle Edwards2021-05-243-5/+4
| | | | Fixes: #22234
* Merge topic 'cmake_build_and_install_command_error_when_given_bad_arguments' ↵Brad King2021-05-142-11/+30
|\ | | | | | | | | | | | | | | | | | | | | into release-3.20 f78b167a23 cmCommandLineArgument: Provide more information syntax error messages 5aa0dec6b0 cmake: `--build` and `--install` error out when encountering bad flags 928cdb17c5 cmCommandLineArgument: Correctly record parsing failures Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6119
| * cmCommandLineArgument: Provide more information syntax error messagesRobert Maynard2021-05-131-3/+4
| |
| * cmake: `--build` and `--install` error out when encountering bad flagsRobert Maynard2021-05-131-2/+24
| | | | | | | | Fixes #22186
| * cmCommandLineArgument: Correctly record parsing failuresRobert Maynard2021-05-121-6/+2
| |
* | Ninja: Restore support for Fortran in a symlinked build treeBrad King2021-05-121-6/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit f3eed2c49d (cmGlobalNinjaGenerator: use P1689 dependency file format for Fortran, 2019-03-12, v3.20.0-rc1~454^2), Fortran stopped working in a build tree whose path contains a symlink. The reason is that the P1689r3 format's `work-directory` field gets populated with the realpath (via `getcwd`) of the build tree instead of the logical path to the build tree used for generating relative paths in `build.ninja`. This causes the `Fortran.dd` file to get absolute (real)paths to `.o` files, and Ninja does not match them with the relative `.o` file paths in `build.ninja`. Fix this by dropping use of the `work-directory` field. This restores our prior approach of generating paths in the dyndep file using the same forms of paths received from the buildsystem generator. The P1689r3 paper's format may need to be revised to account for this. Fixes: #21683
* | ObjectiveC: Respect OSX_ARCHITECTURES for OBJCBrad King2021-05-051-1/+1
| | | | | | | | | | | | | | Fix a typo from commit 940fc62962 (macOS: Respect OSX_ARCHITECTURES for ASM, 2020-08-21, v3.19.0-rc1~270^2). Fixes: #22152
* | Ninja Multi-Config: Split long command lines by configKyle Edwards2021-04-306-30/+54
|/ | | | Fixes: #22123
* CMake 3.20.2v3.20.2Brad King2021-04-291-1/+1
|
* Ninja Multi-Config: Correctly generate POST_BUILD custom targetsKyle Edwards2021-04-221-1/+1
| | | | Fixes: #22096
* Autogen: Restore mocs_compilation in OBJECT librariesBrad King2021-04-201-0/+5
| | | | | | | | | Since commit f65f20938c (Autogen: Avoid processing CSharp targets, 2020-11-12, v3.20.0-rc1~301^2) we collect all sources for a target earlier than previously. Clear the sources cache so that it will be re-computed later after AUTOGEN processing. Fixes: #22085
* Merge topic 'mrjoel/add-missing-not' into release-3.20Brad King2021-04-191-3/+3
|\ | | | | | | | | | | | | 370bebd921 Add missing 'not' in error messages Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6012
| * Add missing 'not' in error messagesJoel Johnson2021-04-161-3/+3
| |
* | autogen: fix race in depfile parsingKyle Edwards2021-04-151-5/+6
|/ | | | | | | | cmReadGccDepfile() calls cmSystemTools::CollapseFullPath(), which is not thread safe due to internal caching. Serialize calls to cmReadGccDepfile() in autogen to avoid thread safety issues. Fixes: #22014
* OpenBSD: Fix system feature definitionsRafael Sadowski2021-04-144-10/+9
| | | | | | | | Since commit f034b0f663 (CMake compilation: do not use compiler extensions, 2020-03-14, v3.18.0-rc1~494^2), some sources explicitly enable needed system APIs on some platforms using definitions like `_POSIX_C_SOURCE` and `_XOPEN_SOURCE`. Drop the definitions for OpenBSD, which provides the POSIX APIs by default.
* CMake 3.20.1v3.20.1Brad King2021-04-081-1/+1
|
* Merge topic 'genex-HOST_LINK-in-try_compile' into release-3.20Brad King2021-04-011-2/+11
|\ | | | | | | | | | | | | 6cf81efe7d Genex: $<HOST_LINK:> and $<DEVICE_LINK:> must be usable in try_compile Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5964
| * Genex: $<HOST_LINK:> and $<DEVICE_LINK:> must be usable in try_compileMarc Chevrier2021-03-311-2/+11
| | | | | | | | Fixes: #22007
* | Merge topic 'CUDA-device-link' into release-3.20Brad King2021-04-011-8/+52
|\ \ | | | | | | | | | | | | | | | | | | bb96984ec9 CUDA Device link: Ensure all link options are correctly formatted Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5962
| * | CUDA Device link: Ensure all link options are correctly formattedMarc Chevrier2021-03-311-8/+52
| |/ | | | | | | Fixes: #21994
* | Merge topic 'make-fix-deps-paths' into release-3.20Brad King2021-04-011-1/+13
|\ \ | |/ |/| | | | | | | | | 1b346350af Makefiles dependencies: normalize windows paths Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5955
| * Makefiles dependencies: normalize windows pathsMarc Chevrier2021-03-301-1/+13
| | | | | | | | Fixes: #21997
* | Merge topic 'ninja-automoc-cycle' into release-3.20Brad King2021-03-302-3/+10
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | ca7c76269b Tests: Add test for Ninja automoc dependency cyle 54ad3e4958 autogen: Don't include SKIP_AUTOMOC files in depfile Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Jörg Bornemann <joerg.bornemann@qt.io> Acked-by: Craig Scott <craig.scott@crascit.com> Merge-request: !5956
| * | autogen: Don't include SKIP_AUTOMOC files in depfileKyle Edwards2021-03-292-3/+10
| |/ | | | | | | | | | | | | SKIP_AUTOMOC files should not be included in moc processing, which means they shouldn't be included in the depfile either. Remove them. Fixes: #21977
* | Merge topic 'nmc-cc-no-output' into release-3.20Brad King2021-03-301-0/+5
|\ \ | |/ |/| | | | | | | | | | | | | 6dd89529e8 Ninja Multi-Config: Fix crash on custom command config with no output e21a80e97d Tests: Teach RunCMake to ignore incidental 'Recompacting log' ninja output Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Kyle Edwards <kyle.edwards@kitware.com> Merge-request: !5950
| * Ninja Multi-Config: Fix crash on custom command config with no outputBrad King2021-03-291-0/+5
| | | | | | | | | | | | | | | | With generator expressions in a custom command's `OUTPUT` and `BYPRODUCTS`, it is possible to have no outputs at all for a particular configuration. Generate no rule in this case. Fixes: #21989
* | Merge topic 'commands-file-permissions' into release-3.20Brad King2021-03-292-14/+14
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | 769ff05483 Help: Clarify permission-related command options 900184616a Cleanup: Fix misspelt name of local C++ variable 635431a0c9 Tests: Check host platform instead of target for running stat 4ceb0ca59e Tests: Remove redundant files for configure_file() tests Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5945
| * | Cleanup: Fix misspelt name of local C++ variableCraig Scott2021-03-262-14/+14
| | |
* | | Merge topic 'correct_arg_parsing' into release-3.20Brad King2021-03-291-5/+9
|\ \ \ | |_|/ |/| | | | | | | | | | | | | | 79d7bcaf40 cmCommandLineArgument: correctly compute next parse index Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5936
| * | cmCommandLineArgument: correctly compute next parse indexRobert Maynard2021-03-261-5/+9
| |/ | | | | | | | | | | | | Fixes #21966 Correctly compute the next parse index for `ZeroOrOne` when it is zero, and for OneOrMore.
* | Ninja Multi-Config: Include configs in long CC scriptsKyle Edwards2021-03-251-0/+6
| | | | | | | | Fixes: #21973
* | CPack: Validate and document NSIS branding text trim positionsCraig Scott2021-03-241-3/+10
|/
* CMake 3.20.0v3.20.0Brad King2021-03-231-1/+1
|
* CMP0118: Fix NEW behavior when looking up target sourcesBrad King2021-03-181-3/+14
| | | | | | | | | | Under the CMP0118 NEW behavior, sources generated in one directory should be visible when added to targets in other directories. This was accidentally left out of commit 6624b65b3f (GENERATED prop: Add implementation for policy CMP0118 being set to NEW, 2020-11-09, v3.20.0-rc1~393^2~1). Fixes: #18399