Commit Graph

24269 Commits

Author SHA1 Message Date
Brad King 378a11cdba Merge topic 'genex-TARGET_EXISTS'
7fec336bf7 genex: Add TARGET_EXISTS to check for target existence

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1829
2018-03-12 13:42:18 -04:00
Brad King 746ebaf563 Merge topic 'xml-raii'
90086767dd cmGlobalVisualStudio10Generator: Use cmXMLWriter RAII helpers
8401b6ac4e cmXMLWriter: Add RAII helpers to allow DOM-like syntax

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1818
2018-03-12 13:41:28 -04:00
Brad King fac050ec8d Merge topic 'update-dllplatform'
2dc2a3eb15 Identify DLL platforms via CMAKE_IMPORT_LIBRARY_SUFFIX

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1832
2018-03-12 13:40:44 -04:00
Brad King 725b0cab86 Merge topic 'cmake-rc-version-decimal'
588a1afe76 CMakeVersion.rc: Avoid leading zeros in integer version components

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1835
2018-03-12 13:39:45 -04:00
Kitware Robot b340cacde8 CMake Nightly Date Stamp 2018-03-12 00:01:06 -04:00
Kitware Robot c703972694 CMake Nightly Date Stamp 2018-03-11 00:01:06 -05:00
Kitware Robot 6dbdfab1a9 CMake Nightly Date Stamp 2018-03-10 00:01:12 -05:00
Brad King 588a1afe76 CMakeVersion.rc: Avoid leading zeros in integer version components
The split in commit v3.11.0-rc1~232^2 (CMakeVersion RC file: Split patch
into 2 components, 2017-12-01) can leave components "2018,0309", but the
latter is an octal constant with digit "9" out of range.  Strip the
leading zero to express the components as "2018,309" so the resource
compiler treats them as decimal.
2018-03-09 10:52:49 -05:00
Vitaly Stakhovsky 90086767dd cmGlobalVisualStudio10Generator: Use cmXMLWriter RAII helpers
This simplifies our XML generation code and avoids the need to disable
clang-format.
2018-03-09 10:11:11 -05:00
Alex Turbov 7fec336bf7 genex: Add TARGET_EXISTS to check for target existence
Define `$<TARGET_EXISTS:a>` to `1` if `a` is an existed target name,
else `0`.
2018-03-09 08:24:05 -05:00
Stephan Szabo 2dc2a3eb15 Identify DLL platforms via CMAKE_IMPORT_LIBRARY_SUFFIX
Use `CMAKE_IMPORT_LIBRARY_SUFFIX` to identify platforms that have DLL
import libraries rather than memorizing a list of platform names.

Fixes: #16801
2018-03-09 08:09:21 -05:00
Brad King e11410bb0c Merge topic 'cmWorkingDirectory_success_checking'
5901699672 cmDepends: Remove attempt to change directory that always fails
e60e4dfc88 cmWorkingDirectory: Check success of current dir changes
e654622aee Tests: Add --build-and-test test case
a865f0beb2 Tests: Confirm test working dir set successfully

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1817
2018-03-09 07:43:54 -05:00
Brad King 44fc572963 Merge topic 'cmoutpconv-static'
ff5823f512 cmOutputConverter: mark helper functions static

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1827
2018-03-09 07:40:28 -05:00
Brad King 98622e5e72 Merge topic 'make-clean-no-targets'
81bc7610ab Makefile: Fix "make clean" when there are no targets

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1833
2018-03-09 07:38:49 -05:00
Brad King f8adde152f Merge topic 'sort_glob_output'
87a6816baf Add test for sorting and deduping of file(GLOB) result
b688d4fd22 file(GLOB): Ensure entire file list is sorted

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1821
2018-03-09 07:38:07 -05:00
Vitaly Stakhovsky 8401b6ac4e cmXMLWriter: Add RAII helpers to allow DOM-like syntax
Use RAII for cmXMLWriter::StartElement/EndElement to make nesting
automatic.
2018-03-09 07:28:49 -05:00
Kitware Robot 72abc75519 CMake Nightly Date Stamp 2018-03-09 00:01:10 -05:00
Craig Scott 81b17f4649 Merge topic 'project-warn-missing-metadata-values'
587bad7ba2 project: warn on metadata arguments missing values

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1815
2018-03-08 16:11:52 -05:00
Brad King 50b2d0c944 Merge topic 'misc-typos'
32f6b7a43b Fix misc typos in documentation and comments

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1826
2018-03-08 09:58:19 -05:00
Brad King 1076ac9d68 Merge topic 'vs10-xmlmacros'
59d8cfb85e cmVisualStudio10TargetGenerator: Use helpers for XML tags

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1813
2018-03-08 09:57:44 -05:00
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 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 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 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
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
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 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 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 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 2c5b4359f8 Merge branch 'upstream-KWSys' into update-kwsys
* upstream-KWSys:
  KWSys 2018-03-07 (2ad561e7)
2018-03-07 06:48:34 -05:00
Kitware Robot 086f84aa20 CMake Nightly Date Stamp 2018-03-07 00:01:11 -05: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
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
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 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
Kitware Robot 0e362b23e1 CMake Nightly Date Stamp 2018-03-04 00:01:07 -05:00
Kitware Robot dbfdb90430 CMake Nightly Date Stamp 2018-03-03 00:01:12 -05:00
Kitware Robot dc13ed1f84 CMake Nightly Date Stamp 2018-03-02 00:01:06 -05:00
Deniz Bahadir 57538224d0 objlib: Link object-files from OBJECT libraries.
Note: This finally links the object-files of the `OBJECT` library from
the right-hand side of `target_link_libraries` to the target on the
left-hand side. However, this will only happen with directly linked
`OBJECT` libraries, not with `OBJECT` libraries "linked" through
property `INTERFACE_LINK_LIBRARIES` of a target on the right-hand side!

Fixes: #14778
2018-03-01 09:24:25 -05:00