Commit Graph

26468 Commits

Author SHA1 Message Date
Brad King
87120b9c2a Merge topic 'out-of-dir-linking-private-deps'
3d3713121b target_link_libraries: Fix static library private deps in other dirs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3276
2019-05-01 11:50:33 -04:00
Kitware Robot
f4e2face6f CMake Nightly Date Stamp 2019-05-01 00:01:05 -04:00
Craig Scott
e138207c42 Merge topic 'message-new-types-and-logging'
599587feb1 message(): Minor code modernization
6cc93b370e message(): Add support for log levels
377d1b7896 cmSystemTools: Remove unused message-related code, simplify logic

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Brad King <brad.king@kitware.com>
Merge-request: !3268
2019-04-30 18:35:06 -04:00
Brad King
3d3713121b target_link_libraries: Fix static library private deps in other dirs
In commit a1ad0a699b (target_link_libraries: Allow use with targets in
other directories, 2018-09-07, v3.13.0-rc1~94^2) we accidentally broke
the logic that adds `$<LINK_ONLY:...>` to private dependencies of static
libraries in their `INTERFACE_LINK_LIBRARIES` in the case that the
dependency is added from outside the directory creating the library.
The check for a valid target name should apply to the original name
specified by the caller and not the encoded cross-directory reference.

Fixes: #19197
2019-04-30 13:53:10 -04:00
Brad King
ea026fb219 Merge topic 'cmuvstreambuf'
c74698cb75 cmUVStreambuf: Add std::streambuf implementation for uv_stream_t
8cfd25db71 cmUVHandlePtr: Add cm::uv_loop_ptr
c0e6b22d0a Refactor: Move/rename cmProcessGetPipes() to cmGetPipes()

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3240
2019-04-30 10:35:11 -04:00
Kyle Edwards
40852eed8e Merge topic 'source_group-tree-files'
8d93815d20 source_group command ensures that FILES arguments are actually files

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3265
2019-04-30 10:30:35 -04:00
Brad King
d0e6fc2833 Merge topic 'relax_TARGET_OBJECT_generator_expr'
ce078dda79 Relax the usage of TARGET_OBJECTS generator expression

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3178
2019-04-30 10:09:52 -04:00
Brad King
d9a4da453f Merge topic 'server-deprecate'
996e1885c4 server: deprecate in favor of the file-api

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kyle Edwards <kyle.edwards@kitware.com>
Merge-request: !3251
2019-04-30 10:07:27 -04:00
Brad King
60b28de5c8 Merge topic 'add-execute_process-command-echo'
044dcf9f8d execute_process: Add option to echo command lines
d350fb6889 execute_process: Manage KWSys Process lifetime with unique_ptr

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3165
2019-04-30 10:05:09 -04:00
Kitware Robot
4eebc52eca CMake Nightly Date Stamp 2019-04-30 00:01:05 -04:00
Kitware Robot
a40c9825bb CMake Nightly Date Stamp 2019-04-29 00:01:05 -04:00
Alex Turbov
599587feb1 message(): Minor code modernization 2019-04-28 22:45:44 +10:00
Alex Turbov
6cc93b370e message(): Add support for log levels
Relates: #18943
Co-Authored-By: Craig Scott <craig.scott@crascit.com>
2019-04-28 22:45:44 +10:00
Kitware Robot
d8426b57a6 CMake Nightly Date Stamp 2019-04-28 00:01:04 -04:00
Alex Turbov
377d1b7896 cmSystemTools: Remove unused message-related code, simplify logic 2019-04-27 18:36:45 +10:00
Kitware Robot
a9c113fd3e CMake Nightly Date Stamp 2019-04-27 00:01:04 -04:00
Kitware Robot
68031b4fdd CMake Nightly Date Stamp 2019-04-26 00:01:07 -04:00
Kyle Edwards
1ddce8fd6d Merge topic 'cmWorkerPool_Tweaks'
56890ede2a cmWorkerPool: Factor our worker thread class (internals)
9794b72d38 cmWorkerPool: Set worker thread count separately to Process()

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3260
2019-04-25 15:34:12 -04:00
Mateusz Janek
8d93815d20 source_group command ensures that FILES arguments are actually files 2019-04-25 20:51:40 +02:00
Kyle Edwards
c74698cb75 cmUVStreambuf: Add std::streambuf implementation for uv_stream_t
This will allow std::istream/std::ostream-based interaction with
processes spawned by libuv.
2019-04-25 12:14:00 -04:00
Kyle Edwards
8cfd25db71 cmUVHandlePtr: Add cm::uv_loop_ptr 2019-04-25 12:03:08 -04:00
Kyle Edwards
c0e6b22d0a Refactor: Move/rename cmProcessGetPipes() to cmGetPipes() 2019-04-25 12:03:08 -04:00
Kitware Robot
4ccf40e61e CMake Nightly Date Stamp 2019-04-25 00:01:07 -04:00
Kyle Edwards
a7eb2877b8 Merge topic 'ctest_xml_tweaks'
d8af0700a3 ctest: consistently format generator name
95db11fdb1 ctest: Include ChangeId in Update.xml

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3259
2019-04-24 09:30:42 -04:00
Sebastian Holtermann
56890ede2a cmWorkerPool: Factor our worker thread class (internals)
This moves the `cmWorkerPoolInternal::WorkerT` class to `cmWorkerPoolWorker`
and changes the thread start interface to make it independent of the
`cmWorkerPoolInternal` type.
2019-04-24 12:54:19 +02:00
Sebastian Holtermann
9794b72d38 cmWorkerPool: Set worker thread count separately to Process()
Don't pass the desired worker thread count to the `cmWorkerPool::Process()`
method but set it separately with the new `cmWorkerPool::SetThreadCount`
method.  This allows calling `cmWorkerPool::Process()` repeatedly without
having to pass the thread count every time.
2019-04-24 12:32:58 +02:00
Kitware Robot
993dfa89d8 CMake Nightly Date Stamp 2019-04-24 00:01:04 -04:00
Zack Galbreath
d8af0700a3 ctest: consistently format generator name
Notes.xml and Upload.xml were missing a hyphen that the rest of
our XML files included.

ctest3.14.0-rc1 vs. ctest-3.14.0-rc1
2019-04-23 15:02:14 -04:00
Zack Galbreath
95db11fdb1 ctest: Include ChangeId in Update.xml 2019-04-23 14:56:46 -04:00
Kitware Robot
d170a3177f CMake Nightly Date Stamp 2019-04-23 00:01:04 -04:00
Brad King
996e1885c4 server: deprecate in favor of the file-api
Document the server mode as deprecated.  Add a deprecation message
to the configure step output when invoked through server mode.

Closes: #19101
2019-04-22 09:38:44 -04:00
Brad King
d0e3701861 Merge topic 'msvc-warning-flags'
1baf122cd4 MSVC: Do not add /W3 to CMAKE_<LANG>_FLAGS by default

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3250
2019-04-22 07:51:01 -04:00
Brad King
cb23f2ac8b Merge topic 'vs-default-platform'
db02be85a0 VS: Provide the default platform name to project code

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3246
2019-04-22 07:38:33 -04:00
Kitware Robot
8c322f9313 CMake Nightly Date Stamp 2019-04-22 00:01:04 -04:00
Kitware Robot
77ae6ae860 CMake Nightly Date Stamp 2019-04-21 00:01:03 -04:00
Kitware Robot
0116bb19d3 CMake Nightly Date Stamp 2019-04-20 00:01:04 -04:00
Robert Maynard
ce078dda79 Relax the usage of TARGET_OBJECTS generator expression
The geneator expression can now be used with static, shared, and
module libraries and executables.
2019-04-19 13:52:50 -04:00
Bill Hoffman
044dcf9f8d execute_process: Add option to echo command lines
Add COMMAND_ECHO option to the execute_process command. This will allow
execute_process to show the command it will run. Also add a cmake variable
CMAKE_EXECUTE_PROCESS_COMMAND_ECHO. Both the option and the variable can
be set to one of the following: STDERR|STDOUT|NONE. The command will be
printed to stderr or stdout or not at all.

Fixes: #18933
2019-04-19 13:32:08 -04:00
Brad King
d350fb6889 execute_process: Manage KWSys Process lifetime with unique_ptr 2019-04-19 13:32:08 -04:00
Brad King
1baf122cd4 MSVC: Do not add /W3 to CMAKE_<LANG>_FLAGS by default
We do not add default warning flags on other compilers, and having
a warning flag in the default flags makes it hard for projects to
customize the warning level.  They need to use string processing
to remove `/W3` from `CMAKE_{C,CXX}_FLAGS`.  Therefore we should
drop it.

However, projects may be using string processing to replace `/W3`
with another flag, so we cannot simply drop it.  Add a policy to
drop it in a compatible way.

Fixes: #18317
2019-04-19 12:56:49 -04:00
Brad King
db02be85a0 VS: Provide the default platform name to project code
The value of `CMAKE_VS_PLATFORM_NAME` is computed by Visual Studio
generators based on `CMAKE_GENERATOR_PLATFORM` or some default.
Prior to the VS 2019 generator, the default was always `Win32`.
However, for the `Visual Studio 16 2019` generator, the default is
based on the host platform.

Store the default in a new `CMAKE_VS_PLATFORM_NAME_DEFAULT` variable for
use by project code.  This is particularly useful in toolchain files
because they are allowed to set `CMAKE_GENERATOR_PLATFORM` and so
`CMAKE_VS_PLATFORM_NAME` is not yet known.  Of course the toolchain file
author knows whether it will set `CMAKE_GENERATOR_PLATFORM`, and if not
then `CMAKE_VS_PLATFORM_NAME_DEFAULT` provides the platform name that
will be used.

Fixes: #19177
2019-04-19 07:46:13 -04:00
Kitware Robot
bf64e50da4 CMake Nightly Date Stamp 2019-04-19 00:01:04 -04:00
Brad King
2e94c1185b Merge topic 'unique'
9ecb3f8d5c Ninja,Makefile: use `unique_ptr` for memory management

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3230
2019-04-18 11:07:07 -04:00
Saleem Abdulrasool
9ecb3f8d5c Ninja,Makefile: use unique_ptr for memory management
Use a `unique_ptr` to manage the lifetime of the `MacOSXContentGenerator`
and 'OSXBundleGenerator` rather than manually handling the lifetime.
2019-04-18 11:05:25 -04:00
Brad King
52ef218664 Merge topic 'update-kwsys'
0e47391400 bootstrap: Update for new KWSys configuration option
fb15c27562 Merge branch 'upstream-KWSys' into update-kwsys
0225b05afe KWSys 2019-04-17 (c42b92f0)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3242
2019-04-18 11:01:50 -04:00
Kitware Robot
44c6acc053 CMake Nightly Date Stamp 2019-04-18 00:01:03 -04:00
Brad King
2ed688a863 Merge topic 'msvc-runtime-library'
fb3370b6a1 MSVC: Add abstraction for runtime library selection
f621e7fa5d VS: Fix Fortran runtime library flag map special case for '-' options

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Ben Boeckel <ben.boeckel@kitware.com>
Acked-by: Leonid Pospelov <pospelovlm@yandex.ru>
Merge-request: !3211
2019-04-17 11:01:37 -04:00
Brad King
fb3370b6a1 MSVC: Add abstraction for runtime library selection
Replace our hard-coded defaults for `/MD` and `/MDd` with a first-class
abstraction to select the runtime library from an enumeration of logical
names.  We've long hesitated to do this because the idea of "runtime
library selection" touches on related concepts on several platforms.
Avoid that scope creep by simply defining an abstraction that applies
only when targeting the MSVC ABI on Windows.

Removing the old default flags requires a policy because existing
projects may rely on string processing to edit them and choose a runtime
library under the old behavior.  Add policy CMP0091 to provide
compatibility.

Fixes: #19108
2019-04-17 11:00:44 -04:00
Brad King
fb15c27562 Merge branch 'upstream-KWSys' into update-kwsys
* upstream-KWSys:
  KWSys 2019-04-17 (c42b92f0)
2019-04-17 09:50:14 -04:00
Kitware Robot
8d5eb97878 CMake Nightly Date Stamp 2019-04-17 00:01:04 -04:00