Commit Graph

53329 Commits

Author SHA1 Message Date
Brad King d1517a4ef9 Merge topic 'compile-options-order'
8f68bcad8f Tests: Add cases verifying flag ordering rules
ccc83ce162 Help: Document order of flags from CMAKE_<LANG>_FLAGS and COMPILE_OPTIONS
df79fe055b Help: Remove incorrect "versionadded" for CMAKE_<LANG>_FLAGS_<CONFIG>
c48d2d8480 VS: Place per-source preprocessor definitions after target-wide ones

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6187
2021-06-08 08:04:16 -04:00
Brad King 105e108836 Merge topic 'cpack-deb-minor-fixes'
ed1f3a5fa5 CPackDeb: output the error message when no description can be made
ece24b343a Help/cpack_gen/freebsd: improve wording for Debian fallbacks

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kyle Edwards <kyle.edwards@kitware.com>
Merge-request: !6196
2021-06-08 08:01:44 -04:00
Brad King 34eefc6ea3 Merge topic 'FindPkgConfigAlwaysAddTarget'
6f14205e08 FindPkgConfig: Always create the imported target
07d6390728 Tests: Add case covering FindPkgConfig creation of empty targets

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6113
2021-06-08 08:00:24 -04:00
Kitware Robot 4c940e50bf CMake Nightly Date Stamp 2021-06-08 00:01:10 -04:00
Craig Scott 05d8a586fa Merge topic 'doc-CMAKE_CFG_INTDIR'
41dea08423 Help: Remove recommendations for using CMAKE_CFG_INTDIR

Acked-by: Kitware Robot <kwrobot@kitware.com>
Reviewed-by: Brad King <brad.king@kitware.com>
Merge-request: !6195
2021-06-07 17:32:58 -04:00
Brad King 8f68bcad8f Tests: Add cases verifying flag ordering rules 2021-06-07 13:39:21 -04:00
Brad King 8732749ef4 Merge topic 'vs-flag-tables'
887e9df0c7 VS: Update v142 CL flag table for VS 16.10
25e33a282b VS: Update v141 CL flag table for VS 15.9
f9383e0140 VS: Re-order v141 and v142 CL flag table entries to match xml files better

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6191
2021-06-07 13:26:29 -04:00
Brad King 72ea35b0ee Merge branch 'release-3.20' 2021-06-07 13:22:04 -04:00
Brad King 79e3c6221a Merge topic 'FindBoost-json-header'
c44dfdfdbb FindBoost: Add check for json component header in Boost 1.75+

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !6193
2021-06-07 13:22:04 -04:00
Brad King f092fe677f Merge topic 'FindBoost-json-header' into release-3.20
c44dfdfdbb FindBoost: Add check for json component header in Boost 1.75+

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !6193
2021-06-07 13:22:03 -04:00
Brad King 684685b25f Merge topic 'ci-clang'
7e5e558d0f gitlab-ci: add job to test with clang-7 on debian10

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6194
2021-06-07 13:19:48 -04:00
Ben Boeckel ed1f3a5fa5 CPackDeb: output the error message when no description can be made
The `message` command does not support automatic dereferencing.
2021-06-07 07:11:44 -04:00
Ben Boeckel ece24b343a Help/cpack_gen/freebsd: improve wording for Debian fallbacks
Documentation should describe what happens, and "we may as well" seems
way too conversational.
2021-06-07 07:10:58 -04:00
Kitware Robot 4ee2fc28a6 CMake Nightly Date Stamp 2021-06-07 00:01:16 -04:00
Craig Scott 41dea08423 Help: Remove recommendations for using CMAKE_CFG_INTDIR
Commit e71c4f7729 (CMAKE_CFG_INTDIR: Formally deprecate in favor of
$<CONFIG>, 2021-05-27) only updated the docs for CMAKE_CFG_INTDIR
itself, but other parts of the docs still used it. Update the other places
to avoid referring to the now-deprecated variable.
2021-06-06 17:14:29 +10:00
Kitware Robot 42af35136f CMake Nightly Date Stamp 2021-06-06 00:01:06 -04:00
Kitware Robot 48b7360ede CMake Nightly Date Stamp 2021-06-05 00:01:11 -04:00
John Drouhard c44dfdfdbb FindBoost: Add check for json component header in Boost 1.75+
In commit 8293064760 (FindBoost: Add support for Boost 1.75, 2021-02-03,
v3.19.5~9^2) the dependencies of the json component were added, but the
header listing was left out.
2021-06-04 13:43:54 -04:00
Brad King 7e5e558d0f gitlab-ci: add job to test with clang-7 on debian10
Test with a Clang version old enough to have caught the regression fixed
by commit 9411766c35 (BinUtils: Avoid llvm-objdump versions older than
Clang 9, 2021-05-29).
2021-06-04 13:30:19 -04:00
Brad King 887e9df0c7 VS: Update v142 CL flag table for VS 16.10
Run the command

    python3 Source/cmConvertMSBuildXMLToJSON.py -t v142 \
        'c:/.../MSBuild/Microsoft/VC/v160/1033/cl.xml'

To generate `v142_CL.json` locally.  Manually move new and updated
settings over to `Templates/MSBuild/FlagTables/v142_CL.json`.

Revise the `/sourceDependencies[:directives]` table entries to properly
distinguish the two options (because one is a prefix of the other), and
to populate both `Generate*Dependencies` and `*DependenciesFile`.
2021-06-04 10:17:13 -04:00
Brad King 25e33a282b VS: Update v141 CL flag table for VS 15.9
Run the command

    python3 Source/cmConvertMSBuildXMLToJSON.py -t v141 \
        'c:/.../Common7/IDE/VC/VCTargets/1033/cl.xml'

To generate `v141_CL.json` locally.  Manually move new and updated
settings over to `Templates/MSBuild/FlagTables/v141_CL.json`.
2021-06-04 10:12:38 -04:00
Brad King f9383e0140 VS: Re-order v141 and v142 CL flag table entries to match xml files better 2021-06-04 09:39:53 -04:00
Adam Badura 6f14205e08 FindPkgConfig: Always create the imported target
Fixes: #22180
2021-06-04 08:33:27 -04:00
Brad King 07d6390728 Tests: Add case covering FindPkgConfig creation of empty targets 2021-06-04 08:33:11 -04:00
Brad King 26e75b474b Merge topic 'env-toolchain-file'
6c34ed9b87 cmake: Allow CMAKE_TOOLCHAIN_FILE to be set by environment variable

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6188
2021-06-04 07:00:43 -04:00
Brad King c61782917d Merge topic 'implicit-link-static'
1d7fddca8e CMakeParseImplicitLinkInfo: Honor GNU static runtime library flags
629eb3926b Tests: Extend ParseImplicit*Info with static GNU runtime library flags
9d0f8c3e56 Tests: Teach RunCMake.ParseImplicitLinkInfo to match output by regex

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6185
2021-06-04 06:59:37 -04:00
Brad King ccaaca4e7d Merge topic 'ci-clang-analyzer'
da14f4e19e gitlab-ci: add job to build with clang-analyzer
adc38da49f ci: add clang-analyzer to Fedora base image
b6c4d93dcd clang-analyzer: Suppress warnings in intentional use-after-move cases
c1b575f4d1 clang-analyzer: rename from scan-build in comments
dbfb50cd72 cmFileAPICodemodel: Assert input in DirectoryObject::DumpInstaller
410bf8ed4f cmStandardLevelResolver: Fix size assertion in constructor
82584b99e3 jsoncpp: Revert "Code style: add missed explicit 'this->'"

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !6189
2021-06-04 06:57:51 -04:00
Brad King c845b7ef37 Merge branch 'release-3.20' 2021-06-04 06:53:47 -04:00
Brad King e7dd507f3f Merge topic 'ci-sccache-consistent-builds'
95faf9cb96 Merge branch 'master' into ci-sccache-consistent-builds
9d7ebb47ea ci: use consistent sccache builds

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6156
2021-06-04 06:53:47 -04:00
Brad King 451b1a8321 Merge topic 'ci-sccache-consistent-builds' into release-3.20
9d7ebb47ea ci: use consistent sccache builds

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6156
2021-06-04 06:53:46 -04:00
Kitware Robot 186e6aa66f CMake Nightly Date Stamp 2021-06-04 00:01:10 -04:00
Brad King da14f4e19e gitlab-ci: add job to build with clang-analyzer
Update the exceptions in `CTestCustom.cmake.in` to match this job's
needs.  Drop exceptions needed only by our previous nightly build.
2021-06-03 15:06:42 -04:00
Brad King adc38da49f ci: add clang-analyzer to Fedora base image 2021-06-03 14:59:55 -04:00
Brad King b6c4d93dcd clang-analyzer: Suppress warnings in intentional use-after-move cases 2021-06-03 14:59:55 -04:00
Brad King c1b575f4d1 clang-analyzer: rename from scan-build in comments 2021-06-03 14:59:55 -04:00
Brad King dbfb50cd72 cmFileAPICodemodel: Assert input in DirectoryObject::DumpInstaller
This tells clang-analyzer that the `gen` argument is never `nullptr`.
2021-06-03 14:59:55 -04:00
Brad King 410bf8ed4f cmStandardLevelResolver: Fix size assertion in constructor
Assert sizes of the constructed vectors, not the moved-from inputs.
2021-06-03 14:59:55 -04:00
Kitware Robot 82584b99e3 jsoncpp: Revert "Code style: add missed explicit 'this->'"
Revert the part of commit 209daa20b2 (Code style: add missed explicit
'this->', 2021-01-05, v3.20.0-rc1~213^2) that updated third-party code.
2021-06-03 14:59:42 -04:00
Brad King ccc83ce162 Help: Document order of flags from CMAKE_<LANG>_FLAGS and COMPILE_OPTIONS 2021-06-03 11:02:27 -04:00
Brad King df79fe055b Help: Remove incorrect "versionadded" for CMAKE_<LANG>_FLAGS_<CONFIG>
These variables have been around for a long time, but the current
form of the document was added later.
2021-06-03 11:02:27 -04:00
Brad King c48d2d8480 VS: Place per-source preprocessor definitions after target-wide ones
When the VS 2010+ generators were first implemented in commit 7491f52992
(ENH: first pass at VS 10, can bootstrap CMake, but many tests still
fail, 2009-06-25, v2.8.0~546), the per-source preprocessor definitions
were placed before target-wide preprocessor definitions for consistency
with the behavior of VS 9 2008 and below.  However, those generators
are not used much anymore.  Instead prefer consistency with the order
used by the Ninja and Makefile generators.
2021-06-03 10:40:47 -04:00
Brad King 6c34ed9b87 cmake: Allow CMAKE_TOOLCHAIN_FILE to be set by environment variable
When no `CMAKE_TOOLCHAIN_FILE` is explicitly specified while creating
a new build tree, check for an environment variable of the same name.
2021-06-03 08:32:44 -04:00
Brad King 95faf9cb96 Merge branch 'master' into ci-sccache-consistent-builds 2021-06-03 08:18:32 -04:00
Brad King 1d7fddca8e CMakeParseImplicitLinkInfo: Honor GNU static runtime library flags
With flags like `-static-libstdc++` or `-static-libgfortran`, the GNU
compiler driver adds `-Bstatic ... -Bdynamic` around its language
runtime library.  Convert the libraries in between these to absolute
paths so that mixed-language linking honors the static runtime
libraries.
2021-06-03 08:12:58 -04:00
Brad King 629eb3926b Tests: Extend ParseImplicit*Info with static GNU runtime library flags
Generate sample input data with GNU 10.2.1 compilers using flags like
`-static-libstdc++` and `-static-libgfortran`.
2021-06-03 08:12:11 -04:00
Brad King 9d0f8c3e56 Tests: Teach RunCMake.ParseImplicitLinkInfo to match output by regex
As in commit 6bc6fc2a7f (Tests: Teach RunCMake.ParseImplicitIncludeInfo
to match output by regex, 2019-04-08, v3.14.2~5^2~1).
2021-06-03 08:12:11 -04:00
Brad King 9c33ff4dda Merge topic 'find_item-NO_CACHE'
87b71eec62 find_*: Add support for option NO_CACHE

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !6181
2021-06-03 08:11:04 -04:00
Brad King e6bcd5e45a Merge topic 'doc_regex'
0d210b92fa Help: links to CMake regex syntax

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6179
2021-06-03 08:09:34 -04:00
Brad King 4297357087 Merge topic 'ctest-coverage-no-dir'
5d5610b04f CTest: Exit coverage handling early if no binary dir

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6144
2021-06-03 08:08:42 -04:00
Brad King dcadb290ad Merge topic 'ninja-multi-config-default-configs-doc'
dbe3f8eee7 Help: Clarify default value of CMAKE_CONFIGURATION_TYPES for NMC

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6184
2021-06-03 08:07:21 -04:00