Commit Graph

33158 Commits

Author SHA1 Message Date
Tobias Hunger 9112c43ebc server-mode: Fix named pipe mode
Do not treat a pointer itself as a `uv_stream_t`, but instead the
pointed-to `uv_pipe_t`.  It is unclear how this ever worked before in
local testing.

While at it, remove duplicate setup code and improve an error message.
2016-10-18 10:55:01 -04:00
Brad King 5ffeb9bc13 Merge branch 'cmake-server-improve-shutdown' into release 2016-10-04 11:40:20 -04:00
Tobias Hunger 68277e16c4 server-mode: Improve shutdown behavior
Add a signal handler to trigger shutdown and be more paranoid about
libuv doing things asynchronously.  This should fix test cases not
shutting down properly.
2016-10-04 09:15:32 -04:00
Brad King 1dc252ecf4 Merge branch 'fix-doc-3.7-relnotes' into release 2016-10-03 09:53:58 -04:00
Roman Wüger a1ecf3f1b0 Help: Add 3.7 release note for CPack/NSIS 2016-10-03 09:52:06 -04:00
Brad King 46f3306f6a CMake 3.7.0-rc1 version update 2016-10-03 09:08:04 -04:00
Brad King 2aea7099e1 Help: Drop development topic notes to prepare release
Release versions do not have the development topic section of
the CMake Release Notes index page.
2016-10-03 09:06:06 -04:00
Brad King b99bbfe88d Merge topic 'doc-3.7-relnotes'
64e63da0 Help: Organize and revise 3.7 release notes
e82c33b8 Help: Consolidate 3.7 release notes
2016-10-03 09:02:00 -04:00
Brad King 5ad6d4d7a1 Merge topic 'FindBoost-1.62'
a997cac8 FindBoost: Add 1.62 and 1.62.0 as supported versions
2016-10-03 09:01:57 -04:00
Brad King 5cdeb661ea Merge topic 'doc-target_link_libraries-flags'
07bb2724 Help: Clarify treatment of link flags in target_link_libraries
2016-10-03 09:01:54 -04:00
Brad King bed8d6b887 Merge topic 'cmake-server-teardown-file-monitor'
1b43f9d1 cmake-server: Stop the file monitor on client disconnect
2016-10-03 09:01:51 -04:00
John Beard 07bb27240f Help: Clarify treatment of link flags in target_link_libraries 2016-10-03 08:53:43 -04:00
Roger Leigh a997cac832 FindBoost: Add 1.62 and 1.62.0 as supported versions 2016-10-03 12:19:33 +01:00
Kitware Robot 2d4aeb1ff1 CMake Nightly Date Stamp 2016-10-03 00:01:02 -04:00
Kitware Robot 52fb3d78d3 CMake Nightly Date Stamp 2016-10-02 00:01:04 -04:00
Brad King 64e63da0d1 Help: Organize and revise 3.7 release notes
Add section headers similar to the 3.6 release notes and move each
individual bullet into an appropriate section.  Revise a few bullets.
2016-10-01 08:25:17 -04:00
Brad King e82c33b88c Help: Consolidate 3.7 release notes
Move all development release notes into a new version-specific document:

 tail -q -n +3 Help/release/dev/* > Help/release/3.7.rst
 git rm -- Help/release/dev/*

except the sample topic:

 git checkout HEAD -- Help/release/dev/0-sample-topic.rst

Reference the new document from the release notes index document.
Add a title and intro sentence to the new document by hand.
2016-10-01 08:25:17 -04:00
Brad King 9921b2f8c8 Merge topic 'doc-cmake-A-link'
39c898a1 Help: Clarify that `cmake -A` option sets VS IDE target architecture
2016-10-01 08:20:43 -04:00
Brad King 38a4e5883f Merge topic 'doc-compilers-dropped'
27c51865 Help: Add release note about compilers that no longer build CMake itself
2016-10-01 08:20:39 -04:00
Brad King f564e4ab01 Merge topic 'autogen-fix-cmake-error'
a189d019 QtAutogen: Use cmSystemTools::Error instead of std::cerr
2016-10-01 08:20:36 -04:00
Brad King 8202816a36 Merge topic 'autogen-empty-qrc'
bcafc399 QtAutogen: Add test for empty qrc file
98b11f25 QtAutogen: Allow .qrc files that do not contain any file reference
2016-10-01 08:20:33 -04:00
Brad King de486a6895 Merge topic 'aux_source_directory-sort'
50b27de4 aux_source_directory: Sort results to make it deterministic
2016-10-01 08:20:30 -04:00
Brad King b4235b7590 Merge topic 'add-setup-projects-tests-module'
130784e0 AndroidTestUtilities: Add module to help drive Android device tests
2016-10-01 08:20:27 -04:00
Brad King b73080b0c2 Merge topic 'cmake-server-test-wait'
d56f9237 Tests: Teach Server test to wait for server exit
2016-10-01 08:20:23 -04:00
Kitware Robot 541394f30a CMake Nightly Date Stamp 2016-10-01 00:01:04 -04:00
Brad King 1b43f9d12d cmake-server: Stop the file monitor on client disconnect
When the client disconnects we need to remove all events from our loop.
Prior to the introduction of the file monitor we only needed to remove
the client pipes.  Now we need to remove the file monitor events too.

Without this the event loop may continue to block on file monitor
events.  If one does eventually come in then the event handler may try
to report it to the disconnected client and crash because our internal
structures for writing to the client have been freed.

This addresses a failure of the `Server` test on some machines.
2016-09-30 15:05:42 -04:00
Brad King 27c51865eb Help: Add release note about compilers that no longer build CMake itself
The introduction of libuv requires some intrinsics such as InterlockedOr
that are not available on VS 2005 and below or on MinGW.org's mingw32.
Add a release note that we no longer support these compilers for CMake
itself.
2016-09-30 14:02:03 -04:00
Schuyler Kylstra 130784e039 AndroidTestUtilities: Add module to help drive Android device tests
Add a module to manage the data needed for the project tests.  It will
move the test data to the build directory and transfer necessary data to
an Android device if that is enabled.
2016-09-30 13:49:47 -04:00
Brad King 39c898a107 Help: Clarify that `cmake -A` option sets VS IDE target architecture 2016-09-30 11:54:16 -04:00
Junghyun Kim 50b27de421 aux_source_directory: Sort results to make it deterministic
The change in commit v3.6.0-rc1~54^2 (file: Sort GLOB results to make it
deterministic, 2016-05-14) makes sense for `aux_source_directory` too.

Signed-off-by: Junghyun Kim <jh0822.kim@samsung.com>
2016-09-30 10:30:15 -04:00
Sebastian Holtermann a189d019dd QtAutogen: Use cmSystemTools::Error instead of std::cerr
We can use std::cerr only in the build-time tool, not during CMake
generation.
2016-09-30 10:12:59 -04:00
Sebastian Holtermann bcafc399c5 QtAutogen: Add test for empty qrc file 2016-09-30 10:02:49 -04:00
Sebastian Holtermann 98b11f252c QtAutogen: Allow .qrc files that do not contain any file reference 2016-09-30 10:02:48 -04:00
Brad King d56f9237d7 Tests: Teach Server test to wait for server exit
We expect the server to exit when its communication pipes are closed.
Close them and wait for the server to exit.  If supported by the current
version of python, kill the server if it does not exit after a few
seconds.
2016-09-30 09:36:57 -04:00
Brad King 8491a539cf Merge topic 'cmake-server-filewatcher'
4e34f042 server-mode: Watch CMakeLists.txt files
26250002 server-mode: Report watched files to client
0d96e193 server-mode: Add infrastructure to watch the filesystem
2016-09-30 08:07:29 -04:00
Brad King 9c932109a2 Merge topic 'cmake-server-enable-more'
957e72c0 Utilities/Release: Use python 3 for server mode test on Linux binary
64934f20 Utilities/Release: Enable server mode in all binaries
ec0bf638 bootstrap: Add options to enable/disable server mode explicitly
523f8ec8 server-mode: Add option to enable/disable test case explicitly
6b97a5ef server-mode: Add option to enable/disable the mode explicitly
a8334961 server-mode: Rename variable CMake_{HAVE => ENABLE}_SERVER_MODE
97b6e17c server-mode: Enable from bootstrapped CMake build
2016-09-30 08:07:26 -04:00
Brad King b90aa96c78 Merge topic 'update-libuv'
f9cab9e3 Merge branch 'upstream-libuv' into update-libuv
66ac1feb libuv 2016-09-27 (8221f9b3)
2016-09-30 08:07:23 -04:00
Brad King dd0ba564e4 Merge topic 'update-kwsys'
6fe45e98 Merge branch 'upstream-KWSys' into update-kwsys
0ab471ad KWSys 2016-09-29 (6cfcbede)
2016-09-30 08:07:20 -04:00
Kitware Robot 7246e0c2ef CMake Nightly Date Stamp 2016-09-30 00:01:05 -04:00
Tobias Hunger 4e34f04250 server-mode: Watch CMakeLists.txt files
Watch CMakeLists.txt files (and similar) from the Server
2016-09-29 22:34:10 +02:00
Tobias Hunger 262500028c server-mode: Report watched files to client
* Add a command to report watched files and directories to clients.
2016-09-29 21:47:05 +02:00
Tobias Hunger 0d96e19329 server-mode: Add infrastructure to watch the filesystem
Enable the server to watch for filesystem changes. This patch includes
* The infrastructure for the file watching
* makes that infrastructure available to cmServerProtocols
* Resets the filesystemwatchers on "configure"
2016-09-29 21:47:05 +02:00
Brad King f9cab9e38d Merge branch 'upstream-libuv' into update-libuv
* upstream-libuv:
  libuv 2016-09-27 (8221f9b3)
2016-09-29 14:19:51 -04:00
libuv upstream 66ac1febc4 libuv 2016-09-27 (8221f9b3)
Code extracted from:

    https://github.com/libuv/libuv.git

at commit 8221f9b305c09205be575d8d34a5c493ba03d392 (v1.x).
2016-09-29 14:19:50 -04:00
Brad King 957e72c0c5 Utilities/Release: Use python 3 for server mode test on Linux binary
The machine that builds the Linux binary has python 3 and 2.6, but the
latter is too old for the server mode test script.
2016-09-29 13:55:15 -04:00
Brad King 64934f2069 Utilities/Release: Enable server mode in all binaries
Add the CMake_ENABLE_SERVER_MODE option explicitly to the configuration
of all binary builds.  We want to know the mode is available if the
build succeeds.
2016-09-29 13:55:15 -04:00
Brad King ec0bf63823 bootstrap: Add options to enable/disable server mode explicitly 2016-09-29 13:55:15 -04:00
Brad King 523f8ec82c server-mode: Add option to enable/disable test case explicitly
Add a `CMake_TEST_SERVER_MODE` option that can be set in testing builds
to enable/disable server mode tests explicitly.  This will allow testing
in combination with `CMake_TEST_EXTERNAL_CMAKE` or for server mode to be
built on systems that have a python version that cannot run the test.
2016-09-29 13:40:21 -04:00
Brad King 6b97a5efc6 server-mode: Add option to enable/disable the mode explicitly
Provide a way for scripts building CMake to enable server mode
explicitly and assume the risk of a build failure if it is not
supported.  This will allow such scripts to ensure that server
mode is available if the build succeeds.  It also allows scripts
to explicitly disable server mode even if it would be supported.
2016-09-29 13:38:47 -04:00
Brad King a833496199 server-mode: Rename variable CMake_{HAVE => ENABLE}_SERVER_MODE
The latter is a better name for making it a public-facing option.
2016-09-29 13:20:10 -04:00