Commit Graph

24283 Commits

Author SHA1 Message Date
Vitaly Stakhovsky
a74d5a5c8b cmVisualStudio10TargetGenerator: improved XML nesting
Introduce an `Elem` helper class to track XML element state.  This
simplifies code in a few places, particularly OutputSourceSpecificFlags.
2018-03-16 08:50:19 -04:00
Brad King
bdbee54a83 Merge topic 'genex-COMPILE_LANGUAGE-system-include'
1b5e52fd65 Genex: Fix COMPILE_LANGUAGE propagation through try_compile
2deb9b7f34 Genex: Fix COMPILE_LANGUAGE in SYSTEM include directories

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1844
2018-03-13 13:42:45 -04:00
Brad King
7c557e2227 Merge topic 'ccmake-stack-smashing'
7899e53691 ccmake: fix status line buffer overflow on very wide terminals

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1836
2018-03-13 13:42:00 -04:00
Tianhao Chai
7899e53691 ccmake: fix status line buffer overflow on very wide terminals
A mistyped length calculation will memset across stack frame when
the user's terminal width is larger than 270.
2018-03-13 13:38:12 -04:00
Kitware Robot
b2584ce069 CMake Nightly Date Stamp 2018-03-13 00:01:15 -04:00
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
Brad King
1b5e52fd65 Genex: Fix COMPILE_LANGUAGE propagation through try_compile
When evaluating include directories during export to a `try_compile`
test project, thread the compile language through to the generator
expression evaluator so it can support `$<COMPILE_LANGUAGE:...>`.

Issue: #17811
2018-03-12 13:30:14 -04:00
Brad King
2deb9b7f34 Genex: Fix COMPILE_LANGUAGE in SYSTEM include directories
When evaluating `INTERFACE_SYSTEM_INCLUDE_DIRECTORIES`, or evaluating
`INTERFACE_INCLUDE_DIRECTORIES` on an imported target, thread the
compile language through to the generator expression evaluator so
that it can support `$<COMPILE_LANGUAGE:...>`.

Fixes: #17811
2018-03-12 11:45:01 -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
Brad King
c5541cf0da CMake 3.11.0-rc3 2018-03-09 08:33: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
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
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