Commit Graph

49460 Commits

Author SHA1 Message Date
Kyle Edwards
2e42651dff Add option to optimize link dependencies for static libraries
Add an `OPTIMIZE_DEPENDENCIES` target property and supporting
`CMAKE_OPTIMIZE_DEPENDENCIES` variable to optionally enable pruning and
flattening of outgoing dependencies from static libraries.  Since they
do not actually link, they only depend on side effects of their
dependencies.  Therefore we can drop dependencies that contribute no
side effects.
2020-08-12 11:31:07 -04:00
Brad King
0cd3b5d0ca Merge topic 'findlapack-quiet'
c156704ff0 FindLAPACK: Use find_package_handle_standard_args

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5110
2020-08-11 08:57:54 -04:00
Brad King
a218d67f50 Merge topic 'bootstrap-ninja'
491dddfbde Bootstrap: Add support for Ninja

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3652
2020-08-11 08:57:00 -04:00
Brad King
3fb9e3cc67 Merge branch 'release-3.18' 2020-08-11 08:55:46 -04:00
Brad King
b995e2db38 Merge topic 'findhdf5-fix-nohl'
e038107ee7 FindHDF5: fix compiler detection when HL is disabled

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5112
2020-08-11 08:55:46 -04:00
Brad King
9ccd13d8cd Merge topic 'findhdf5-fix-nohl' into release-3.18
e038107ee7 FindHDF5: fix compiler detection when HL is disabled

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5112
2020-08-11 08:55:45 -04:00
Brad King
b954de008f Merge branch 'release-3.18' 2020-08-11 08:54:16 -04:00
Brad King
5c9edd38c6 Merge topic 'osx-archs-apple-only' into release-3.18
70ce1ad64a PCH: Avoid Apple-specific architecture flags on other platforms

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5118
2020-08-11 08:54:15 -04:00
Brad King
9a27e803d4 Merge topic 'osx-archs-apple-only'
70ce1ad64a PCH: Avoid Apple-specific architecture flags on other platforms

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5118
2020-08-11 08:54:15 -04:00
Brad King
2ccc09b3e8 Merge branch 'release-3.17' 2020-08-11 08:52:20 -04:00
Brad King
0ca60de097 Merge branch 'release-3.16' 2020-08-11 08:52:17 -04:00
Brad King
61901cce65 Merge branch 'release-3.18' 2020-08-11 08:51:02 -04:00
Brad King
121c3717ee Merge topic 'automoc-path-prefix-off'
5b5be34811 Help: Add 3.18.2 release note about AUTOMOC_PATH_PREFIX default change
db659e18bc Merge branch 'backport-3.17-automoc-path-prefix-off'
e503fbe38a Merge branch 'backport-3.16-automoc-path-prefix-off'
4c33b305a0 Autogen: Turn off moc path prefix generation by default

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5105
2020-08-11 08:51:02 -04:00
Brad King
e524819483 Merge topic 'automoc-path-prefix-off' into release-3.18
5b5be34811 Help: Add 3.18.2 release note about AUTOMOC_PATH_PREFIX default change
db659e18bc Merge branch 'backport-3.17-automoc-path-prefix-off'
e503fbe38a Merge branch 'backport-3.16-automoc-path-prefix-off'
4c33b305a0 Autogen: Turn off moc path prefix generation by default
56510b7d85 Merge branch 'backport-test-FindPkgConfig-isolate-env' into release-3.17
effc9a1032 Merge branch 'backport-3.17-automoc_timestamp_deps' into release-3.17
507fecd7e2 Merge branch 'ninja-multi-rsp-remove-path' into release-3.17

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5105
2020-08-11 08:51:01 -04:00
Kitware Robot
bb1b37ea3b CMake Nightly Date Stamp 2020-08-11 00:01:27 -04:00
Kyle Edwards
491dddfbde Bootstrap: Add support for Ninja 2020-08-10 14:40:17 -04:00
Brad King
70ce1ad64a PCH: Avoid Apple-specific architecture flags on other platforms
Since commit f593b354da (PCH: Add support for multi architecture iOS
projects, 2020-04-02, v3.18.0-rc1~414^2) the `OSX_ARCHITECTURES` target
property (and corresponding `CMAKE_OSX_ARCHITECTURES` variable) affects
flags on non-Apple platforms by accident.  Add a missing condition to
avoid this.

Fixes: #21072
2020-08-10 13:29:29 -04:00
Brad King
09507da00a Merge branch 'backport-3.17-automoc-path-prefix-off' into release-3.17
Merge-request: !5105
2020-08-10 12:21:30 -04:00
Brad King
521ed96ff5 Merge branch 'backport-3.16-automoc-path-prefix-off' into release-3.16
Merge-request: !5105
2020-08-10 12:19:09 -04:00
Seth R Johnson
e038107ee7 FindHDF5: fix compiler detection when HL is disabled
A valid HDF5 installation with the "high level" extensions not
configured will *fail* to be correctly detected by CMake since
commit d9e39f3f89 (FindHDF5: check that compiler wrapper can
compile a minimal program, 2020-02-10, v3.18.0-rc1~744^2~1):

```
/.../hdf5/cmake_hdf5_test.c:2:10: fatal error: 'hdf5_hl.h' file not found
```

This does not stop the configuration but does prevent flags and
libraries from being recognized.
2020-08-10 11:53:58 -04:00
Brad King
d6ee9b4a43 Merge topic 'build-interface-targets'
bafa9fe887 fileapi: Add INTERFACE libraries with SOURCES to codemodel-v2
4391913133 Add INTERFACE libraries to generated buildsystem if they have SOURCES
afb998704e Remove filtering of allowed INTERFACE library properties
e7edba2baf Makefiles: Use IsInBuildSystem in global generator target type checks

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5078
2020-08-10 11:38:59 -04:00
Brad King
e259ea433d Merge topic 'runcmake-make-english'
3d2ab71d42 Tests: Set LC_MESSAGES for RunCMake.Make

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5114
2020-08-10 11:35:34 -04:00
Brad King
0953c0051e Merge topic 'clang-cl-vfs'
20ebaed972 Clang: Add support for passing VFS arguments
d993ebd4ca clang-cl: Add '--' before source file
a94672b919 cmake: Change cmake_llvm_rc separator from -- to ++ to avoid conflict

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5087
2020-08-10 11:33:19 -04:00
Brad King
c65f6a524e Merge topic 'ninja-msvc-deps-prefix'
37a279f8d1 Ninja: Write msvc_deps_prefix as UTF-8 when console codepage is UTF-8
67599c7ada cmGeneratedFileStream: Add WriteRaw method

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5089
2020-08-10 11:29:36 -04:00
Brad King
32ad8a86a2 Merge branch 'release-3.18' 2020-08-10 11:25:10 -04:00
Brad King
69d26f1502 Merge topic 'FPHSA-name-mismatches-chained-via-include'
98844ec9db FPHSA: detect inclusion between find modules

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Logan Barnes <barneslt63@gmail.com>
Merge-request: !5107
2020-08-10 11:25:10 -04:00
Brad King
b8214a87bf Merge topic 'FPHSA-name-mismatches-chained-via-include' into release-3.18
98844ec9db FPHSA: detect inclusion between find modules

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Logan Barnes <barneslt63@gmail.com>
Merge-request: !5107
2020-08-10 11:25:09 -04:00
Brad King
804d324880 Merge branch 'release-3.18' 2020-08-10 11:23:14 -04:00
Brad King
b6da87c13f Merge topic 'xcode-try_compile-no-sign-backport' into release-3.18
97d581b25d Xcode: Explicitly turn off signing in try_compile projects

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5117
2020-08-10 11:23:14 -04:00
Brad King
1cd27c7eda Merge topic 'xcode-try_compile-no-sign-backport'
97d581b25d Xcode: Explicitly turn off signing in try_compile projects

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5117
2020-08-10 11:23:14 -04:00
Brad King
cb1f2cf093 Merge topic 'FindRuby-restore-include-path' into release-3.18
6959744131 FindRuby: Restore compatibility variable RUBY_INCLUDE_PATH

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5109
2020-08-10 11:21:20 -04:00
Brad King
743d4b7085 Merge branch 'release-3.18' 2020-08-10 11:21:20 -04:00
Brad King
d8e242a779 Merge topic 'FindRuby-restore-include-path'
6959744131 FindRuby: Restore compatibility variable RUBY_INCLUDE_PATH

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5109
2020-08-10 11:21:20 -04:00
Brad King
eaddc1aa4f Merge branch 'release-3.18' 2020-08-10 11:19:18 -04:00
Brad King
97717d4f37 Merge topic 'FindPython-user-policies'
a92d384548 FindPython: ensure user's policies are respected

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Henry Schreiner <henryschreineriii@gmail.com>
Merge-request: !5098
2020-08-10 11:19:18 -04:00
Brad King
b88fb7eec6 Merge topic 'FindPython-user-policies' into release-3.18
a92d384548 FindPython: ensure user's policies are respected

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Henry Schreiner <henryschreineriii@gmail.com>
Merge-request: !5098
2020-08-10 11:19:17 -04:00
Joerg Bornemann
5b5be34811 Help: Add 3.18.2 release note about AUTOMOC_PATH_PREFIX default change 2020-08-10 10:49:55 -04:00
Brad King
db659e18bc Merge branch 'backport-3.17-automoc-path-prefix-off' 2020-08-10 10:49:18 -04:00
Brad King
5e316b326d Merge branch 'release-3.17' 2020-08-10 10:46:39 -04:00
Brad King
5d0c9d790c Merge branch 'release-3.16' 2020-08-10 10:46:31 -04:00
Brad King
72409ee089 Merge topic 'test-FindPkgConfig-isolate-env' into release-3.18
8b12982653 Merge branch 'backport-test-FindPkgConfig-isolate-env'
4c939b0d39 Tests: Isolate RunCMake.FindPkgConfig from caller environment
20eeb40aaf Tests: Isolate RunCMake.FindPkgConfig from caller environment

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5108
2020-08-10 10:45:54 -04:00
Brad King
01ff929deb Merge branch 'release-3.18' 2020-08-10 10:45:54 -04:00
Brad King
000b761777 Merge topic 'test-FindPkgConfig-isolate-env'
8b12982653 Merge branch 'backport-test-FindPkgConfig-isolate-env'
4c939b0d39 Tests: Isolate RunCMake.FindPkgConfig from caller environment
20eeb40aaf Tests: Isolate RunCMake.FindPkgConfig from caller environment

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5108
2020-08-10 10:45:54 -04:00
Brad King
e503fbe38a Merge branch 'backport-3.16-automoc-path-prefix-off' 2020-08-10 10:41:06 -04:00
Joerg Bornemann
4c33b305a0 Autogen: Turn off moc path prefix generation by default
Change the default value of `CMAKE_AUTOMOC_PATH_PREFIX` to `OFF` to
restore compatibility with behavior of CMake 3.15 and below.

C++ source files that are generated by Qt's meta object compiler (moc)
include the header file that was passed as input argument to moc. This
is usually a path relative to the source directory, for example

    #include "../../source/dir/myobject.h"

That is problematic for reproducible builds as described in #18815.
To cope with that, the target property AUTOMOC_PATH_PREFIX was
introduced in CMake 3.16 by commit d018d27c10 (Autogen: Add moc path
prefix generation (AUTOMOC_PATH_PREFIX), 2019-09-13, v3.16.0-rc1~94^2~4).
The property is default-initialized from the variable
`CMAKE_AUTOMOC_PATH_PREFIX`, which defaults to `ON`.

If this property is ON, and myobject.h is located in an include
directory of the target, moc-generated C++ files include the file
without the "path prefix":

    #include "myobject.h"

This behavior, however, can break projects that have equally named
header files in different include directories.  As "not breaking
existing projects" trumps "have reproducible builds by default" we
change the default of `CMAKE_AUTOMOC_PATH_PREFIX` to `OFF`.

Also, it is now possible to pass `-DCMAKE_AUTOMOC_PATH_PREFIX=ON` on the
CMake command line.  Before, it was overridden in `CMakeGenericSystem`.

Fixes: #20598
Issue: #18815
2020-08-10 10:36:17 -04:00
Brad King
97d581b25d Xcode: Explicitly turn off signing in try_compile projects
Fixes: #18407, #20571, #20688
2020-08-10 14:28:38 +02:00
Kitware Robot
514292ab0f CMake Nightly Date Stamp 2020-08-10 00:01:10 -04:00
Kitware Robot
5170263c3f CMake Nightly Date Stamp 2020-08-09 00:01:08 -04:00
Kyle Edwards
3d2ab71d42 Tests: Set LC_MESSAGES for RunCMake.Make
LANG was already set, but is not enough on some systems. Set
LC_MESSAGES too.
2020-08-08 12:36:49 -04:00
Kitware Robot
f51e930365 CMake Nightly Date Stamp 2020-08-08 00:01:10 -04:00