239a3ef8 Server-mode: Document protocol version for optional handshake arguments
9b1a3d24 Server-mode: Rename functions to reflect what they do
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1693
When we use a response file for `-I` flags, not all compilers support
the `@<file>` syntax. Define `CMAKE_<LANG>_RESPONSE_FILE_FLAG` to
specify tool-specific flag, just as we do for linking already via
`CMAKE_<LANG>_RESPONSE_FILE_LINK_FLAG`.
Code extracted from:
https://gitlab.kitware.com/utils/kwsys.git
at commit 0579db1c97715f9936523dd473c0ed7613b68e68 (master).
Upstream Shortlog
-----------------
Ben Boeckel (1):
3e807fd6 cmake: specify source file extensions
Brad King (1):
38855ca1 Set CMP0042 explicitly with CMake 3.0 and above
Chuck Atkins (1):
4ca97fc6 SystemTools: Disable getpwnam for static linux builds
Hans Johnson (1):
7d7f3b2d Configure: Add KWSYS_NULLPTR macro for C++ code
Sankhesh Jhaveri (1):
20c458d0 Set CMP0022 policy to new to provide link interface definitions
Sean McBride (1):
c6829e4d Fixed a few comments, mostly regarding base 2 vs base 10 sizes
luz.paz (1):
4b67f965 Remove superfluous double whitespace in appropriate places
Document which Protocol version only needs the build directory to be passed
during a handshake.
This is available a bit earlier than that, but from all I can tell 1.2 is
the earliest version where that feature is reliably available.
When `cmake.exe` is executed through a symlink, `GetModuleFileNameW`
will return location of the link instead of the real path of
`cmake.exe`. This results in the following error output:
CMake Error: Could not find CMAKE_ROOT !!!
CMake has most likely not been installed correctly.
Use `cmSystemTools::GetRealPath` in `FindCMakeResources` on Windows
to resolve any symlink returned by `GetModuleFileNameW`.
The last KDevelop3 release was many years ago, in 2008 I think.
I haven't seen or read about anybody using KDevelop 3 since a
long time, so I think it can safely be removed from CMake.
KDevelop 4 (first released in 2010) has its own proper CMake
support now, independent from this generator.
Alex
Refactoring in commit v3.4.0-rc1~321^2 (cmMakefile: Remove special
handling of INCLUDE_REGULAR_EXPRESSION, 2015-04-04) accidentally broke
propagation of the include regex to subdirectories. Refactoring in
commit v3.5.0-rc1~319^2~1 (cmState: Initialize properties immediately,
2015-10-07) moved maintenance of this value from `cmMakefile` to
`cmStateSnapshot`.
Restore propagation of the `INCLUDE_REGULAR_EXPRESSION` to
subdirectories and add a test to cover it.
Fixes: #17676
This commit continues the changes made in CTest to support std::chrono
by
applying it throughout every component where a duration was used.
No functional change intended.
A problem area by recent refactoring of time to std::chrono has been the
unsafe conversion from duration<double> to std::chrono::seconds, which
is of an unspecified integer type.
This commit adds a template function that for a given type provides a
safe conversion, effectively clamping a duration<double> into what fits
safely in that type. A specialisation for int and unsigned int are
provided.
It changes the protential problem areas to use this safe function.
This commit introduces cmDuration as a typedef for
std::chrono::duration<double, std::ratio<1>>. It is less verbose and
provides for a point to put future common functionality for durations.
No functional change intended.
Since libuv commit v1.14.1~7 (win: add uv__once_init() calls,
2017-08-30) the libuv initialization of the file translate mode may take
place even if we do not use a uv loop. This change was included in our
libuv update commit f4a26c748b (libuv 2018-01-19). Therefore use of
libuv even through `cmSystemTools::GetRealPath` in any executable may
trigger its file translate mode setting.
Factor out the logic added to `cmake.exe` by commit v3.9.0-rc4~10^2
(cmake: Fix default file translate mode when using libuv, 2017-06-13)
and re-use to initialize all executables.
Issue: #16962
In CMakeGenericSystem, it should be ``CMAKE_INCLUDE_SEP_<LANG>`` and not
``CMAKE_INCLUDE_<LANG>_SEP``. However, if the flag is defined, include
behavior changes to Java-style non-repeating flags, which isn't
intended. Therefore, removing the (misspelled) default initialization
should help remove confusion and unintended side effects.
Some libraries uses the non-conventional SONAME scheme like
`libssl.so.1.1` or `libboost_system.so.1.64.0`, but CMake didn't count on
such versioned libraries. This commit modify regular expressions to match
relaxed format of shared library name for determining various linker options,
especially `RPATH`.
Note that support for one component has been available since v2.8.12.
Fixes: #15938