Commit Graph

42520 Commits

Author SHA1 Message Date
Kyle Edwards b4b60d1c3a install: Fix regression when using default destinations
In commit 9fc20a4f3e (install: Add sane set of defaults for DESTINATION
and file type parameters, 2018-11-02, v3.14.0-rc1~410^2~1), a regression
was introduced, in which an `install(TARGETS)` with a
RUNTIME/LIBRARY/ARCHIVE DESTINATION but no PUBLIC_HEADER/PRIVATE_HEADER
DESTINATION would then install the headers.  The old behavior did not do
this.  Restore the old behavior.

Fixes: #20326
2020-02-11 14:05:40 -05:00
Brad King 6d01a8e004 CMake 3.14.7 v3.14.7 2019-09-30 14:01:30 -04:00
Brad King 73dad4708f Merge branch 'backport-3.14-fix-EXCLUDE_FROM_ALL-subdir-all' into release-3.14
Merge-request: !3863
2019-09-30 10:28:20 -04:00
Brad King 62d45d91e8 Help: Add release note for EXCLUDE_FROM_ALL fix in 3.14.7 2019-09-30 09:18:20 -04:00
Brad King b3b1c7bf3a Restore "all" target in subdirectories marked EXCLUDE_FROM_ALL
The "all" target in each directory is supposed to have targets from that
directory even if the directory itself is marked `EXCLUDE_FROM_ALL` in
its parent.  This was broken by commit dc6888573d (Pass EXCLUDE_FROM_ALL
from directory to targets, 2019-01-15, v3.14.0-rc1~83^2) which made the
participation of a target in "all" independent of context.  Revert much
of the logic change from that commit to restore the old behavior.  Then
re-implement the behavior intended by the commit to keep its test
working.  Extend the test to cover the old behavior too.

Fixes: #19753
2019-09-30 09:18:20 -04:00
Brad King cf01d3d2bd Tests: Clarify target names in RunCMake.add_subdirectory ExcludeFromAll
Rename the `baz` target to `subinc` to clarify that its role is to be
included even though it is in an otherwise excluded subdirectory.
2019-09-26 14:58:26 -04:00
Brad King 21442d72a4 Tests: Revise RunCMake.add_subdirectory ExcludeFromAll to avoid globbing
Also simplify the clean step.
2019-09-26 14:57:40 -04:00
Brad King 0cfbd85e7b Tests: Teach RunCMake to support a custom working directory 2019-09-24 14:10:34 -04:00
Brad King 96541918c8 CMake 3.14.6 v3.14.6 2019-07-16 07:08:05 -04:00
Brad King 3af48083a2 Merge branch 'FindBISON-CMP0088-SourcePath' into release-3.14
Merge-request: !3549
2019-07-12 16:21:12 -04:00
Brian Carlson f84d2045e9 FindBISON: Fix CMP0088 NEW behavior for non-absolute input paths
Now that the working directory is in the build tree, relative input
paths must be converted to an absolute path to remain relative to the
source directory.

Fixes: #19472
2019-07-12 16:20:08 -04:00
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