Commit Graph

49219 Commits

Author SHA1 Message Date
Fred Baksik 12ba89e142 Toolchain: Make `/path/comp;-argn' behave the same as 'comp;-argn'
When using `cmake ... -DCMAKE_C_COMPILER=gcc;-pipe` first invocation of
CMake worked correctly.

When using `cmake ... -DCMAKE_C_COMPILER=/path/to/gcc;-pipe` first
invocation  of CMake detected a change to CMAKE_C_COMPILER, printed "You
have changed variables" message, and re-ran the initial compiler tests
after configuration was complete and before generation of the project
files.

The difference was due to the cache being forced updated with the new
value of CMAKE_C_COMPILER so that the comparison check passes.
2020-07-29 11:51:18 -04:00
Fred Baksik 6f1af899db Toolchain: Capture all arguments from CMAKE_<LANG>_COMPILER
Capture CMAKE_<LANG>_COMPILER_ARG1 from CMAKE_<LANG>_COMPILER in the
same fashion that it is from $ENV{<LANG>}.

Since get_filename_component() returns a single string of all the
arguments from $ENV{<LANG>}, a single string of arguments will be
constructed from the items contained in CMAKE_<LANG>_COMPILER.

Fixes #20089
2020-07-23 14:52:48 -04:00
Fred Baksik ec1d3bc0b6 cmake: avoid exception when printing "changed variables" message
If the changed cache variable was a list then this processing may
attempt to access beyond the last item in the list. Instead skip
printing the non-existing value and backup one to finish the loop.
2020-07-23 14:52:48 -04:00
Brad King 4daff2b40f Merge branch 'release-3.18' 2020-07-23 14:11:53 -04:00
Brad King 2cb664fd77 Merge topic 'file-GET_RUNTIME_DEPENDENCIES-terms'
2b60088d14 Help: Update file(GET_RUNTIME_DEPENDENCIES) prose to match option names

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5053
2020-07-23 14:11:53 -04:00
Brad King 16327086f0 Merge topic 'file-GET_RUNTIME_DEPENDENCIES-terms' into release-3.18
2b60088d14 Help: Update file(GET_RUNTIME_DEPENDENCIES) prose to match option names

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5053
2020-07-23 14:11:52 -04:00
Brad King 2b60088d14 Help: Update file(GET_RUNTIME_DEPENDENCIES) prose to match option names 2020-07-23 13:47:24 -04:00
Brad King 9d9a6a8532 Merge topic 'tutorial-update'
63af35019a Tutorial: Add missing `language` option to literalinclude

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5046
2020-07-23 11:08:38 -04:00
Brad King 04b25ed8fc Merge topic 'bootstrap-libuv-macos'
e771330dd4 bootstrap: Fix libuv target platform conditions on macOS

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5044
2020-07-23 08:29:19 -04:00
Brad King 64e5c239d3 Merge topic 'pgi-no-A'
52eee19389 PGI: Remove -A from the C++ flags we use when CXX_EXTENSIONS is OFF

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Chuck Atkins <chuck.atkins@kitware.com>
Merge-request: !5025
2020-07-23 08:29:02 -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 733edddf5c Merge topic 'test-RunCMake.InterfaceLibrary'
4ac9ee10ad Tests: Rename test RunCMake.{interface_library => InterfaceLibrary}

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5042
2020-07-23 08:26:02 -04:00
Brad King b890937fdd Merge topic 'CheckTypeSize-std-types'
7f786c6a40 Tests: Cover CheckTypeSize with uint8_t and std::uint8_t
371072e9e1 CheckTypeSize: Use C++-style headers to check for std:: types

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5008
2020-07-23 08:25:10 -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 f29d9e7132 Merge branch 'release-3.18' 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
Kitware Robot 2f53f8684f CMake Nightly Date Stamp 2020-07-23 00:01:12 -04:00
Betsy McPhail 63af35019a Tutorial: Add missing language option to literalinclude 2020-07-22 16:17:41 -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 e771330dd4 bootstrap: Fix libuv target platform conditions on macOS
In commit 714ce72882 (bootstrap: Make libuv available during bootstrap,
2017-09-13, v3.10.0-rc1~106^2) we modified libuv to use POSIX interfaces
during bootstrap.  However, some code still expects `TARGET_OS_IPHONE`
to be defined on Apple platforms to either `0` or `1`.  In order to
offer this, include `<TargetConditionals.h>` on Apple platforms even
when bootstrapping.
2020-07-22 14:42:04 -04:00
Brad King 634c461b22 cmGlobalGenerator: Simplify CheckTargetsForMissingSources
Use `GetAllConfigSources` instead of collecting all configurations
ourselves.
2020-07-22 13:48:11 -04:00
Brad King 4ac9ee10ad Tests: Rename test RunCMake.{interface_library => InterfaceLibrary}
Our RunCMake.<lower-case> namespace is meant for testing individual
CMake language commands.
2020-07-22 13:42:58 -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 8bbbc49cc1 Merge branch 'release-3.18' 2020-07-22 08:46:01 -04:00
Brad King f9e679d9f2 Merge topic 'aux-install-dest'
83bc79e232 Auxiliary: Add options to control Vim and Emacs file installation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5035
2020-07-22 08:46:01 -04:00
Brad King 24571e8eca Merge topic 'aux-install-dest' into release-3.18
83bc79e232 Auxiliary: Add options to control Vim and Emacs file installation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5035
2020-07-22 08:46:00 -04:00
Brad King 21acf596cb Merge branch 'release-3.17' 2020-07-22 08:43:05 -04:00
Brad King b323470348 Merge branch 'release-3.18' 2020-07-22 08:42:37 -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
Brad King 7f786c6a40 Tests: Cover CheckTypeSize with uint8_t and std::uint8_t 2020-07-22 08:25:09 -04:00
Tin Huynh 52eee19389 PGI: Remove -A from the C++ flags we use when CXX_EXTENSIONS is OFF
Since commit 9b97cb5562 (PGI: Add language standards for PGI,
2017-05-01, v3.9.0-rc1~174^2), we have passed the `-A` flag to
the PGI C++ compiler when specifying a C++ standard flag with
compiler extensions turned off.  The flag is not meant for that.
The PGI C++ standard flags do not turn extensions on by default
and have a separate `--gnu_extensions` flag for that which we
already use when CXX_EXTENSIONS is ON.  Simply drop the `-A` flag.

Fixes: #20997
2020-07-22 07:26:01 -04:00
Kitware Robot 5ac007f41c CMake Nightly Date Stamp 2020-07-22 00:01:19 -04:00
Brad King 8efdd905f2 Merge branch 'backport-3.18-graphviz-restore-per-target' 2020-07-21 16:44:23 -04:00
Brad King e817818926 Merge branch 'backport-3.17-graphviz-restore-per-target' into release-3.17
Merge-request: !5039
2020-07-21 16:35:53 -04:00
Stephan Rohmen a78e991420 Tests: Cover Graphviz support for per-target dependency graph options
Issue: #20928
2020-07-21 15:02:21 -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
Stephan Rohmen f3a6b4a209 Tests: Cover Graphviz support for per-target dependency graph options
Issue: #20928
2020-07-21 14:55:44 -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
Brad King c8706cf165 Merge topic 'debug_posfix_doc'
d103e34030 Documentation: Add missing links to `DEBUG_POSTFIX` target property

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5037
2020-07-21 13:37:22 -04:00
Betsy McPhail d103e34030 Documentation: Add missing links to DEBUG_POSTFIX target property
Add links to the `<CONFIG>_POSTFIX` target property when it is
referenced in the `DEBUG_POSTFIX` documentation.
2020-07-21 12:53:53 -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 83bc79e232 Auxiliary: Add options to control Vim and Emacs file installation
Since commit 2642f432ef (Aux: Install editor and bash files to more
natural locations, 2020-03-30, v3.18.0-rc1~429^2) these files are
installed by default into locations that are not CMake-specific but may
be distro-specific.  Add options for packagers to control these
locations.

Also rename the `CMAKE_BASH_COMP_DIR` option to follow our conventions.

Fixes: #20993
2020-07-21 08:34:30 -04:00
Brad King 51c14d4daf Merge topic 'tutorial-index-update'
8a80b8fbe4 Tutorial: Clarify Steps 1, 2 and 3

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5029
2020-07-21 07:32:12 -04:00
Brad King 1c1ad45bd4 Merge topic 'stl-support-filesystem-path-cygwin'
259356f3b5 STL Support: cm::filesystem::path: add support of Cygwin

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5032
2020-07-21 07:31:06 -04:00