Commit Graph

46709 Commits

Author SHA1 Message Date
Kitware Robot 3a732a7dc3 CMake Nightly Date Stamp 2020-02-02 00:01:05 -05:00
Saleem Abdulrasool 1e26d57188 Ninja: properly handle exports from Swift exes
This adds logic to properly handle Swift executables.  Only executables
marked as exporting symbols will now generate module interfaces for the
executable.
2020-02-01 17:25:57 -08:00
Marc Chevrier 2834f3355d Bootstrap: take care of C++ features configuration 2020-02-01 16:21:41 +01:00
Kitware Robot 7edad7bfa2 CMake Nightly Date Stamp 2020-02-01 00:01:08 -05:00
Alexandru Croitor 7c664bb5b9 Fix AUTOMOC deps file to contain correct rule name
The rule name should include the current binary path relative to
the top level binary path.

Fixes: #20298
2020-02-01 00:35:53 +01:00
Cristian Adam 34413cbf3f cmArchiveWrite: Remove ./ suffix from 7zip archives
Fixes: #20297
2020-01-31 22:32:04 +01:00
Brad King 97de48b528 Tests: Update Assembler code generation to select MSVC runtime library
The `Assembler` test runs the C compiler in a custom command to generate
a `.s` file for the platform.  When using the GNU-like Clang variant on
Windows, ensure that the custom command includes the MSVC runtime
library selection flags for Clang.  That way the resulting `.s` file,
when assembled into a `.obj`, will tell the linker what runtime library
it needs.
2020-01-31 14:37:34 -05:00
Martin Storsjö 6348ffb9e5 ASM: Hook up Windows-specific GNU/Clang compiler information modules
This allows building .s/.S assembly code, and makes sure that the
`-fPIC` option isn't passed to the compiler (as it errors out on
Clang and causes a loud warning on GCC).
2020-01-31 14:37:34 -05:00
Stefan Dinkelacker a39d4139d0 Add --no-tests=<[error|ignore]> option to CTest
If no tests were found, the default behavior of CTest is to always log an
error message but to return an error code in script mode only. This option
unifies the behavior of CTest by either returning an error code if no tests
were found or by ignoring it.

Signed-off-by: Stefan Dinkelacker <s.dinkelacker@dkfz-heidelberg.de>
2020-01-31 18:17:13 +01:00
Robert Maynard 7f39ea3318 NinjaMultiConfig: CUDA executables generate symbols on windows 2020-01-31 12:05:11 -05:00
Brad King 2ed00e8ef8 CPack: Deprecate OSXX11 generator
The CPack OSXX11 generator has not had any updates since 2011 except as
part of sweeping maintenance changes.  It also creates packages with a
OSXScriptLauncher binary that has only ppc and i386 architectures which
are not supported by Apple anymore.  Furthermore, the generator is not
even mentioned in our documentation.  Add a deprecation warning.

Fixes: #20235
2020-01-31 10:04:41 -05:00
Brad King 7bf187499f CPack: Deprecate PackageMaker generator
Xcode no longer distributes the PackageMaker tools.
Add a deprecation warning when the generator is used.

Issue: #20235
2020-01-31 10:04:31 -05:00
Brad King afcd9fe669 AIX: Add an option to disable automatic exports from shared libraries
Since commit 0f150b69d3 (AIX: Explicitly compute shared object exports
for both XL and GNU, 2019-07-11, v3.16.0-rc1~418^2~2) we always export
all symbols from shared libraries by default.  Add a new target property
called `AIX_EXPORT_ALL_SYMBOLS` that can be explicitly set to OFF to
suppress this behavior and export no symbols by default.

Fixes: #20290
2020-01-31 09:34:06 -05:00
Brad King 67f30811ce AIX: Improve name of internal symbol export list file 2020-01-31 09:28:07 -05:00
Brad King 0ffd54f094 AIX: Add ExportImportList option to skip the object files 2020-01-31 09:28:07 -05:00
Brad King 0dcfb63cb9 AIX: Revise ExportImportList to build output more incrementally
This will allow more steps to be added.
2020-01-31 09:28:07 -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 3aea865801 clang-tidy: Fix explicit --driver-mode= argument
Since commit f6f4eb0907 (clang-tidy: Add driver mode argument,
2020-01-19) the `clang-tidy` tool rejects the new option:

    Unknown command line argument '--driver-mode=g++'.

This is because we are adding the flag before the main compiler
command-line.  Encode it with `--extra-arg-before=` so that `clang-tidy`
knows it is supposed to be part of the compiler command.

Suggested-by: Hanjiang Yu
2020-01-31 09:00:52 -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
Mario Emmenlauer 807a129f3c Find{BLAS,LAPACK}: Include parent of points directory in search
This is required if MKLROOT points to the subdirectory .../mkl/ instead of
the root of an Intel MKL library installation. Only in this case the MKL
will be searched starting from the parent directory, to detect relevant
dependencies in parallel subdirectories, like 'compiler' and 'tbb'.
2020-01-31 11:36:07 +01:00
Mario Emmenlauer fe86dc43fe Find{BLAS,LAPACK}: Fixed an incorrect use of a macro argument 2020-01-31 11:32:46 +01: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
Robert Maynard 60bb7a54d5 CUDAToolkit: Add required static runtime library dependencies
CUDAToolkit now adds the correct libraries that are required by the
static runtime.
2020-01-30 10:18:21 -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