Commit Graph

42352 Commits

Author SHA1 Message Date
Brad King
ec13bd5230 Tests: Disable test that builds KWSys if not also building CMake
If `CMake_TEST_EXTERNAL_CMAKE` is enabled then the compiler with which
we are driving tests may not be able to compile CMake, so do not try
to compile KWSys with it either.
2019-02-13 08:10:35 -05:00
Brad King
ded4bc136e Merge branch 'upstream-KWSys' into update-kwsys
* upstream-KWSys:
  KWSys 2019-02-12 (44676809)
2019-02-12 08:35:12 -05:00
KWSys Upstream
f3999a21c8 KWSys 2019-02-12 (44676809)
Code extracted from:

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

at commit 4467680959f82b755462a8530ef5d0dbd928d2d4 (master).

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

Albert Astals Cid (1):
      7d50c26d Delete some default constructors and assignment operators

Artur Ryt (1):
      01089e4c Prefer back/data over dereferencing rbegin/begin iterator
2019-02-12 08:35:11 -05:00
Brad King
9d2ab63aaf Merge topic 'clangcl-fixes'
091afa7342 Tests: Teach tests when to treat clang-cl as MSVC
006768903c Work around clang-cl breakage on make_unique/std::forward
d625dfcdf9 Avoid compiling CMake itself as C++17 with Clang's MSVC ABI

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2573
2019-02-12 08:31:00 -05:00
Brad King
20afd497c9 Merge topic 'progress-stdstring'
950c099d83 cmake: Progress functions use `std::string` param

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2948
2019-02-12 08:30:13 -05:00
Brad King
a7a8571933 Merge topic 'modernize-cmCursesMainForm'
f6291eee25 cmCursesMainForm: Modernize with STL and ranged-for loops

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2947
2019-02-12 08:29:08 -05:00
Brad King
c0ba467d2d Merge topic 'cmCTestRunTest-compress'
948c55857e cmCTestRunTest: Remove duplicated compression logic

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2946
2019-02-12 08:28:24 -05:00
Brad King
336300d530 Merge branch 'release-3.14' 2019-02-12 08:27:01 -05:00
Brad King
f468c0e1b9 Merge topic 'FindMatlab-version-empty'
40176749bc FindMatlab: Tolerate empty version log file

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2949
2019-02-12 08:25:51 -05:00
Brad King
9e34f11b36 Merge topic 'doc-if-legacy'
572b4fd85b Help: Fix elseif/endif typo

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2950
2019-02-12 08:24:59 -05:00
Brad King
f0a57d42a2 Merge topic 'FindOctave-interp-target'
6725975bd8 FindOctave: Add target for octinterp

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2931
2019-02-12 08:24:11 -05:00
Kitware Robot
64ae72c52a CMake Nightly Date Stamp 2019-02-12 00:01:06 -05:00
Brad King
a251b61181 Merge branch 'doc-if-legacy' into release-3.14
Merge-request: !2950
2019-02-11 14:44:00 -05:00
Juuso "Linda" Lapinlampi
572b4fd85b Help: Fix elseif/endif typo
In CMake 3.13.x, we had this evaluation for if() conditions:

    if(a) elseif(b) else(a) endif(a)

The sensible intention of the change in commit c2efb3efcd (Help: Revise
docs on Scripting Commands, 2018-10-16, v3.14.0-rc1~505^2) was:

> "endif", "endfunction" etc: Explain that the argument is optional and
> maintained for compatibility only

Instead of "endif", it ended up being written to the documentation as
"elseif" by the commit author (oops) to if()'s page.

    if(a) elseif(a!?) else() endif(a?)

Truthfully, endif()'s parameter should be an optional verbatim repeat
and not elseif()'s. If it wasn't, elseif() would be described to be the
same as if(). The rightful intended description is:

    if(a) elseif(b) else() endif()

Fix that typo.
2019-02-11 14:41:51 -05:00
Brad King
3ff5a43c49 Merge branch 'FindMatlab-version-empty' into release-3.14
Merge-request: !2949
2019-02-11 13:21:41 -05:00
Sebastian Nagel
40176749bc FindMatlab: Tolerate empty version log file 2019-02-11 13:20:55 -05:00
Vitaly Stakhovsky
950c099d83 cmake: Progress functions use std::string param 2019-02-11 10:32:43 -05:00
Zsolt Parragi
091afa7342 Tests: Teach tests when to treat clang-cl as MSVC
* Disable the system include unused variable test in ExportImport when
  clang is in MSVC compatible mode.

* Disable CxxDialect testcase when clang is in MSVC compatible mode, as
  it doesn't support `typeof`.

* Teach Module.WriteCompilerDetectionHeader to treat clang-cl as MSVC.

* Disable the SystemIncludeDirectories testcase within
  IncludeDirectories when clang is in MSVC compatible mode.

* Disable the CMakeOnly.CheckCXXCompilerFlag testcase when clang is in
  MSVC compatible mode.

* Treat clang-cl as MSVC in LinkOptions.cmake in the try_run and
  try_compile testcases.
2019-02-11 15:04:28 +01:00
Zsolt Parragi
006768903c Work around clang-cl breakage on make_unique/std::forward
Clang on Windows with the MSVC ABI produces link errors of the
form `unresolved std::_Iosb<int>::{app,_Openmode} in ...`.
Use a temporary variable to forward as lvalue rather than rvalue
to work around the problem.
2019-02-11 15:04:28 +01:00
Zsolt Parragi
d625dfcdf9 Avoid compiling CMake itself as C++17 with Clang's MSVC ABI
GUID functions in ATL cause compilation errors with this compiler.
Add the offending case to our check for C++17 support so that it
is not used by default when it does not work.
2019-02-11 15:04:19 +01:00
Brad King
8a1d25afdf Merge topic 'ctest-exit-code-int64'
440b08e4f0 CTest: Represent process exit codes as 64-bit signed integer

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2944
2019-02-11 08:08:56 -05:00
Brad King
4b37b4f1bb Merge topic 'modernize-for-loops'
01b2d6ab74 Modernize: Use ranged for-loops when possible
15bdbec017 cmAlgorithms: Make cmRange advance/retreat safe for rvalues

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Daniel Pfeifer <daniel@pfeifer-mail.de>
Merge-request: !2901
2019-02-11 08:08:22 -05:00
Brad King
633b3145c0 Merge branch 'FindOctave-interp-target' into release-3.14
Merge-request: !2931
2019-02-11 08:06:38 -05:00
Brad King
17de1eea80 Merge branch 'release-3.14' 2019-02-11 08:05:58 -05:00
Brad King
4a944deef9 Merge topic 'ghs-relnotes'
2d701b78de Help: Update 3.14 release notes for GHS changes

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2934
2019-02-11 08:05:36 -05:00
Brad King
9e309cd4f0 Merge branch 'ghs-relnotes' into release-3.14
Merge-request: !2934
2019-02-11 07:50:00 -05:00
Fred Baksik
2d701b78de Help: Update 3.14 release notes for GHS changes 2019-02-11 07:49:08 -05:00
Brad King
5651568d14 Merge topic 'ghs-updates'
bcd99fac60 GHS: Document usage of GHS_NO_SOURCE_GROUP_FILE

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2943
2019-02-11 07:45:23 -05:00
Brad King
d9ddb30e92 Merge topic 'fix-exclude-dir-with-iface'
f87e724e8c Fix EXCLUDE_FROM_ALL on directory with an interface library

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2937
2019-02-11 07:44:40 -05:00
Kitware Robot
56c2eab1e2 CMake Nightly Date Stamp 2019-02-11 00:01:16 -05:00
Artur Ryt
f6291eee25 cmCursesMainForm: Modernize with STL and ranged-for loops 2019-02-10 19:07:50 +01:00
Regina Pfeifer
948c55857e cmCTestRunTest: Remove duplicated compression logic 2019-02-10 15:47:15 +01:00
Kitware Robot
e7d319714d CMake Nightly Date Stamp 2019-02-10 00:01:05 -05:00
Kitware Robot
2f2295ec9e CMake Nightly Date Stamp 2019-02-09 00:01:07 -05:00
Peter Stroia-Williams
6725975bd8 FindOctave: Add target for octinterp
This change adds the Octave::Octinterp target to make the octinterp
library available without users having to resort to using the
Octave_INTERP_LIBRARY variable.
2019-02-08 20:34:30 +00:00
Zsolt Parragi
440b08e4f0 CTest: Represent process exit codes as 64-bit signed integer
Exit code constants on Windows, such as `STATUS_NO_MEMORY` do not fit in
a 32-bit signed integer type.  They do fit in an unsigned 32-bit type,
but for compatibility with UNIX semantics we treat exit codes as signed.
Use a 64-bit signed integer to handle both.
2019-02-08 14:49:20 -05:00
Brad King
88031dd09a Merge branch 'ghs-updates' into release-3.14
Merge-request: !2943
2019-02-08 14:02:14 -05:00
Brad King
3b58b647ae Merge branch 'fix-exclude-dir-with-iface' into release-3.14
Merge-request: !2937
2019-02-08 14:02:03 -05:00
Kyle Edwards
a3ec65c3e8 Merge branch 'release-3.14' 2019-02-08 13:48:26 -05:00
Kyle Edwards
3b87e7aaa3 Merge branch 'file_create_link_release_note' into release-3.14
Merge-request: !2942
2019-02-08 13:47:35 -05:00
Kyle Edwards
48b377a08f Merge topic 'file_create_link_release_note'
e729f2b3fd Help: Add notes for `file(CREATE_LINK)` subcommand

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2942
2019-02-08 13:45:35 -05:00
Tushar Maheshwari
e729f2b3fd Help: Add notes for file(CREATE_LINK) subcommand 2019-02-08 13:20:45 -05:00
Fred Baksik
bcd99fac60 GHS: Document usage of GHS_NO_SOURCE_GROUP_FILE
-- Also change variable name to CMAKE_GHS_NO_SOURCE_GROUP_FILE
2019-02-08 13:07:00 -05:00
Kyle Edwards
18b0329a81 Merge topic 'cmake_parse_arguments-keywords_missing_values'
5228432b45 cmake_parse_arguments: add KEYWORDS_MISSING_VALUES
8e746db6e1 cmake_parse_arguments: Factor out part of implementation for re-use

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2910
2019-02-08 12:14:46 -05:00
Brad King
89ca5d7fdc Merge topic 'message-stdstring'
82edd98300 cmSystemTools: MessageCallback and Message() accept std::string argument

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2929
2019-02-08 08:49:35 -05:00
Brad King
bf12794504 Merge topic 'getreqdef'
00ba28ffd0 cmMakefile::GetRequiredDefinition: return const std::string&

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2930
2019-02-08 08:48:51 -05:00
Brad King
9783825de5 Merge topic 'runsinglecommand'
65baaa0e37 cmSystemTools::RunSingleCommand: Accept std::string argument

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2927
2019-02-08 08:47:56 -05:00
Brad King
f87e724e8c Fix EXCLUDE_FROM_ALL on directory with an interface library
Since commit dc6888573d (Pass EXCLUDE_FROM_ALL from directory to
targets, 2019-01-15, v3.14.0-rc1~83^2) we automatically forward the
`EXCLUDE_FROM_ALL` to targets as they are created.  This regressed
support for interface libraries on which the property is not allowed.

Skip forwarding the `EXCLUDE_FROM_ALL` property for interface libraries.
It is not needed on them because they do not participate in the
generated build system anyway.

Fixes: #18896
2019-02-08 08:17:48 -05:00
Kitware Robot
3f0a5b3fe8 CMake Nightly Date Stamp 2019-02-08 00:01:07 -05:00
Artur Ryt
01b2d6ab74 Modernize: Use ranged for-loops when possible
Replaced most manual `const_iterator`-based loops and some
reverse-iterator loops with range loops.

Fixes: #18858
2019-02-07 22:39:05 +01:00