Commit Graph

29241 Commits

Author SHA1 Message Date
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
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
Kitware Robot
1138907a58 CMake Nightly Date Stamp 2020-07-24 00:01:10 -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
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
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
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
Stephan Rohmen
93549b9224 Graphviz: Restore support for per-target dependency graph options
The behaviors controlled by options `GRAPHVIZ_GENERATE_PER_TARGET` and
`GRAPHVIZ_GENERATE_DEPENDERS` were broken by commit 553658393c (Graphviz:
added test suite, fixes, enhancements, 2019-10-08, v3.17.0-rc1~615^2).
It had not been covered in the test suite previously, and those changes
left out checks for these features from the `default_options` case.

Implement the previously-existing behavior in the new graphviz
generation engine added by the above-mentioned commit.

Fixes: #20928
2020-07-21 14:55:44 -04:00
Joerg Bornemann
2cdaf43d96 Allow generator expressions in the EXCLUDE_FROM_ALL target property
This allows for setting EXCLUDE_FROM_ALL, conditional on the build
configuration. However, only the Ninja Multi-Config generator supports
different property values per config. All other multi-config
generators will yield an error in that situation.

Fixes: #20923
2020-07-21 17:16:26 +02:00
Marc Chevrier
af1a4f52be Genex: $<TARGET_PROPERTY> strip emtpy list elements for predefined properties
Fixes: #20951
2020-07-21 15:08:28 +02:00
Brad King
2683d72f96 Merge topic 'strdup'
eea0337c7d centos5: Fix FTBFS with strdup

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5026
2020-07-21 07:25:02 -04:00
Craig Scott
8abeec58f3 Merge topic 'xcode-native-arch'
26673bf480 Xcode: Explicitly specify default native architecture on macOS
ce624cfbd4 cmGlobalXCodeGenerator: Save CMAKE_SYSTEM_NAME in member

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5023
2020-07-21 07:19:02 -04:00
Kitware Robot
cd580a99bd CMake Nightly Date Stamp 2020-07-21 00:02:32 -04:00
Brad King
26673bf480 Xcode: Explicitly specify default native architecture on macOS
When `CMAKE_OSX_ARCHITECTURES` is not specified, we add the Xcode
setting `ONLY_ACTIVE_ARCH = YES` with the intention of targeting the
native architecture of the host.  However, the default `ARCHS` value
chosen by "Xcode 12 Universal Apps" includes multiple architectures.
Add an explicit `ARCHS` setting with value `$(NATIVE_ARCH_ACTUAL)`
to tell Xcode to use the host's native architecture only.

Fixes: #20893
2020-07-20 10:03:15 -04:00
Brad King
beb78ada5e Merge topic 'swift-link-iface'
14a5712447 Swift: Fix regression in linking to interface libraries

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5027
2020-07-20 09:56:07 -04:00
Julien Schueller
eea0337c7d centos5: Fix FTBFS with strdup
Since commit f034b0f663 (CMake compilation: do not use compiler
extensions, 2020-03-14, v3.18.0-rc1~494^2) we need to explicitly enable
availability of `strdup`.

Fixes: #20971
2020-07-20 08:21:40 +02:00
Kitware Robot
d66638400f CMake Nightly Date Stamp 2020-07-20 00:01:09 -04:00
Kitware Robot
7cebaf0390 CMake Nightly Date Stamp 2020-07-19 00:01:11 -04:00
Kitware Robot
8eef665d07 CMake Nightly Date Stamp 2020-07-18 00:01:11 -04:00
Brad King
5b419f795c Merge topic 'xcode-try_compile-no-sign'
d3a64c4e3f Xcode: Explicitly turn off signing in try_compile projects

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5022
2020-07-17 08:52:13 -04:00
Brad King
286411ed89 Merge topic 'ninja-multi-rsp'
99ed39b011 Ninja Multi-Config: Make link response files per-config

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5020
2020-07-17 08:49:37 -04:00
Brad King
14a5712447 Swift: Fix regression in linking to interface libraries
Since commit 2026915f8f (Swift: Propagate Swift_MODULE_DIRECTORY as include
directory, 2020-02-03, v3.18.0-rc1~547^2) we internally call
`GetAllConfigCompileLanguages` on all directly linked targets without
checking if they are interface libraries that don't compile at all.
That violates an internal assumption and assertion.

Fixes: #20977
2020-07-17 08:26:40 -04:00
Kitware Robot
79cba639e8 CMake Nightly Date Stamp 2020-07-17 00:01:28 -04:00
Brad King
ce624cfbd4 cmGlobalXCodeGenerator: Save CMAKE_SYSTEM_NAME in member 2020-07-16 14:17:47 -04:00
Kyle Edwards
99ed39b011 Ninja Multi-Config: Make link response files per-config
Fixes: #20961
2020-07-16 11:57:46 -04:00
Brad King
d3a64c4e3f Xcode: Explicitly turn off signing in try_compile projects
Fixes: #18407, #20571, #20688
2020-07-16 10:42:39 -04:00
Brad King
c7b7547d8d Merge topic 'cmake-E-create_hardlink'
2fad00940d cmake: Add -E create_hardlink

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5015
2020-07-16 10:19:12 -04:00
Brad King
4662c041ea Merge topic 'move_more_queries_to_cmStandardLevelResolver'
56cf509a72 Move AddCompilerRequirementFlag to cmStandardLevelResolver

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4989
2020-07-16 10:17:52 -04:00
Kitware Robot
78df084c7a CMake Nightly Date Stamp 2020-07-16 00:01:12 -04:00
Kyle Edwards
63ecf481da Merge topic 'cmnonempty'
eaad8072ee cmNonempty: Convenience inlines to check for non-empty string

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5017
2020-07-15 10:53:43 -04:00
Sibi Siddharthan
2fad00940d cmake: Add -E create_hardlink
Fixes: #20950
Signed-off-by: Sibi Siddharthan <sibisiddharthan.github@gmail.com>
2020-07-15 20:22:04 +05:30
Robert Maynard
56cf509a72 Move AddCompilerRequirementFlag to cmStandardLevelResolver
The cmLocalGenerator::AddCompilerRequirementFlag was another
source of truth on what standard levels existed per language,
so fold that into cmStandardLevelResolver to make updating
CMake easier
2020-07-15 09:40:33 -04:00
Brad King
d421274e3e CMake 3.18.0 2020-07-15 07:19:20 -04:00
Brad King
67d809006f Merge topic 'xcode-lib-refs'
3603ca8e86 Xcode: Special treatment for directly linked framework binaries
e637744c51 Xcode: Use "Link Binary With Libraries" to link any library

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4975
2020-07-15 06:50:22 -04:00
Brad King
2d294219a5 Merge topic 'ison-stdstring'
7156911242 cmIsOn: add overload accepting const std::string*

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5013
2020-07-15 06:47:46 -04:00
Kitware Robot
84c9e14bc2 CMake Nightly Date Stamp 2020-07-15 00:01:43 -04:00