Commit Graph
47352 Commits
Author SHA1 Message Date
Brad King f0b412dd82 Merge topic 'avoid-LIB_DEPENDS'
7723e9a058 Do not produce legacy _LIB_DEPENDS cache entries
2124a1364a cmTarget: Remove unnecessary RecordDependencies member
1c5bfab532 cmTarget: Simplify ClearDependencyInformation implementation
910a9d608e cmTarget: Simplify ClearDependencyInformation signature

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Pavel Solodovnikov <hellyeahdominate@gmail.com>
Merge-request: !1828
2018-03-08 09:55:09 -05:00
Brad King 4f99809b71 Merge branch 'release-3.11' 2018-03-08 09:51:39 -05:00
Brad King ca2ac4979d Merge topic 'update-kwsys'
2c5b4359f8 Merge branch 'upstream-KWSys' into update-kwsys
64d4308d83 KWSys 2018-03-07 (2ad561e7)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1830
2018-03-08 09:50:19 -05:00
Brad King 69b152967d Merge topic 'cuda-no-device-link-rsp'
f64732f59b CUDA: Do not pass unsupported @rspfile arguments to NVCC

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1831
2018-03-08 09:48:28 -05:00
Brad King 81bc7610ab Makefile: Fix "make clean" when there are no targets
The empty `clean` target was missing from `Makefile2`.
Add one like we already have for `all` and `preinstall`.
2018-03-08 09:01:53 -05:00
Craig Scott 5901699672 cmDepends: Remove attempt to change directory that always fails
Nothing ever set `CompileDirectory` except `SetDirectory()`, but
nothing ever called that function. Therefore, `CompileDirectory`
was always empty for the attempt to change directory in `Check()`,
which therefore would always fail. Nothing was checking the result
and the code was always going to have no effect.
2018-03-08 20:14:42 +11:00
Craig Scott e60e4dfc88 cmWorkingDirectory: Check success of current dir changes 2018-03-08 20:07:14 +11:00
Kitware Robot 458fc1de49 CMake Nightly Date Stamp 2018-03-08 00:01:12 -05:00
Shane Parris 87a6816baf Add test for sorting and deduping of file(GLOB) result 2018-03-07 12:12:19 -05:00
Shane Parris b688d4fd22 file(GLOB): Ensure entire file list is sorted 2018-03-07 12:12:19 -05:00
luz.paz 32f6b7a43b Fix misc typos in documentation and comments 2018-03-07 10:54:46 -05:00
Brad King 57f35bba84 Merge branch 'cuda-no-device-link-rsp' into release-3.11
Merge-request: !1831
2018-03-07 10:52:54 -05:00
Brad King f64732f59b CUDA: Do not pass unsupported @rspfile arguments to NVCC
The nvcc compiler does not support `@<rspfile>` arguments.  It does
offer a `--options-file` argument that can be investigated later.

Fixes: #17797
2018-03-07 10:30:35 -05:00
Alex Turbov 587bad7ba2 project: warn on metadata arguments missing values
Warn if `DESCRIPTION` or `VERSION` is given without a following value.
2018-03-07 09:35:59 -05:00
Adam Thompson 694fce19b6 FindGDAL: Handle gdal-config printing absolute path to library
FindGDAL uses GDAL's 'gdal-config' utility to obtain the path to GDAL's library
(on systems identified by CMake's UNIX variable). Older versions formatted this
information like that of dependent libraries:
  -L/path/to/gdal/lib -lgdal[suffix]

Newer versions instead provide the full path to the library:
  /path/to/gdal/lib/[prefix]gdal[suffix]

FindGDAL now supports both formats. Entries that don't start with '-L' or '-l'
are only considered if they are absolute paths that exist on disk.
Furthermore, libraries are only considered if the name contains 'gdal'
(checked case-insensitively).
2018-03-07 09:29:57 -05:00
Brad King ee06f3c339 FindCURL: Revise documentation markup 2018-03-07 09:06:01 -05:00
Vitaly Stakhovsky 59d8cfb85e cmVisualStudio10TargetGenerator: Use helpers for XML tags
Make the XML generating code smaller, more structured, and less
error-prone.  This is a step towards future XML refactoring.
2018-03-07 08:51:30 -05:00
Brad King 9ceafdfd4d Merge topic 'FindOpenMP-AppleClang'
e3cd7c1e01 FindOpenMP: Add support for AppleClang compiler
b4c539e651 FindOpenMP: Verify in test source that OMP library is linked
7dd8c7a680 FindOpenMP: Improve inclusion of helper modules

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1812
2018-03-07 08:33:33 -05:00
Henry Fredrick Schreiner e3cd7c1e01 FindOpenMP: Add support for AppleClang compiler
This is possible using an external `omp` library and by passing
the flag past the compiler driver via `-Xclang -fopenmp`.

Fixes: #17775
2018-03-07 08:27:35 -05:00
Henry Fredrick Schreiner b4c539e651 FindOpenMP: Verify in test source that OMP library is linked 2018-03-07 08:25:45 -05:00
Henry Fredrick Schreiner 7dd8c7a680 FindOpenMP: Improve inclusion of helper modules
Use `CMAKE_CURRENT_LIST_DIR` instead of `CMAKE_ROOT`.
Do not include modules inside a loop.
2018-03-07 08:24:27 -05:00
Brad King 7723e9a058 Do not produce legacy _LIB_DEPENDS cache entries
Introduce policy `CMP0073` to avoid producing these cache entries.

Fixes: #16364
2018-03-07 07:48:40 -05:00
Brad King 9288abf567 Merge branch 'update-kwsys' into release-3.11
Merge-request: !1830
2018-03-07 07:39:16 -05:00
Brad King 29b41babdb Merge topic 'ctest-affinity'
6be53c6695 CTest: Add options to control test process affinity to CPUs
c5428d8db2 libuv: disable process affinity during CMake bootstrap
24de561a1a libuv: unix,win: add uv_spawn option to set child CPU affinity mask
43d6e5a71f libuv: misc: add function to get CPU affinity mask size

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1814
2018-03-07 07:14:35 -05:00
Brad King ae4205d219 Merge branch 'release-3.11' 2018-03-07 07:13:09 -05:00
Brad King a6f1eabee0 Merge topic 'autogen-empty-source-file-fix'
50b7be6d1f Autogen: Check if a file is empty before reading it

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1825
2018-03-07 07:12:50 -05:00
Brad King 4f29bf5672 Merge topic 'xl-new-compiler-macros'
eb1a9be4b6 XL: Recognize compilers identified by __ibmxl__

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Chuck Atkins <chuck.atkins@kitware.com>
Merge-request: !1820
2018-03-07 07:12:02 -05:00
Brad King 2c5b4359f8 Merge branch 'upstream-KWSys' into update-kwsys
* upstream-KWSys:
  KWSys 2018-03-07 (2ad561e7)
2018-03-07 06:48:34 -05:00
KWSys Upstream 64d4308d83 KWSys 2018-03-07 (2ad561e7)
Code extracted from:

    https://gitlab.kitware.com/utils/kwsys.git

at commit 2ad561e78b0d99f083f1213e403d5a8a90e0e134 (master).

Upstream Shortlog
-----------------

Brad King (4):
      6e190d9a Fix include directory usage requirement for build tree
      6d4e9fde SystemInformation: Android has no getifaddrs prior to API 24
      0a0974d0 SystemTools: Restore unconditional caching in GetActualCaseForPath
      a241fd13 SystemTools: Remove caching from public GetActualCaseForPath
2018-03-07 06:48:32 -05:00
Kitware Robot 086f84aa20 CMake Nightly Date Stamp 2018-03-07 00:01:11 -05:00
Rolf Eike Beer 83c0cb3f03 FindCURL: provide imported target CURL::CURL 2018-03-06 22:53:35 +01:00
Brad King 2124a1364a cmTarget: Remove unnecessary RecordDependencies member
Inline the condition in the one remaining place it is checked.
2018-03-06 14:38:23 -05:00
Brad King 1c5bfab532 cmTarget: Simplify ClearDependencyInformation implementation
Remove the `<target>_LIB_DEPENDS` cache entry unconditionally.
It will be populated again later if needed.  There is no need
to ask the user to remove the cache entry if the target type
changes.

Issue: #16364
2018-03-06 14:38:16 -05:00
Brad King 910a9d608e cmTarget: Simplify ClearDependencyInformation signature
We don't need to pass an argument with the target's own name.
2018-03-06 13:54:45 -05:00
Rolf Eike Beer ff5823f512 cmOutputConverter: mark helper functions static
This allows the linker to entirely drop any symbols of the functions.
2018-03-06 18:13:33 +01:00
Brad King 8070abf784 Merge branch 'autogen-empty-source-file-fix' into release-3.11
Merge-request: !1825
2018-03-06 08:45:29 -05:00
Sebastian Holtermann 50b7be6d1f Autogen: Check if a file is empty before reading it
Calling `std::string::front()` on an empty string results
in an undefined behavior by the C++ standard.
In gcc8 it causes an assertion to fail.

This adds a check to `AUTOGEN` if a file to read is empty
and in case avoids the use of an empty `std::string` buffer.

Closes #17793
2018-03-06 08:35:08 -05:00
Brad King 566f8fa2f3 Merge branch 'xl-new-compiler-macros' into release-3.11
Merge-request: !1820
2018-03-06 08:23:08 -05:00
Brad King eb1a9be4b6 XL: Recognize compilers identified by __ibmxl__
IBM XL C/C++ for Linux versions 13.1.6 and above no longer define
`__IBMC__` or `__IBMCPP__` by default (see `-qxlcompatmacros`).
Instead `__ibmxl__` now identifies the compiler along with some
related new version macros.

Fixes: #17784
2018-03-06 07:43:04 -05:00
Kitware Robot 674c5b3066 CMake Nightly Date Stamp 2018-03-06 00:01:23 -05:00
Brad King 6be53c6695 CTest: Add options to control test process affinity to CPUs
In commit v2.8.0~170 (ENH: Added ctest test options PROCESSORS and
RUN_SERIAL, 2009-09-07) CTest learned to track the number of processors
allocated to running tests in order to balance it against the desired
level of parallelism.  Extend this idea by introducing a new
`PROCESSOR_AFFINITY` test property to ask that CTest run a test
with the CPU affinity mask set.  This will allow a set of tests
that are running concurrently to use disjoint CPU resources.
2018-03-05 09:21:32 -05:00
Brad King c5428d8db2 libuv: disable process affinity during CMake bootstrap
Avoid depending on platform-specific pthread features during bootstrap.
2018-03-05 09:21:31 -05:00
Brad King 24de561a1a libuv: unix,win: add uv_spawn option to set child CPU affinity mask
Implement it on Linux, FreeBSD, and Windows for now, and fail with
UV_ENOTSUP on other platforms.

Backported from upstream libuv PR 1527, scheduled for inclusion
in libuv 2.0.
2018-03-05 09:21:31 -05:00
Brad King 43d6e5a71f libuv: misc: add function to get CPU affinity mask size
Implement it on Linux, FreeBSD, and Windows for now, and return
UV_ENOTSUP on other platforms.

Backported from upstream libuv PR 1527, scheduled for inclusion
in libuv 2.0.
2018-03-05 09:21:31 -05:00
Brad King 49e777aeb1 Merge topic 'general_cleanup_enhance'
0a21d820d3 Remove c_str() from calls to converttorelativeformake in XCode Generator
f93cc4158e Refactor cmCacheManager::LoadCache to use ostringstream
915b71010c Enhance RunCMake test coverage for file(GLOB)
fcaa134c6c Refactor HandleGlobCommand
cf5d0b49e8 Adjust class description in cmFileTimeComparison.h

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1810
2018-03-05 09:02:14 -05:00
Brad King dc38970f83 Merge topic 'object-library-linking'
7776ce98c3 Tests: Add cases for usage requirements of linked object libs
bafe655b11 Help: Document linking behavior of OBJECT libraries
57538224d0 objlib: Link object-files from `OBJECT` libraries.
9a7f039ee7 objlib: Allow `OBJECT` libraries to link to `OBJECT` libraries.
dfb6e84082 objlib: Allow other libraries to link to `OBJECT` libraries.
51249e69ea objlib: Allow `OBJECT` libraries to link to other libraries.
e22c45d4c9 Tests: Teach RunCMake to ignore AIX ld warnings about GNU atexit

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Pavel Solodovnikov <hellyeahdominate@gmail.com>
Acked-by: John Drouhard <john@jmdtech.org>
Merge-request: !1524
2018-03-05 09:01:42 -05:00
Brad King b39a9dd897 Merge topic 'def-generate-windows-only'
1ac042aa67 Do not generate rules for .def generation where not supported

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1809
2018-03-05 09:00:30 -05:00
Kitware Robot 2fbd77124e CMake Nightly Date Stamp 2018-03-05 00:01:06 -05:00
Craig Scott e654622aee Tests: Add --build-and-test test case
Checks that giving an invalid build directory to
ctest --build-and-test will fail.
2018-03-04 22:27:59 +11:00
Craig Scott a865f0beb2 Tests: Confirm test working dir set successfully
Specifically, this tests that setting WORKING_DIRECTORY
to an invalid directory results in the test failing.
2018-03-04 22:27:59 +11:00