Refactoring in commit v3.7.0-rc1~291^2~1 (Refactor extra generator
registration to use factories, 2016-07-20) accidentally switched
the order of the "extra - base" generator names to "base - extra".
Switch it back. While this could affect all callers of the
`GetRegisteredGenerators` method, only cmake-gui actually used this
particular field.
Closes: #16359
In commit v3.7.0-rc1~156^2~1 (VS: Update v140 flag tables from VS 15
MSBuild files, 2016-09-02) we extended the v140 flag table with values
from the v141 toolset that comes with VS 15. However, the v140 toolset
that comes with VS 14 does not have all of these entries and so the
flags just need to be passed without special mapping. In order to
support both toolsets, split our CL flag table into separate copies for
each version and switch off the toolset name.
Closes: #16352
When a `PREBUILT_STATIC_LIBRARY` uses C++ in its sources then the `.a`
file will have a link-time dependency on the C++ runtime libraries.
Android NDK r14 will add a way to give this information to the NDK build
system by adding a `LOCAL_HAS_CPP` setting to the `Android.mk` file.
Add this for exported static libraries that use C++.
At generate-time, definitions are sometimes read from a nearby cmMakefile,
making the value directory-specific because they are read once per
directory. Often however, the intention is more
often to create a 'global' setting, such that the user writes for
example:
set(CMAKE_IMPORT_LIBRARY_SUFFIX something)
once at the top level of their project.
Many of these are also set by internal platform files, such as
CMAKE_EXTRA_LINK_EXTENSIONS.
The set() definitions are not really suitable for 'global' settings
because they can be different for each directory, and code consuming the
settings must assume they are different for each directory, and read it
freshly each time with new allocations.
CMake has other variable types which are global in scope, such as global
properties, and cache variables. These are less convenient to populate
for users, so establish a convention and API using the value as it is at
the end of the top-level CMakeLists file.
The change in commit v3.7.0-rc1~219^2 (VS: Use target-specific directory
for `resources.pri`, 2016-08-25) incorrectly specifies a relative path
for the `ProjectPriFullPath` value. Fix it to use an absolute path.
Issue: #16106
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.
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.
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>
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
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"
71a50587 server-mode: Add project data for unit tests
7b1e60f2 server-mode: Report CMakeCache entries
84553a6e server-mode: Add command to retrieve build system files
ead71873 server-mode: Report information relevant for a codemodel
The `PARSE_ARGV` mode was recently added to help functions properly
parse their arguments even when those arguments may be quoted and
contain literal `;` in their values. Fix the implementation to encode
`;`s in reported multi-value arguments and in `UNPARSED_ARGUMENTS` so
that `;`s in the individual values are preserved in the lists. This
allows clients to access all their argument values correctly.
Update the toolset name matching added by commit v3.6.0-rc1~279^2~10
(VS: in Clang/C2 toolset, setup correct compiler settings, 2016-02-18)
to match VS/LLVM toolset names too.
The check added in commit v3.6.0-rc1~293^2 (Diagnose recursive
project/enable_language without crashing, 2016-03-07) broke support for
enabling `RC` explicitly along with other languages like `C`. The
reason is that we enable all listed languages at once so the internal
`enable_language(RC)` that we do while enabling `C` or `CXX` on some
platforms triggers the recursion check if `RC` is explicitly listed.
Ideally we should refactor things to only enable one language at a time,
but for now it is simplest to just exclude `RC` from the explicit list
until other languages are enabled, and then enable it.
Closes: #16330