Commit Graph

31424 Commits

Author SHA1 Message Date
Sean McBride e2a4718d18 Source: Fix Clang -Wdeprecated warnings
Applied C++ 'rule of three'.
2021-10-15 11:23:12 -04:00
Brad King 315fc296e3 Merge topic 'update-kwsys'
8d14ca3142 Merge branch 'upstream-KWSys' into update-kwsys
58f046ba26 KWSys 2021-10-08 (b8c734ba)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !6618
2021-10-13 09:03:27 -04:00
Brad King 90e56da9e7 Merge topic 'ifw-refactor-packagefiles'
c50329d3ed CPackIFW: Refactor cmCPackIFWGenerator::PackageFiles

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !6617
2021-10-13 09:02:06 -04:00
Brad King d7e9ad926a Merge topic 'ifw-product-images'
6d39c845ee CPackIFW: Add support for ProductImages config option

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !6611
2021-10-13 09:00:02 -04:00
Brad King be54417431 Merge topic 'ifw-version-guard'
5447dc655e CPackIFW: Add version guard for configuration attributes

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !6612
2021-10-13 08:59:12 -04:00
Brad King 6c16f06e87 Merge topic 'optimize-macos-runtime-dependencies'
93c5864aa1 cmBinUtilsMacOSMachOLinker: improve performance by memoizing otool calls
fc92d6640b cmFileCommand: improve error message

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6616
2021-10-13 08:57:51 -04:00
Kitware Robot 6585ae061e CMake Nightly Date Stamp 2021-10-13 00:01:16 -04:00
Seth R Johnson 93c5864aa1 cmBinUtilsMacOSMachOLinker: improve performance by memoizing otool calls
Libraries with many repeated transitive dependencies (e.g. Trilinos)
can result in very long runtime dependency call times, especially if
system calls are made more expensive by antivirus software. This
change caches the results of the calls to otool for efficiency.
2021-10-12 11:40:46 -04:00
Seth R Johnson fc92d6640b cmFileCommand: improve error message
Print full list of unresolved dependencies and a phrase that indicates
what about the file is unresolved.
2021-10-12 11:40:45 -04:00
Brad King 8d14ca3142 Merge branch 'upstream-KWSys' into update-kwsys
# By KWSys Upstream
* upstream-KWSys:
  KWSys 2021-10-08 (b8c734ba)
2021-10-12 11:38:24 -04:00
Brad King 6f1fe83f86 Merge topic 'post-rel-dev'
40ade51cc8 Configure CMake itself with policies through CMake 3.21
b3248c083f export: Increase maximum policy version in exported files to 3.21
0f31463c37 Add deprecation warnings for policies CMP0094 and below

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !6615
2021-10-12 09:38:01 -04:00
Kitware Robot 9419fea550 CMake Nightly Date Stamp 2021-10-12 00:01:03 -04:00
Erlend E. Aasland c50329d3ed CPackIFW: Refactor cmCPackIFWGenerator::PackageFiles
Split PackageFiles() into four methods, for increased readability:

- cmCPackIFWGenerator::BuildRepogenCommand
- cmCPackIFWGenerator::BuildBinaryCreatorCommand
- cmCPackIFWGenerator::RunRepogen
- cmCPackIFWGenerator::RunBinaryCreator

Fixes: #22744
2021-10-11 12:16:04 +02:00
Kitware Robot bf35ce70d0 CMake Nightly Date Stamp 2021-10-11 00:01:12 -04:00
Kitware Robot da98131acb CMake Nightly Date Stamp 2021-10-10 00:01:05 -04:00
Kitware Robot 3874568dca CMake Nightly Date Stamp 2021-10-09 00:01:18 -04:00
Erlend E. Aasland 6d39c845ee CPackIFW: Add support for ProductImages config option 2021-10-08 22:20:06 +02:00
Erlend E. Aasland 5447dc655e CPackIFW: Add version guard for configuration attributes
Fixes: #22736
2021-10-08 18:31:00 +02:00
Brad King b3248c083f export: Increase maximum policy version in exported files to 3.21
The files generatd by `install(EXPORT)` and `export()` commands
are known to work with policies as of CMake 3.21, so enable them
in sufficiently new CMake versions.
2021-10-08 12:17:04 -04:00
Brad King 0f31463c37 Add deprecation warnings for policies CMP0094 and below
The OLD behaviors of all policies are deprecated, but only by
documentation.  Add an explicit deprecation diagnostic for policies
introduced in CMake 3.15 and below to encourage projects to port
away from setting policies to OLD.
2021-10-08 12:17:04 -04:00
Brad King 3068ea834f Begin post-3.22 development 2021-10-08 10:05:53 -04:00
Brad King 975b935129 Begin 3.22 release versioning 2021-10-08 10:05:02 -04:00
Kitware Robot a8c72f6257 CMake Nightly Date Stamp 2021-10-08 00:01:10 -04:00
Kitware Robot b00d14ac5e CMake Nightly Date Stamp 2021-10-07 00:01:12 -04:00
Brad King 50b8b509c7 Merge topic 'bootstrap-qt6'
6458a32242 bootstrap: Enable cmake_language command to support cmake-gui with Qt 6.2

Acked-by: Kitware Robot <kwrobot@kitware.com>
Reviewed-by: Andrew Maclean <andrew.amaclean@gmail.com>
Merge-request: !6593
2021-10-06 10:29:00 -04:00
Brad King e150829045 Merge topic 'Wunused-but-set-variable'
f4387c197d CPack/OSXX11: Fix Clang 13 Wunused-but-set-variable

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6595
2021-10-06 10:27:31 -04:00
Craig Scott 0c606d0c3d Merge topic 'uic-options-merge-qt6'
2a31167955 AUTOUIC: Fix merging of --blah options not being detected for Qt6

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6588
2021-10-06 07:08:35 -04:00
Kitware Robot 380f9020eb CMake Nightly Date Stamp 2021-10-06 00:01:13 -04:00
Sean McBride f4387c197d CPack/OSXX11: Fix Clang 13 Wunused-but-set-variable
Use the success/fail flag for the function return value.
2021-10-05 11:52:35 -04:00
Brad King 6458a32242 bootstrap: Enable cmake_language command to support cmake-gui with Qt 6.2
Fixes: #22721
2021-10-05 09:48:46 -04:00
Brad King 3d192b09d1 Merge topic 'runpath-install'
8f7e98ef09 cmInstallTargetGenerator: optimize rpath adjustments

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !6573
2021-10-05 09:09:09 -04:00
Craig Scott 2a31167955 AUTOUIC: Fix merging of --blah options not being detected for Qt6
When merging a new set of uic options with a base set of options,
such as when a source file has a non-empty AUTOUIC_OPTIONS
property, the test for whether to support options starting with
two hyphens was only testing if the Qt major version was exactly
5 rather than at least 5. That had the effect of preventing such
options from being merged correctly when using Qt6, so new and
base options would both be present instead of the single merged
option from the source file properties. Update the version check
and rename function arguments to avoid misrepresenting what
they mean.

Note that uic accepts long option names with a single hyphen too.
See Qt docs for QCommandLineParser::ParseAsLongOptions
for confirmation.
2021-10-05 23:29:16 +11:00
Kitware Robot 1b21eb8212 CMake Nightly Date Stamp 2021-10-05 00:01:15 -04:00
Brad King c55a41c9b2 Merge topic 'default_extensions'
4a0485be7f cmStandardLevelResolver: Avoid unnecessary flags, fix unset level logic
29e2b85171 Tests: Simplify RunCMake.CompileFeatures introspection
fc3a1cbdd8 CompilerID: Compiler extensions default detection
2adfd95d79 CompilerID: Rename language_dialect to language_standard
00055d7779 Help: Document CMAKE_<LANG>_STANDARD_DEFAULT
a65bee4cfc Help: Document HIP standard/extensions properties and variables
a40ff1bb5a Help: Make language standard/extensions variable pages less wordy
3feff8379b Help: Generic language standard and extension variables documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6177
2021-10-04 12:43:24 -04:00
Brad King b2726f13bd Merge topic 'e2k_support'
d6746fd05c cmMakefile: Fix compilation on EDG-based compilers such as LCC
77c237d219 zstd: Fix incorrect pragma error on LCC compiler

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Acked-by: Igor S. Gerasimov <i.s.ger@yandex.ru>
Merge-request: !6579
2021-10-04 10:41:38 -04:00
Kitware Robot 8dee2c3aee CMake Nightly Date Stamp 2021-10-04 00:01:32 -04:00
Kitware Robot fae0b9fb71 CMake Nightly Date Stamp 2021-10-03 00:01:10 -04:00
Kitware Robot be604bec8d CMake Nightly Date Stamp 2021-10-02 00:01:09 -04:00
makise-homura d6746fd05c cmMakefile: Fix compilation on EDG-based compilers such as LCC
Compilers based on EDG frontend sometimes throw
an internal error while using `this->` at some
circumstances. While it is up to be fixed in future
versions of front end, this bug still occurs in
some modern compilers, such as LCC for Elbrus CPUs,
and probably others (maybe ICC). It caused CMake to be
unbuildable by these compilers. This patch fixes it.
2021-10-01 13:05:53 -04:00
Kitware Robot b3a0bddc4e CMake Nightly Date Stamp 2021-10-01 00:01:25 -04:00
Seth R Johnson 8f7e98ef09 cmInstallTargetGenerator: optimize rpath adjustments
With builds that have many internal library directories or many
external libraries, rpaths can be quite large. The cost of calling
install_name_tool thousands of times can add up to minutes on a build,
especially if virus scanning software is there to help you out. With
this change, instead of deleting and then re-adding an rpath, we ignore
it.  Likewise we batch all the rpath adjustment calls into a single command.

Before, installing SCALE (some libraries have 70+ build-time RPATHs that
get deleted, plus up to a dozen external RPATHs from upstream
dependencies that should remain in the binary) would take almost 9
minutes on my laptop, and after this change the installation takes only
30 second.
2021-09-30 15:36:35 -04:00
Kitware Robot 32818510c8 CMake Nightly Date Stamp 2021-09-30 00:01:14 -04:00
Raul Tambre 4a0485be7f cmStandardLevelResolver: Avoid unnecessary flags, fix unset level logic
The changes are part of CMP0128.

When the standard level is unset:
* Flags are added if extension mode doesn't match the compiler's default.
  Previously logic only worked if LANG_EXTENSIONS was ON. Fixes #22224.
* The full flag is used. Previously CMAKE_LANG_EXTENSION_COMPILE_OPTION was
  used. This was only supported for IAR.

Otherwise:
* Avoid adding flags if not necessary per the detected compiler defaults.
* Fixed check for when the requested standard is older. It now matches the
  nearby comments.

I reworded the fallback comment as its logic was a bit difficult to wrap my
head around.
2021-09-29 22:28:40 +03:00
Brad King 5bd94332c7 Merge topic 'clang-warnings'
37859e3244 Source: Fix clang -Wimplicit-fallthrough warnings
907d098838 Source: Fix clang -Wextra-semi warnings

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !6561
2021-09-29 09:57:47 -04:00
Brad King 84673a8243 Merge topic 'xcode-dead-code'
b8a2ce0484 cmGlobalXCodeGenerator: Remove dead buildsystem version check

Acked-by: Kitware Robot <kwrobot@kitware.com>
Reviewed-by: Raul Tambre <raul@tambre.ee>
Merge-request: !6568
2021-09-29 09:57:00 -04:00
Brad King a074204986 Merge topic 'xcode-generation-support-inl-files'
16ea0e57f7 Xcode: Treat .inl files as C++ header files

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6563
2021-09-29 09:56:02 -04:00
Kitware Robot 700f76299c CMake Nightly Date Stamp 2021-09-29 00:01:13 -04:00
Sean McBride 37859e3244 Source: Fix clang -Wimplicit-fallthrough warnings 2021-09-28 10:53:54 -04:00
Jake Turner 16ea0e57f7 Xcode: Treat .inl files as C++ header files
Generate the `explicitFileType` as `sourcecode.cpp.h` instead of just
`sourcecode`.  This enables syntax highlighting in Xcode.
2021-09-28 10:49:04 -04:00
Brad King b8a2ce0484 cmGlobalXCodeGenerator: Remove dead buildsystem version check
In commit 8d5f4c4db9 (Xcode: Switch to the "new build system" for Xcode
12 and above, 2020-09-14, v3.19.0-rc1~143^2~7) we accidentally added
code in an `else` block that under the opposite condition by which
the block can be entered.  Remove it.

Fixes: #22681
2021-09-28 10:42:48 -04:00