Commit Graph

26900 Commits

Author SHA1 Message Date
Regina Pfeifer d26e6cb1c2 cmLoadCommandCommand: Code cleanup 2019-07-18 11:49:28 +02:00
Kitware Robot b119968048 CMake Nightly Date Stamp 2019-07-17 00:01:08 -04:00
Brad King c3d9d80015 Merge topic 'aix-explicit-exports'
c2c3d22504 Tests: Drop RunCMake workaround for AIX ld warnings about GNU atexit
9f5c2040bf AIX: Explicitly compute executable exports for both XL and GNU
0f150b69d3 AIX: Explicitly compute shared object exports for both XL and GNU
a5bf4e7921 AIX: Drop redundant -brtl flags
9cb5f040d7 XL: De-duplicate shared object creation flags

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3556
2019-07-16 10:30:38 -04:00
Kitware Robot e653938b39 CMake Nightly Date Stamp 2019-07-16 00:01:06 -04:00
Brad King 9f5c2040bf AIX: Explicitly compute executable exports for both XL and GNU
On AIX, symbols in executables must be exported in order to be visible
to modules (plugins) they load via `dlopen`.  Prior to policy `CMP0065`,
CMake linked all executables with flags to export symbols, but the NEW
behavior for that policy is to do so only for executables that have the
`ENABLE_EXPORTS` target property set.  In both cases, CMake has always
used the AIX linker option `-bexpall` option to export symbols from
executables.

This has worked fairly well with the XL compiler, but with the GNU
compiler it works only for C ABI symbols.  The reason is that `-bexpall`
does not export symbols starting in `_` but the GNU C++ ABI mangles all
symbols with a leading `_`.  Therefore we have only supported C ABI
plugins with the GNU compiler on AIX.  Some projects have tried to work
around this by replacing `-bexpall` with `-bexpfull`, but the latter
often exports symbols that we do not want exported.

Avoid using `-bexpall` for executables by instead using by our own
internal `ExportImportList` script to compute symbol export lists from
the object files to be linked into an executable.  Pass the explicitly
computed export list to the AIX linker's `-bE:...` option.  We already
do this for shared object exports.

Issue: #19163
2019-07-15 13:27:16 -04:00
Brad King d7e53b4274 Merge topic 'cleanup-gen-lookups'
7ff9ab3b10 Makefile: De-duplicate executable link rule lookup
79f5ef19fe De-duplicate checks for whether a platform uses Windows DLLs
22d3eb5d5e Refactor checks for whether a target has an import library

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3550
2019-07-15 07:41:52 -04:00
Brad King a92b7fd46b Merge topic 'modernize-cmCommand-memory-management'
1591f138f1 modernize: manage cmCommand instances using unique_ptr.
d9b2c7dae2 Introduce memory management helper: cm_memory.hxx

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Sebastian Holtermann <sebholt@web.de>
Merge-request: !3513
2019-07-15 07:40:00 -04:00
Kitware Robot 0db8b7eb45 CMake Nightly Date Stamp 2019-07-15 00:01:07 -04:00
Marc Chevrier 1591f138f1 modernize: manage cmCommand instances using unique_ptr. 2019-07-14 15:37:30 +02:00
Marc Chevrier d9b2c7dae2 Introduce memory management helper: cm_memory.hxx 2019-07-14 15:37:30 +02:00
Kitware Robot 81389a5e8f CMake Nightly Date Stamp 2019-07-14 00:01:07 -04:00
Kitware Robot 82a4e07f8f CMake Nightly Date Stamp 2019-07-13 00:01:10 -04:00
Craig Scott a2319c04f6 Merge topic 'cleanup-statics-stream-flush'
af75ab7645 Refactor: Use anonymous namespace instead of `static`s in `cpack.cxx`
0db458a0ce Refactor: Use anonymous namespace instead of `static`s
0328b64efd Refactor: Remove one-time used macros
b821f9ad62 Refactor: Optimize some stream output operations

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3535
2019-07-12 20:26:12 -04:00
Brad King 7ff9ab3b10 Makefile: De-duplicate executable link rule lookup
Use `GetCreateRuleVariable` instead of duplicating the variable lookup.
2019-07-12 17:37:02 -04:00
Brad King 79f5ef19fe De-duplicate checks for whether a platform uses Windows DLLs 2019-07-12 17:35:49 -04:00
Brad King 22d3eb5d5e Refactor checks for whether a target has an import library
Use `HasImportLibrary` for such checks.
2019-07-12 17:29:40 -04:00
Brad King 8212b0880d Merge topic 'cmake-e-true-false'
b8828ecbba cmake -E: Add true and false commands

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3542
2019-07-12 16:12:20 -04:00
Brad King 82a72bfc1b Merge topic 'ctest_make_program__propagated_to_cmake_configure_pass'
cd681f1f41 ctest: propagate make program to cmake

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3483
2019-07-12 16:10:32 -04:00
Brad King 609d86e813 Merge topic 'object-library-sbcs'
54290adcba VS: Fix SBCS support for object libraries

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3537
2019-07-12 07:22:55 -04:00
Brad King 54290adcba VS: Fix SBCS support for object libraries
In commit 3a53005f7d (Build object library targets in VS, 2012-03-12,
v2.8.8~29^2~13) we updated the condition for unicode but accidentally
left out the SBCS case support for object libraries.

Fixes: #19469
2019-07-12 07:20:23 -04:00
Kitware Robot 93f10f06b3 CMake Nightly Date Stamp 2019-07-12 00:01:08 -04:00
Kyle Edwards b8828ecbba cmake -E: Add true and false commands 2019-07-11 13:41:30 -04:00
Brad King e15314420c Merge topic 'iwyu-memory'
71fbebd1dc IWYU: Fix handling of <memory> standard header

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Marc Chevrier <marc.chevrier@gmail.com>
Merge-request: !3536
2019-07-11 08:52:36 -04:00
Brad King 6e4e79e1b0 Merge topic 'fix_ctest_output'
adcbdb143c CTest: Clean up stdout and logfile output for Pass/Fail regex

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3509
2019-07-11 08:50:36 -04:00
Brad King 01a8b89f29 Merge topic 'eclipse-resource-encoding'
09c1991895 Eclipse: Add option to set the resource encoding

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3525
2019-07-11 08:49:34 -04:00
Robert Maynard cd681f1f41 ctest: propagate make program to cmake 2019-07-11 08:28:35 -04:00
Kitware Robot 7c98e2d1ad CMake Nightly Date Stamp 2019-07-11 00:01:08 -04:00
Kyle Edwards bb4b394fac Merge topic 'fix/move-more-cpack-internals'
98617f1be0 Refactor: Move CPack internal files to `Internal/CPack/` directory

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3530
2019-07-10 12:48:12 -04:00
Brad King 86ead0b5a3 CMake 3.15.0-rc4 2019-07-10 12:27:14 -04:00
Brad King 71fbebd1dc IWYU: Fix handling of <memory> standard header
An old workaround for `std::allocator_traits<>::value_type` lints from
IWYU on `std::vector<>` usage breaks IWYU's handling of `<memory>`.
Convert the workaround to use the same approach we already use for a
workaround of `std::__decay_and_strip<>::::__type` lints.  Then update
the `<memory>` inclusions to follow the now-correct IWYU lints.
2019-07-10 11:48:56 -04:00
Brad King 2161f810d9 Merge topic 'eclipse-init-members'
0a65768068 Eclpise: Fix compiler warnings about uninitialized member variables

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3524
2019-07-10 09:24:23 -04:00
Brad King 29a1a68e90 Merge topic 'cuda-imported-library-device-linking'
8895449648 CUDA: Restore device linking to imported static library targets

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3526
2019-07-10 09:20:32 -04:00
Brad King e902a11118 Merge branch 'cuda-imported-library-device-linking' into release-3.15
Merge-request: !3526
2019-07-10 08:57:47 -04:00
Kitware Robot 522b687c89 CMake Nightly Date Stamp 2019-07-10 00:01:08 -04:00
Craig Scott f7eb765012 Merge topic 'add_cmake_find_use_package_registry'
447a96f590 vim: Update cmake.vim to include the CMAKE_FIND_USE variables
1d00ba9ccf Find: find_package prefers variable CMAKE_FIND_USE_REGISTRY
704e3a2ca8 Find: Correct spelling and layout issues in CMAKE_FIND_USE_ docs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3487
2019-07-09 19:32:54 -04:00
Alex Turbov af75ab7645 Refactor: Use anonymous namespace instead of statics in cpack.cxx
Signed-off-by: Alex Turbov <i.zaufi@gmail.com>
2019-07-10 01:07:18 +03:00
Alex Turbov 0db458a0ce Refactor: Use anonymous namespace instead of statics
Signed-off-by: Alex Turbov <i.zaufi@gmail.com>
2019-07-10 01:06:58 +03:00
Alex Turbov 0328b64efd Refactor: Remove one-time used macros
Signed-off-by: Alex Turbov <i.zaufi@gmail.com>
2019-07-10 01:06:26 +03:00
Alex Turbov b821f9ad62 Refactor: Optimize some stream output operations
- remove redundant `std::flush` right after `std::endl`
- join some string literals

Signed-off-by: Alex Turbov <i.zaufi@gmail.com>
2019-07-10 01:06:14 +03:00
Martin Gerhardy 09c1991895 Eclipse: Add option to set the resource encoding 2019-07-09 13:34:29 -04:00
Stephen Manz adcbdb143c CTest: Clean up stdout and logfile output for Pass/Fail regex
For pass regex, display only the element that was found, rather
than all elements
Rename loop variable for fail regex, from pass to fail
For consistency, add space in output for pass
Add tests that find and don't find PASS_REGULAR_EXPRESSION, and a test
that finds FAIL_REGULAR_EXPRESSION, whose LastTest.log files are checked
using *-check.cmake.
2019-07-09 09:01:04 -07:00
Robert Maynard 8895449648 CUDA: Restore device linking to imported static library targets
This ability was lost in commit 81b4d10d8f (CUDA: More exhaustive checks
to determine when to do device linking, 2019-05-09, v3.15.0-rc1~82^2)
and needs to be restored to use imported static libraries that have CUDA
symbols.
2019-07-09 11:13:41 -04:00
Martin Gerhardy 0a65768068 Eclpise: Fix compiler warnings about uninitialized member variables 2019-07-09 11:08:50 -04:00
Robert Maynard 1d00ba9ccf Find: find_package prefers variable CMAKE_FIND_USE_REGISTRY
CMake's find control flags should all have a consistent name.
To make this happen we are introducing `CMAKE_FIND_USE_REGISTRY`
and deprecating `CMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY`.
2019-07-09 09:38:35 -04:00
Robert Maynard 704e3a2ca8 Find: Correct spelling and layout issues in CMAKE_FIND_USE_ docs 2019-07-09 09:37:55 -04:00
Brad King 82bbf976d1 Merge topic 'ccmake-clear-aliases'
b66d61a8d0 cmGlobalGenerator: Do not persist alias targets across configures

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3529
2019-07-09 09:36:04 -04:00
Brad King 1b52415cd4 Merge branch 'ccmake-clear-aliases' into release-3.15
Merge-request: !3529
2019-07-09 09:35:01 -04:00
Alex Turbov 98617f1be0 Refactor: Move CPack internal files to Internal/CPack/ directory
Some commits ago all CPack internal `*.cmake` files have been moved
to `Internal/CPack/`. This commit also move some templates
internally used by generators to the same location to make
`Modules/` directory less noisy w/ files the end users don't
need to use/see.
2019-07-09 15:45:03 +03:00
Craig Scott d7673a203c Merge branch 'loglevel-option-case-consistency' into release-3.15
Merge-request: !3521
2019-07-09 22:42:51 +10:00
Craig Scott 2113705c5b Merge topic 'loglevel-option-case-consistency'
14ed40d670 Help: Use consistent levels for cmake --loglevel and message()

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3521
2019-07-09 08:40:29 -04:00