Commit Graph

29276 Commits

Author SHA1 Message Date
Brad King
261a2585d9 Merge topic 'cleanup-target-types'
ef796cc743 cmGeneratorTarget: Skip computing link implementation for custom targets
45158b2afe cmGeneratorTarget: Simplify logic in ComputeLinkInterfaceLibraries
d6b1f5704e cmGeneratorTarget: Add missing nullptr checks
7695b67500 cmComputeTargetDepends: Add missing nullptr check
95b5df8646 cmGeneratorTarget: Skip computing languages for custom targets
2f0790df50 Factor out generator checks for filtering on non-compiling targets
422d9a0ab2 Factor out generator checks for filtering out interface libraries
bce82df0aa cmGeneratorTarget: Remove unnecessary target type check in dependency tracing
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kyle Edwards <kyle.edwards@kitware.com>
Merge-request: !5038
2020-07-28 08:26:23 -04:00
Brad King
79d341d4d4 Merge topic 'cmctest-stdstring'
825b04c67a cmCTest: Members accept std::string parameters

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5064
2020-07-28 08:25:47 -04:00
Brad King
40d3f5a227 Merge topic 'revert-add_test-special-chars'
5fc5f4d26e add_test: Revert "Allow special characters in test name"

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5067
2020-07-28 08:24:34 -04:00
Brad King
1091e64177 Merge topic 'update-kwsys'
ead4adad75 Merge branch 'upstream-KWSys' into update-kwsys
36819d99c1 KWSys 2020-07-24 (c3054d90)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5055
2020-07-28 08:23:45 -04:00
Brad King
738f89f1ec Merge topic 'ctest-prefer-normative-text'
c83919d193 CTest: Prefer normative terms to express subprocess failures

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Lukas Riedel <mail@lukasriedel.com>
Acked-by: Yunus Sevinchan <yunussevinchan@gmail.com>
Merge-request: !5050
2020-07-28 08:21:38 -04:00
Kitware Robot
e4e899056e CMake Nightly Date Stamp 2020-07-28 00:01:10 -04:00
Brad King
5fc5f4d26e add_test: Revert "Allow special characters in test name"
Revert commit f84af8e270 (add_test: Allow special characters in test
name, 2020-05-16, v3.18.0-rc1~142^2).  Unfortunately the fix breaks
projects that were working around the limitation with manual escaping.
The fix can be re-introduced with a policy in a future version.

Also add a 3.18.1 release note explaining the change.

Fixes: #21017, #20965
Issue: #19391
2020-07-28 08:04:11 +10:00
Vitaly Stakhovsky
825b04c67a cmCTest: Members accept std::string parameters 2020-07-27 10:58:39 -04:00
Brad King
cd8be45928 Merge topic 'ninja-remove-param-default'
cfe2dc4721 Ninja: Remove parameter default for cmNinjaTargetDepends

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5059
2020-07-27 10:51:12 -04:00
Brad King
e0002c3e54 Merge topic 'xcode-12-legacy-deprecation'
36fc3a1e84 Xcode: Suppress legacy build system deprecation warning

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5052
2020-07-27 10:45:15 -04:00
Brad King
ea8bb8a2a7 Merge topic 'vs-lang-flags'
a33a4ec68b Merge branch 'backport-vs-lang-flags' into vs-lang-flags
c4109a1bc8 VS: Restore toleration of target-wide -TP flag with MSVC

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5051
2020-07-27 10:42:44 -04:00
Brad King
11cf196fd2 Merge topic 'EXCLUDE_FROM_ALL-genex'
22bd267388 Help: Add release note for EXCLUDE_FROM_ALL genex support
807c8aa9f0 Tests: Simplify RunCMake.ExcludeFromAll single-config case
36743436cf Tests: Fix RunCMake.ExcludeFromAll test program warning
99c131c5a3 cmGlobalGenerator: Fix spelling of EXCLUDE_FROM_ALL in error message

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5049
2020-07-27 10:40:56 -04:00
Robert Maynard
c83919d193 CTest: Prefer normative terms to express subprocess failures
Issue: #21004
2020-07-27 10:32:21 -04:00
Brad King
ef796cc743 cmGeneratorTarget: Skip computing link implementation for custom targets
Targets created by `add_custom_target` cannot be used with
`target_link_libraries` and so have no link implementation.
2020-07-27 10:26:07 -04:00
Kitware Robot
097a302da0 CMake Nightly Date Stamp 2020-07-27 00:01:28 -04:00
Kitware Robot
cdac7d3428 CMake Nightly Date Stamp 2020-07-26 00:01:08 -04:00
Kitware Robot
31425f88f2 CMake Nightly Date Stamp 2020-07-25 00:01:07 -04:00
Kyle Edwards
cfe2dc4721 Ninja: Remove parameter default for cmNinjaTargetDepends 2020-07-24 11:49:59 -04:00
Brad King
ead4adad75 Merge branch 'upstream-KWSys' into update-kwsys
# By KWSys Upstream
* upstream-KWSys:
  KWSys 2020-07-24 (c3054d90)
2020-07-24 07:05:24 -04:00
Kitware Robot
1138907a58 CMake Nightly Date Stamp 2020-07-24 00:01:10 -04:00
Brad King
45158b2afe cmGeneratorTarget: Simplify logic in ComputeLinkInterfaceLibraries
Also check the result of `GetLinkImplementationLibrariesInternal`
before using it.
2020-07-23 13:31:45 -04:00
Brad King
d6b1f5704e cmGeneratorTarget: Add missing nullptr checks
Check the result of `GetLinkImplementationLibraries` before using it.
2020-07-23 13:31:45 -04:00
Brad King
7695b67500 cmComputeTargetDepends: Add missing nullptr check
Check the result of `GetLinkImplementation` before using it.
2020-07-23 13:31:45 -04:00
Brad King
95b5df8646 cmGeneratorTarget: Skip computing languages for custom targets
Targets created by `add_custom_target` do not compile any sources
and therefore have no languages.
2020-07-23 13:31:45 -04:00
Brad King
2f0790df50 Factor out generator checks for filtering on non-compiling targets
Add a `cmGeneratorTarget::CanCompileSources` helper method to tell
generators whether a target might compile anything.
2020-07-23 13:31:45 -04:00
Brad King
422d9a0ab2 Factor out generator checks for filtering out interface libraries
Add a `cmGeneratorTarget::IsInBuildSystem` helper method to tell
generators whether a target should participate in the generated build
system.
2020-07-23 13:31:44 -04:00
Brad King
bce82df0aa cmGeneratorTarget: Remove unnecessary target type check in dependency tracing
Since commit 2600e923a6 (Disallow INTERFACE libraries with
add_custom_command(TARGET)., 2014-03-19, v3.0.0-rc3~1^2), we do not
trace dependencies of INTERFACE libraries that do not participate in the
build system.  Therefore we can remove a check of the target type from
the implementation that had been added by commit 9db9c1fc8b (cmTarget:
Don't try to get sources of an INTERFACE_LIBRARY., 2014-02-14,
v3.0.0-rc1~20^2).
2020-07-23 13:31:16 -04:00
Brad King
36fc3a1e84 Xcode: Suppress legacy build system deprecation warning
Xcode 12 beta 3 now warns about using the legacy build system.
Since generation of the build system is CMake's responsibility,
the warning is not relevant to our users.  Suppress it.

Issue: #18088
2020-07-23 13:00:42 -04:00
Brad King
a33a4ec68b Merge branch 'backport-vs-lang-flags' into vs-lang-flags 2020-07-23 10:58:11 -04:00
Brad King
c4109a1bc8 VS: Restore toleration of target-wide -TP flag with MSVC
Since commit 3b547e2e4b (VS: Simplify logic adding source file C/C++
language flag to MSVC, 2020-05-15, v3.18.0-rc1~139^2~1) we only add a
per-source language selection flag when the source file extension does
not match the compiler's default.  This approach breaks when a project
adds a target-wide `-TP` flag.

Although such projects likely did not work with non-VS generators, we
did support them before in Visual Studio generators.  Add a special case
to tolerate such flags again.

Fixes: #21005
2020-07-23 10:54:35 -04:00
Brad King
6fd7ca5e51 cmTarget: Skip output dir property init for CMake-provided targets 2020-07-23 08:56:51 -04:00
Brad King
2f44a6a499 cmTarget: De-duplicate conditions for property initialization 2020-07-23 08:56:50 -04:00
Brad King
159a4d6b11 cmGlobalNinjaGenerator: Replace switch default with all cases 2020-07-23 08:56:50 -04:00
Brad King
9f8edd6ac3 cmLocalUnixMakefileGenerator3: Skip object file listing for custom targets 2020-07-23 08:56:50 -04:00
Brad King
e3b5abd068 Merge topic 'fix-typos-identified-using-codespell'
207373802e Fix typos identified using codespell

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5040
2020-07-23 08:28:21 -04:00
Brad King
369ba2f4e2 Merge topic 'simplify-sources-check'
634c461b22 cmGlobalGenerator: Simplify CheckTargetsForMissingSources

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5043
2020-07-23 08:27:17 -04:00
Brad King
4b1c6f908f Merge topic 'cmake-gui-qt-5.14' into release-3.18
af6cf586f6 cmake-gui: Fix crash when built with Qt 5.14 or later

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5045
2020-07-23 08:20:48 -04:00
Brad King
f3d93edb36 Merge topic 'cmake-gui-qt-5.14'
af6cf586f6 cmake-gui: Fix crash when built with Qt 5.14 or later

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5045
2020-07-23 08:20:48 -04:00
Brad King
99c131c5a3 cmGlobalGenerator: Fix spelling of EXCLUDE_FROM_ALL in error message 2020-07-23 07:13:36 -04:00
Kitware Robot
2f53f8684f CMake Nightly Date Stamp 2020-07-23 00:01:12 -04:00
Brad King
af6cf586f6 cmake-gui: Fix crash when built with Qt 5.14 or later
In commit d7679f6427 (QCMakeCacheView: use non-deprecated List and Set
constructions, 2020-06-10, v3.18.0-rc2~13^2) the conversion of the
`this->properties()` value to QSet is incorrect for Qt 5.14+.  The
problem is that `this->properties()` returns by value, so the range
`this->properties().begin(), this->properties().end()` provides
iterators to two different instances.  Use an intermediate temporary
copy of the value to get a consistent iterator range.

Fixes: #20981
2020-07-22 15:19:51 -04:00
Brad King
634c461b22 cmGlobalGenerator: Simplify CheckTargetsForMissingSources
Use `GetAllConfigSources` instead of collecting all configurations
ourselves.
2020-07-22 13:48:11 -04:00
Jean-Christophe Fillion-Robin
207373802e Fix typos identified using codespell
See https://github.com/codespell-project/codespell#readme

The following command was used:

```
codespell -q6 --skip="\
.git,\
*.json,\
./Copyright.txt,\
./Help/command/foreach.rst,\
./Help/prop_test/REQUIRED_FILES.rst,\
./Help/variable/CTEST_COVERAGE_COMMAND.rst,\
./Modules/CMakeCheckCompilerFlagCommonPatterns.cmake,\
./Modules/CMakeRCInformation.cmake,\
./Modules/Internal/CPack/NSIS.template.in,\
./Modules/FindMatlab.cmake,\
./Modules/MatlabTestsRedirect.cmake,\
./Modules/Platform/Windows-Clang.cmake,\
./Modules/Platform/Windows-Intel-Fortran.cmake,\
./Modules/Platform/Windows-MSVC.cmake,\
./Source/CMakeVersion.cmake,\
./Source/cmConvertMSBuildXMLToJSON.py,\
./Source/cmCreateTestSourceList.cxx,\
./Source/cmGlobalVisualStudio10Generator.cxx,\
./Source/cmExportBuildFileGenerator.cxx,\
./Source/cmExportInstallAndroidMKGenerator.cxx,\
./Source/cmExportInstallFileGenerator.cxx,\
./Source/cmExportSet.cxx,\
./Source/cmExportTryCompileFileGenerator.cxx,\
./Source/cmFindPackageCommand.cxx,\
./Source/cmInstallCommand.cxx,\
./Source/cmGeneratorExpressionLexer.cxx,\
./Source/cmLocalVisualStudio7Generator.cxx,\
./Source/cmOrderDirectories.cxx,\
./Source/cmTarget.cxx,\
./Source/kwsys/*,\
./Source/QtDialog/CMakeSetupDialog.ui,\
./Source/CPack/WiX/cmWIXRichTextFormatWriter.cxx,\
./Source/CTest/cmParseCoberturaCoverage.h,\
./Tests/CMakeTests/ImplicitLinkInfoTest.cmake.in,\
./Tests/RunCMake/CPack/tests/DMG_SLA/English.license.rtf,\
./Tests/RunCMake/CPack/tests/DMG_SLA/German.license.txt,\
./Tests/RunCMake/CPack/tests/DMG_SLA/German.menu.txt,\
./Tests/RunCMake/GoogleTest/xml_output.cpp,\
./Tests/RunCMake/Make/TargetMessages*,\
./Utilities/*,\
" \
-L "\
dependees,\
endwhile,\
fo,\
filetest,\
helpfull,\
nd,\
objext,\
stoll,\
supercedes,\
superceded,\
vas,\
varn,\
"
```
2020-07-22 12:44:47 -04:00
Brad King
d45f0d719e Merge topic 'EXCLUDE_FROM_ALL-genex'
2cdaf43d96 Allow generator expressions in the EXCLUDE_FROM_ALL target property

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5021
2020-07-22 11:23:34 -04:00
Brad King
1f8bbfec0f Merge topic 'TARGET_PROPERTY-strip-empty-list-elements'
af1a4f52be Genex: $<TARGET_PROPERTY> strip emtpy list elements for predefined properties

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5030
2020-07-22 08:47:58 -04:00
Brad King
3e14b15f44 Merge topic 'graphviz-restore-per-target'
8efdd905f2 Merge branch 'backport-3.18-graphviz-restore-per-target'
a78e991420 Tests: Cover Graphviz support for per-target dependency graph options
370a94c487 Merge branch 'backport-3.17-graphviz-restore-per-target'
1829220310 Merge branch 'backport-3.17-graphviz-restore-per-target'
f3a6b4a209 Tests: Cover Graphviz support for per-target dependency graph options
93549b9224 Graphviz: Restore support for per-target dependency graph options

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5039
2020-07-22 08:42:37 -04:00
Brad King
c8a6da06d2 Merge topic 'graphviz-restore-per-target' into release-3.18
1829220310 Merge branch 'backport-3.17-graphviz-restore-per-target'
f3a6b4a209 Tests: Cover Graphviz support for per-target dependency graph options
93549b9224 Graphviz: Restore support for per-target dependency graph options

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5039
2020-07-22 08:42:36 -04:00
Kitware Robot
5ac007f41c CMake Nightly Date Stamp 2020-07-22 00:01:19 -04:00
Brad King
370a94c487 Merge branch 'backport-3.17-graphviz-restore-per-target' 2020-07-21 15:02:09 -04:00
Brad King
1829220310 Merge branch 'backport-3.17-graphviz-restore-per-target' 2020-07-21 15:00:52 -04:00