Commit Graph

46642 Commits

Author SHA1 Message Date
Robert Maynard
87df637078 CUDA: Do not treat CUDA toolkit include directories as implicit
CMake properly detects the toolkit directories as implicit system
includes, but CUDA compilers don't add explicit `-isystem` markups to
these directories when compiling CUDA code.  Due to this limitation,
allow users to explicitly specify these directories as SYSTEM dirs.

Fixes: #16464, #19864
2020-02-03 14:59:26 -05:00
Kitware Robot
3a732a7dc3 CMake Nightly Date Stamp 2020-02-02 00:01:05 -05:00
Kitware Robot
7edad7bfa2 CMake Nightly Date Stamp 2020-02-01 00:01:08 -05:00
Brad King
371e9e48a4 Merge branch 'release-3.16' 2020-01-31 09:14:00 -05:00
Brad King
692527d3b7 Merge topic 'aix-skip-exports'
a17f6eff43 AIX: Restore pre-3.16 undocumented method to suppress exports with XL

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4303
2020-01-31 09:14:00 -05:00
Brad King
203abaf0e9 Merge topic 'aix-skip-exports' into release-3.16
a17f6eff43 AIX: Restore pre-3.16 undocumented method to suppress exports with XL

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4303
2020-01-31 09:13:59 -05:00
Brad King
0b1ea8d6f1 Merge topic 'libarchive-solaris-11.4'
f70b49b498 libarchive: Fix detection of 'major' on Solaris 11.4

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4302
2020-01-31 09:11:01 -05:00
Brad King
60edc83446 Merge topic 'GNUInstallDirs-no-system'
c18ed7236d GNUInstallDirs: Warn when CMAKE_SYSTEM_NAME is not set

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4300
2020-01-31 08:46:27 -05:00
Kitware Robot
d70b71c14f CMake Nightly Date Stamp 2020-01-31 00:01:10 -05:00
Brad King
a17f6eff43 AIX: Restore pre-3.16 undocumented method to suppress exports with XL
In commit 0f150b69d3 (AIX: Explicitly compute shared object exports for
both XL and GNU, 2019-07-11, v3.16.0-rc1~418^2~2) we dropped use of the
old `CMAKE_XL_CreateExportList` cache entry for XL exports.  However,
some people were setting the value to an empty string as a way to
disable automatic export of symbols.  Restore this behavior when the
option is explicitly set to an empty string.

Issue: #20290
2020-01-30 11:38:17 -05:00
Brad King
89a3d33d11 Merge topic 'automoc-using-depfiles'
aebfbcaa46 AutoGen: Use depfiles for the XXX_autogen ninja targets
f765fdea03 AutoGen: Use moc's feature to output dependencies
f8c505d4b3 Add a parser for GCC-style depfiles

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Jan Niklas Hasse <jhasse@bixense.com>
Merge-request: !4221
2020-01-30 09:52:33 -05:00
Brad King
5be9a8cfd5 Merge topic 'std-string-cleanup'
bbc07e4561 Source: use std::string in place of const char*

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4299
2020-01-30 09:51:51 -05:00
Brad King
f274729c12 Merge topic 'document_cmake_reserved_names'
2158ef3e44 Help: Document which variable names CMake reserves.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4298
2020-01-30 09:51:03 -05:00
Brad King
f70b49b498 libarchive: Fix detection of 'major' on Solaris 11.4
In `archive_pack_dev.c` there is code checking the `HAVE_MAJOR` macro,
but it is not computed.  Port the equivalent logic from
`archive_entry.c`.
2020-01-30 09:26:35 -05:00
Vitaly Lipatov
c18ed7236d GNUInstallDirs: Warn when CMAKE_SYSTEM_NAME is not set
If a project writes `include(GNUInstallDirs)` before `project()` then
`CMAKE_SYSTEM_NAME` may not be set and an incorrect `LIBDIR` may be
computed.  Warn about this case.
2020-01-30 09:14:47 -05:00
Kitware Robot
7dd5ca66c9 CMake Nightly Date Stamp 2020-01-30 00:01:11 -05:00
Vitaly Stakhovsky
bbc07e4561 Source: use std::string in place of const char* 2020-01-29 14:31:01 -05:00
Robert Maynard
2158ef3e44 Help: Document which variable names CMake reserves. 2020-01-29 10:50:36 -05:00
Brad King
feea34e7eb Merge branch 'release-3.15' 2020-01-29 10:40:42 -05:00
Brad King
f972b929d6 Merge topic 'vs-16.4-custom-command-inputs' into release-3.16
58b0674687 VS: Tell VS 16.4 not to verify SYMBOLIC custom command inputs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4297
2020-01-29 10:36:40 -05:00
Brad King
b3586a176f Merge branch 'release-3.16' 2020-01-29 10:36:40 -05:00
Brad King
92f04d3790 Merge topic 'vs-16.4-custom-command-inputs'
58b0674687 VS: Tell VS 16.4 not to verify SYMBOLIC custom command inputs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4297
2020-01-29 10:36:40 -05:00
Brad King
38ee7db2ac Merge topic 'mixed-mode-multi-arch'
15f6606abd Swift: disallow multiple `CMAKE_OSX_ARCHITECTURES` with Swift

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4283
2020-01-29 10:32:38 -05:00
Brad King
c46a26a4c9 Merge topic 'FindCUDAToolkit-target-guards'
916d54dfb3 FindCUDAToolkit: Fix behavior on multiple calls
b452e2bd6a FindCUDAToolkit: Fix CUDA::* target guard logic

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4293
2020-01-29 10:24:41 -05:00
Brad King
5a5bc85e35 Merge topic 'stl-support-make_unique-supports-array'
fa828b8fba STL support: make_unique can now handle array

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4295
2020-01-29 10:24:01 -05:00
Brad King
4e0d69c142 Merge topic 'fortran-subdir-simplify'
a7b844d6d4 CMakeAddFortranSubdirectory: Simplfy logic to always build subdir

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4296
2020-01-29 10:23:19 -05:00
Brad King
0adc266594 Merge topic 'blas-intel-mkl'
4d7c69208e Find{BLAS,LAPACK}: Search always in dynamic linker paths
fde5fcbc71 Find{BLAS,LAPACK}: Avoid repeated setting of prefered library suffixes
fd1d4b823f Find{BLAS,LAPACK}: Fixed incorrect static library suffix for Apple
c60c847510 Find{BLAS,LAPACK}: Added support for MKL single dynamic library
59dbff6daa Find{BLAS,LAPACK}: Added support for static MKL required linker flags
6bd9cee638 Find{BLAS,LAPACK}: Fixed detection of MKL, and several MKL improvements

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4246
2020-01-29 10:22:12 -05:00
Brad King
4b89232ffa Merge topic 'mf-json-type'
5a72ffb33a cmMakefile: Fix construction of Json::Value from fixed-size int types

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4291
2020-01-29 10:21:24 -05:00
Kitware Robot
e13a858555 CMake Nightly Date Stamp 2020-01-29 00:01:14 -05:00
Rodolfo Lima
916d54dfb3 FindCUDAToolkit: Fix behavior on multiple calls
Update `_CUDAToolkit_find_and_add_import_lib` to create and add
dependencies to a target in one step that shared a single guard against
repeated definitions.  Otherwise we were adding dependencies again on
every call.

Fixes: #20282
2020-01-28 14:21:24 -05:00
Rodolfo Lima
b452e2bd6a FindCUDAToolkit: Fix CUDA::* target guard logic
Issue: #20282
2020-01-28 14:21:24 -05:00
Brad King
3c5f0037f7 Merge branch 'vs-16.4-custom-command-inputs' into release-3.15
Merge-request: !4297
2020-01-28 13:59:27 -05:00
Brad King
a7b844d6d4 CMakeAddFortranSubdirectory: Simplfy logic to always build subdir
In the case that we use ExternalProject_Add to drive the subdirectory
build, replace the `forcebuild` step with the official `BUILD_ALWAYS`
option.

Issue: #20179
2020-01-28 13:57:05 -05:00
Brad King
58b0674687 VS: Tell VS 16.4 not to verify SYMBOLIC custom command inputs
Extend the fix from commit 0578239d3a (VS: Tell VS 16.4 not to verify
SYMBOLIC custom command outputs, 2019-09-23, v3.15.4~2^2) to apply to
SYMBOLIC *inputs* too.  This is needed when there is a chain of custom
commands that use symbolic paths for ordering.

Fixes: #20179
2020-01-28 13:52:05 -05:00
Saleem Abdulrasool
15f6606abd Swift: disallow multiple CMAKE_OSX_ARCHITECTURES with Swift
This disallows the use of multiple values in `CMAKE_OSX_ARCHITECTURES`
with Swift which does not support FAT compilation.
2020-01-28 10:13:28 -08:00
Raul Tambre
5a72ffb33a cmMakefile: Fix construction of Json::Value from fixed-size int types
Cast to the Json-provided fixed-size integer types rather than assuming
that the `std::*` variants match.

Fixes: #20278
2020-01-28 11:47:33 -05:00
Brad King
228dc92b09 Merge topic 'mf-typo'
7b6af980eb cmMakefile: Fix spelling typo in comment

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4292
2020-01-28 11:40:02 -05:00
Marc Chevrier
fa828b8fba STL support: make_unique can now handle array 2020-01-28 17:38:17 +01:00
Brad King
a4d7a79beb Merge topic 'ninja-1.10'
ccaa0bccc4 Ninja: Do not clean metadata when re-generating inside a running build
657820a00b Ninja: Track when running to re-generate during a build
b12b013028 Ninja: Factor metadata cleanup into dedicated method
5d92e60d81 Ninja: Skip cleandead and recompact if build.ninja is missing
dd0a4718fd Ninja: Fix CMAKE_NINJA_OUTPUT_PATH_PREFIX with Ninja 1.10
0944caaebb Tests: Fix RunCMake.CMP0037 test with Ninja 1.10
9d4883cce5 Tests: Fix RunCMake.Ninja test for Ninja 1.10

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4290
2020-01-28 11:35:24 -05:00
Joerg Bornemann
aebfbcaa46 AutoGen: Use depfiles for the XXX_autogen ninja targets
The XXX_autogen targets are implemented as utility commands, which
means they always run, even if there weren't any changes.

For the Ninja generator and Qt >= 5.15 we're taking a different
approach: This commit adds custom commands that create
XXX_autogen/timestamp files. Those custom commands have a depfile
assigned that is generated from the depfiles that were created by moc.

The XXX_autogen targets merely wrap the XXX_autogen/timestamp custom
commands.

Fixes: #18749
2020-01-28 11:16:11 -05:00
Joerg Bornemann
f765fdea03 AutoGen: Use moc's feature to output dependencies
In Qt version 5.15.0 moc learned to output the dependencies
of the generated file.

This commit enhances JobCompileMocT to read the dependency file
written by moc. The dependencies are stored in the same cache that's
used for the dependencies determined by dependency filters.

The dependency filter functionality is turned off if moc's dependency
output feature is used.

Fixes: #17750
Fixes: #19058
2020-01-28 11:16:11 -05:00
Joerg Bornemann
f8c505d4b3 Add a parser for GCC-style depfiles
Introduce the function cmReadGccDepfile that parses a GCC-style depfile
and returns its content. The implementation uses a lexer that is
modeled after the re2c implementation in Ninja.

The sample files of the autotest have been created with gcc 8.3.0.

This depfile reader is to be used by the Autogen facility to make use
of the depfiles that are generated by Qt's meta object compiler.
2020-01-28 11:16:11 -05:00
Brad King
7706b6a714 Merge topic 'xcode-top-level-only-with-object-library'
64304fe72b Xcode: Fix post build script for 'top level project only' opt

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4284
2020-01-28 11:05:17 -05:00
Brad King
ee5edfbda2 Merge topic 'dot-dir'
830a7d8803 cmArchiveWrite: Remove ./ suffix from zip archives

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4288
2020-01-28 11:04:30 -05:00
Brad King
cb8bd146c9 Merge topic 'modernize-memory-management'
b50b2755da cmComputeLinkInformation: modernize memory management

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4285
2020-01-28 11:03:34 -05:00
Brad King
1d08099be7 Merge topic 'FindBoost-delay-helper-targets'
e0e87b9d70 FindBoost: Do not add any Boost targets until after Boost found

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Alexander Grund <github@grundis.de>
Merge-request: !4280
2020-01-28 11:02:41 -05:00
Brad King
193352e420 Merge topic 'clang-tidy-driver-mode'
f6f4eb0907 clang-tidy: Add driver mode argument

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4208
2020-01-28 11:01:19 -05:00
Brad King
e3be80f4fc Merge topic 'append-std-string'
1398517f31 AppendProperty: convert value param to std::string

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4282
2020-01-28 11:00:16 -05:00
Brad King
b6da71e299 Merge topic 'osx-version-flags'
6a84f0b791 macOS: Test OSX_COMPATIBILITY_VERSION and OSX_CURRENT_VERSION properties
4a62e3d97c macOS: Add OSX_COMPATIBILITY_VERSION and OSX_CURRENT_VERSION properties

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4274
2020-01-28 10:59:03 -05:00
Brad King
e4e41d33d6 Merge topic 'cmsting-stl-compatibility'
8f839d02e3 cm::String: enhance compatibility with STL

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4281
2020-01-28 10:58:11 -05:00