Commit Graph

42509 Commits

Author SHA1 Message Date
Brad King 366746bbef Merge branch 'backport-implicit-includes-cray-hlist' into release-3.14
Merge-request: !3532
2019-07-09 13:14:24 -04:00
Chuck Atkins 98e371f13e Cray: Fix include parsing when the -hlist= flag is present
Update parsing logic from commit 5990ecb741 (Compute implicit include
directories from compiler output, 2018-12-07, v3.14.0-rc1~108^2)
to handle the quoting behavior caused by the `-hlist=` flag.
2019-07-09 13:12:52 -04:00
Brad King c54fc8213b Merge branch 'android-pie-cmp0083' into release-3.14
Merge-request: !3459
2019-06-19 08:20:25 -04:00
Marc Chevrier 9e99a95c7d Android: ensure PIE behavior is consistent regardless CMP0083 policy
In commit c4b4d8b3a6 (POSITION_INDEPENDENT_CODE: Manage link flags for
executables, 2018-10-02, v3.14.0-rc1~395^2) we accidentally removed our
Android-specific logic for PIE under the CMP0083 OLD behavior.  Restore
it and also implement Android-specific logic for CMP0083 NEW behavior.

Fixes: #19393
2019-06-19 08:12:45 -04:00
Brad King f3e9a6ff62 CMake 3.14.5 v3.14.5 2019-05-31 09:18:58 -04:00
Brad King dd7ba6ff19 Merge branch 'vs-depends-dedup' into release-3.14
Merge-request: !3388
2019-05-30 14:11:19 -04:00
Frans van Dorsselaer 42bc67bd43 VS: De-duplicate custom command dependencies
Avoid listing the same input more than once in custom commands generated
in `.vcxproj` and `.csproj` files.  In the case of a `.vcxproj` file
additionally avoid listing the source to which the command is attached
since it is already implicitly a dependency.

This is a nice cleanup and also works around a VS 2019 16.1 regression
in MSBuild dependency checking.  Starting with that version, MSBuild now
re-builds custom commands when the list of dependencies has changed.
However, its check is confused by duplicate dependencies.
De-duplicating them avoids this problem.

Co-Author: Brad King <brad.king@kitware.com>
Fixes: #19303
2019-05-30 13:57:03 -04:00
Frans van Dorsselaer d03a6fc857 VS: Clarify name of custom commands AdditionalInputs variable 2019-05-30 13:57:03 -04:00
Brad King fcedf8e552 VS: Isolate custom command input/output generation scopes 2019-05-30 13:57:03 -04:00
Brad King 540a175d20 Merge branch 'implicit-includes-CPATH' into release-3.14
Merge-request: !3395
2019-05-30 09:27:17 -04:00
Brad King 2d0b0e2b9d Do not exclude include directories made implicit by CPATH
Entries of the `CPATH` environment variable are implicitly searched as
include directories by some C/C++ compilers.  Since commit 5990ecb741
(Compute implicit include directories from compiler output, 2018-12-07,
v3.14.0-rc1~108^2) these entries are detected by CMake and included in
the `CMAKE_{C,CXX}_IMPLICIT_INCLUDE_DIRECTORIES` variables.

However, we should not exclude them from explicit specification via `-I`
or particularly `-isystem` because they are meant as user-specified
include directories that can be re-ordered without breaking compiler
builtin headers.  In particular, we need explicit requests via
`include_directories` with the `SYSTEM` option to result in `-isystem`
so that third-party headers do not produce warnings.

Co-Author: Ben Boeckel <ben.boeckel@kitware.com>
Fixes: #19291
2019-05-30 09:24:59 -04:00
Brad King f07d42632b Merge branch 'FindThreads-doc-c++' into release-3.14
Merge-request: !3391
2019-05-28 11:39:39 -04:00
Brad King a38b63c1bb FindThreads: Drop incorrect docs about usage with C++
Drop the sentence added by commit 5a5a1d90f0 (Help: FindThreads not
needed with modern C++., 2019-01-09, v3.14.0-rc1~186^2) about not
needing the module with modern C++.  The module is often still needed.

Fixes: #19297
2019-05-28 11:36:27 -04:00
Brad King 2b6f832bf5 Merge branch 'FindBoost-contract-requires-compile-features' into release-3.14
Merge-request: !3368
2019-05-24 07:15:31 -04:00
Alex Turbov b915a42585 FindBoost: Add compiler features for Boost Contract library 2019-05-24 07:13:56 -04:00
Brad King fffb5f1a75 Merge branch 'libarchive-solaris-11.4' into release-3.14
Merge-request: !3351
2019-05-21 09:34:39 -04:00
Brad King 6c81c6538b libarchive: avoid b64_encode name conflict with Solaris built-in function
Solaris 11.4 has a built-in function named `b64_encode`.  Add a
`la_` prefix to our internal function to avoid conflict.

Fixes: #19268
2019-05-21 09:32:21 -04:00
Brad King f872033d75 CMake 3.14.4 v3.14.4 2019-05-14 11:33:06 -04:00
Brad King 319b47c9c7 Merge branch 'doc-relnotes-3.14' into release-3.14
Merge-request: !3319
2019-05-14 11:29:07 -04:00
Brad King f2aeba927c Help: Add 3.14.4 release notes
Add a note about the fix in commit 3d3713121b (target_link_libraries:
Fix static library private deps in other dirs, 2019-04-30).  Also
reference the equivalent note already added to the 3.13.5 notes.
2019-05-14 11:21:00 -04:00
Brad King 1d645e9891 Merge branch 'doc-relnotes-3.13' into doc-relnotes-3.14 2019-05-14 11:19:32 -04:00
Brad King d6b8822919 Help: Add 3.13.5 release notes
Add a note about the fix in commit 3d3713121b (target_link_libraries:
Fix static library private deps in other dirs, 2019-04-30).
2019-05-14 11:18:42 -04:00
Brad King 016a8bc659 Merge branch 'swig4' into release-3.14
Merge-request: !3314
2019-05-13 11:30:27 -04:00
Daniele E. Domenichelli 65c5c1b567 FindSWIG: Support swig4.0 2019-05-13 11:29:53 -04:00
Brad King 620e7b1c39 Merge branch 'ios-xctest-lookup' into release-3.14
Merge-request: !3309
2019-05-13 10:37:21 -04:00
Gregor Jasny e9d128b789 Apple: Properly lookup XCTest for iOS and tvOS
Closes: #19172
2019-05-11 12:12:32 +02:00
Brad King 6ced0b97d5 Merge branch 'touch-after-ranlib' into release-3.14
Merge-request: !3283
2019-05-06 09:45:21 -04:00
Brad King 6399e2246f Merge branch 'FindPython-fix-Python_RUNTIME_LIBRARY_DIRS-variable' into release-3.14
Merge-request: !3287
2019-05-06 09:26:05 -04:00
Brad King 2951d71111 Merge branch 'fix_ios_try_compile' into release-3.14
Merge-request: !3272
2019-05-06 09:25:53 -04:00
Alexandru Croitor 275b6b3194 iOS: Fix try_compile FILE_COPY not to fail
When building for iOS, the compiled target is placed into a bundle.
If a single-configuration generator is used, like Makefiles or Ninja,
the try_compile FILE_COPY behavior fails to find the bundle, because
it only looks for the bundle inside a Debug subfolder (presumably
to support a multi-configuration generator like Xcode).

Consider looking for the bundle in the root try_compile folder, as
well as in the location specified by CMAKE_TRY_COMPILE_CONFIGURATION.

Closes: #19211
2019-05-06 09:23:27 -04:00
Gregor Jasny f83e4359f2 Apple: Preserve high resolution mtime for static libraries
On macOS ranlib truncates the fractional part of the static achive
file modification time.  If the archive and at least one contained
object file were created within the same second this will make look
the archive older than the object file.  On subsequent ninja runs
this leads to re-achiving and updating dependent targets.

As a work-around we touch the archive after ranlib.

Closes: #19222
2019-05-05 16:14:28 +02:00
Marc Chevrier 34c0293532 FindPython: ensure variable Python_RUNTIME_LIBRARY_DIRS is set correctly 2019-05-05 12:55:39 +02:00
Brad King 463e20c5c6 Merge branch 'FindPython-NumPy-fix-dependencies-management' into release-3.14
Merge-request: !3274
2019-04-30 14:58:22 -04:00
Brad King d4a79a6ab3 Merge branch 'FindBoost-fix-fiber-compiler-features' into release-3.14
Merge-request: !3266
2019-04-30 14:26:42 -04:00
Alex Turbov f06bf0fa57 FindBoost: Fix compiler features for fiber and context 2019-04-30 14:26:07 -04:00
Alex Turbov 684338aff6 FindBoost: Record compiler features for Boost 1.67 and above
Remove the 1.67 upper-bound on compiler feature computation so that with
newer versions we at least get it mostly right.  Leave a comment with
notes about updating features for future versions.
2019-04-30 14:25:51 -04:00
Brad King b947113b42 Merge branch 'out-of-dir-linking-private-deps' into release-3.14
Merge-request: !3276
2019-04-30 13:56:08 -04:00
Brad King c9469c78a5 Merge branch 'out-of-dir-linking-private-deps' into release-3.13
Merge-request: !3276
2019-04-30 13:55:48 -04:00
Brad King 3d3713121b target_link_libraries: Fix static library private deps in other dirs
In commit a1ad0a699b (target_link_libraries: Allow use with targets in
other directories, 2018-09-07, v3.13.0-rc1~94^2) we accidentally broke
the logic that adds `$<LINK_ONLY:...>` to private dependencies of static
libraries in their `INTERFACE_LINK_LIBRARIES` in the case that the
dependency is added from outside the directory creating the library.
The check for a valid target name should apply to the original name
specified by the caller and not the encoded cross-directory reference.

Fixes: #19197
2019-04-30 13:53:10 -04:00
Marc Chevrier 68c8201711 FindPython: NumPy: fix erroneous dependencies management 2019-04-30 16:02:18 +02:00
Brad King 7700df9b1e CMake 3.14.3 v3.14.3 2019-04-22 07:42:52 -04:00
Brad King bc6f442b56 Merge branch 'findqt3-hints-fix' into release-3.14
Merge-request: !3254
2019-04-22 07:35:22 -04:00
Christian Pfeiffer c298c4553b FindQt3: Restore missing lib and bin path suffixes
Restore path suffixes incorrectly removed by commit a62d50ec56 (Modules:
Replace coded PATHS with PATH_SUFFIXES, 2017-11-20, v3.11.0-rc1~293^2).
Hints do not participate in the usual bin/lib subdirectory search that
`<PackangeName>_ROOT` or `CMAKE_PREFIX_PATH` exhibit.

Fixes: #19185
2019-04-22 07:34:32 -04:00
Brad King cb733eb4a6 Merge branch 'vs-default-platform' into release-3.14
Merge-request: !3246
2019-04-19 07:59:28 -04:00
Brad King db02be85a0 VS: Provide the default platform name to project code
The value of `CMAKE_VS_PLATFORM_NAME` is computed by Visual Studio
generators based on `CMAKE_GENERATOR_PLATFORM` or some default.
Prior to the VS 2019 generator, the default was always `Win32`.
However, for the `Visual Studio 16 2019` generator, the default is
based on the host platform.

Store the default in a new `CMAKE_VS_PLATFORM_NAME_DEFAULT` variable for
use by project code.  This is particularly useful in toolchain files
because they are allowed to set `CMAKE_GENERATOR_PLATFORM` and so
`CMAKE_VS_PLATFORM_NAME` is not yet known.  Of course the toolchain file
author knows whether it will set `CMAKE_GENERATOR_PLATFORM`, and if not
then `CMAKE_VS_PLATFORM_NAME_DEFAULT` provides the platform name that
will be used.

Fixes: #19177
2019-04-19 07:46:13 -04:00
Brad King c648551bea Merge branch 'FindOpenGL-libglvnd-subdir' into release-3.14
Merge-request: !3236
2019-04-17 10:17:15 -04:00
Ben Boeckel 844050adaf FindOpenGL: look for GLVND libraries with a libglvnd suffix
On CentOS 6.10, the libglvnd package from EPEL installs its libraries
under a libglvnd subdirectory.
2019-04-17 10:16:46 -04:00
Brad King 09fba6146f Merge branch 'Boost-Gentoo' into release-3.14
Merge-request: !3237
2019-04-16 13:34:03 -04:00
Rolf Eike Beer 0b54f72e94 FindBoost: Fix detection with version suffixes on Gentoo
The Gentoo case added by commit 1673923c30 (FindBoost: Add support for
Boost 1.67 with Python version suffixes, 2018-03-18, v3.11.0~3^2) left
out the `.` version component separator and instead duplicated the RPM
case.  Add the missing `.` now.

Fixes: #18743
2019-04-16 13:31:27 -04:00
Brad King cce342a5b9 Merge branch 'vs2019-redist' into release-3.14
Merge-request: !3233
2019-04-15 11:02:17 -04:00