Commit Graph

28277 Commits

Author SHA1 Message Date
Brad King 451ce7e410 Merge topic 'swift-exe-exports'
1e26d57188 Ninja: properly handle exports from Swift exes

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4314
2020-02-04 08:27:49 -05:00
Kitware Robot f9410accaa CMake Nightly Date Stamp 2020-02-04 00:01:10 -05:00
Brad King 5f04dfe57e Merge topic 'ninja-multi-variable-shuffle'
b966f86d86 Ninja Multi-Config: Shuffle variables around

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4305
2020-02-03 14:00:03 -05:00
Kyle Edwards b966f86d86 Ninja Multi-Config: Shuffle variables around
Remove redundant variable CMAKE_NINJA_MULTI_CROSS_CONFIG_ENABLE.
Rename other variables. Document and improve handling of error
conditions.
2020-02-03 13:27:51 -05:00
Kyle Edwards 25bf64eca6 Merge topic 'ctest-add-ignore-no-tests-option'
a39d4139d0 Add --no-tests=<[error|ignore]> option to CTest

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4258
2020-02-03 13:22:02 -05:00
Brad King 16d91cbf7e Merge topic 'fix_automoc_deps_rule_name'
7c664bb5b9 Fix AUTOMOC deps file to contain correct rule name

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4313
2020-02-03 11:53:28 -05:00
Brad King a19bc6ae39 Merge topic '7zip-fix'
34413cbf3f cmArchiveWrite: Remove ./ suffix from 7zip archives

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4311
2020-02-03 11:49:39 -05:00
Brad King 3a17ef5f23 Merge topic 'cpack-deprecate-old-macos-generators'
2ed00e8ef8 CPack: Deprecate OSXX11 generator
7bf187499f CPack: Deprecate PackageMaker generator

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4309
2020-02-03 11:46:01 -05:00
Brad King 999a8663c5 Merge topic 'aix-no-export-all'
afcd9fe669 AIX: Add an option to disable automatic exports from shared libraries
67f30811ce AIX: Improve name of internal symbol export list file
0ffd54f094 AIX: Add ExportImportList option to skip the object files
0dcfb63cb9 AIX: Revise ExportImportList to build output more incrementally

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4308
2020-02-03 11:32:01 -05:00
Brad King ea5c6c3c86 Merge topic 'clang-tidy-driver-mode'
3aea865801 clang-tidy: Fix explicit --driver-mode= argument

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4307
2020-02-03 11:30:58 -05:00
Kitware Robot 20eeeeaa1a CMake Nightly Date Stamp 2020-02-03 00:01:05 -05:00
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
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
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
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 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
Kitware Robot d70b71c14f CMake Nightly Date Stamp 2020-01-31 00:01:10 -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
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
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 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
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
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 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
Brad King 571205fb6b Merge topic 'QNX_CMAKE_SYSROOT'
32a6ab1f3b QNX: Add support for CMAKE_SYSROOT

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4277
2020-01-28 10:56:41 -05:00
Masashi Fujita 7b6af980eb cmMakefile: Fix spelling typo in comment 2020-01-28 10:54:15 -05:00
Brad King 1f9321c683 Merge topic 'cuda_runtime_library_controls'
0d0145138f CUDA: Add abstraction for cuda runtime selection

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4178
2020-01-28 10:52:33 -05:00
Kitware Robot 03e2757c66 CMake Nightly Date Stamp 2020-01-28 00:01:07 -05:00
Yauheni Khnykin 64304fe72b Xcode: Fix post build script for 'top level project only' opt
When CMAKE_XCODE_GENERATE_TOP_LEVEL_PROJECT_ONLY is set on
Xcode generator created post build scripts which tried to call
XCODE_DEPEND_HELPER.make script in subproject.
But XCODE_DEPEND_HELPER.make don't exist in
subprojects when mentioned option is set on.

Fixes: #20262
2020-01-27 16:14:19 -05:00