| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
| |
In commit v2.8.0~170 (ENH: Added ctest test options PROCESSORS and
RUN_SERIAL, 2009-09-07) CTest learned to track the number of processors
allocated to running tests in order to balance it against the desired
level of parallelism. Extend this idea by introducing a new
`PROCESSOR_AFFINITY` test property to ask that CTest run a test
with the CPU affinity mask set. This will allow a set of tests
that are running concurrently to use disjoint CPU resources.
|
|
|
|
|
|
|
|
|
| |
Some environments require linking to thread libraries for `std::thread`.
Express this direct dependency of CMakeLib explicitly. Previously this
was done indirectly through our bundled libuv, but that does not work
when using a system libuv.
Fixes: #17757
|
|\
| |
| |
| |
| |
| |
| |
| | |
3ec5f7c1 De-duplicate cmUVSignalHackRAII
1ad58d30 cmUVSignalHackRAII: Use nullptr instead of NULL
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1699
|
| |
| |
| |
| |
| |
| | |
This was added separately in `cmCTestMultiProcessHandler` and
`cmQtAutoGenerator`. Factor out the duplicate code into a common header
for re-use.
|
|\ \
| |/
|/|
| |
| |
| |
| |
| |
| | |
e6a80ccf Make use of std::chrono throughout every component
ff62b005 CTest: add safe conversion from cmDuration to integer types
695951bc CTest: introduce cmDuration
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1592
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
|/
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
The ambiguous extension logic is an old behavior that ends up taking
lots of extra compute cycles to execute. This is triggered by various
CMake codepaths which pass extension-less paths down when CMake actually
knows that they are not ambiguous. These codepaths will be indicated in
upcoming changes.
Various APIs have gained a cmSourceFileLocationKind parameter, but they
are all optional and default to the existing behavior.
|
|
|
|
|
| |
This was partially implemented by commit v2.8.0~154 (Added some ctest
batch capabilities, 2009-09-10) but never finished.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The `uv_*_t` handle types are closed by `uv_close`, but the semantics
are tricky. Calling `uv_close` may not close immediately. Instead it
hands ownership to the uv loop to which the handle is currently
attached. When the loop decides to close it, a callback is used to
allow the `uv_close` caller to free resources.
Provide an abstraction layer as `cm::uv_*_ptr` types corresponding to
the `uv_*_t` handle types. Each pointer is either empty (`nullptr`)
or has an initialized handle attached to a loop. Use move semantics
to ensure a single owner of the handle so that clients can predict
when the handle is destroyed.
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
a62d50ec Modules: Replace coded PATHS with PATH_SUFFIXES
fd56d6a8 FindMPEG,2: Update to current libmpeg2 behavior
5f382cd8 FindPike: Update names and paths
6720807d FindAVIFile: Replace PATHS with updated suffixes
f88ef9a9 Modules: Remove paths set as global Unix prefixes
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1502
|
| |
| |
| |
| |
| | |
This commit removes hardcoded paths that are already given in the
platform files or in `UnixPath` on a global level.
|
| |
| |
| |
| |
| | |
Remove the cmQtAutoGenDigest classes and make
cmQtAutoGeneratorInitializer instantiable instead.
|
| |
| |
| |
| |
| |
| | |
Adds the new base class `cmQtAutoGenerator` which contains common
variables and methods used by `cmQtAutoGeneratorMocUic` and
`cmQtAutoGeneratorRcc`.
|
| | |
|
|/
|
|
|
|
|
|
|
| |
Introduces the standalone RCC generator class `cmQtAutoGeneratorRcc`.
Every instance of `cmQtAutoGeneratorRcc` class handles the
`rcc` invocation for a single `.qrc` file.
The class will be used in the future to allow parallel `.qrc` file
processing by calling `cmake -E cmake_autorcc <INFO_FILE> <CONFIG>`.
|
| |
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
39c2feaf misc: Added utility method to allow working with stacks
f5d2988e server: Swapped to cm_thread impl
2636d86c utility: Added minimal std::thread drop-in
d46b4ba8 server: Updated server tests to try various communication channels
08dca583 Tests: reworked server tests to allow other operation modes
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1230
|
| | |
|
|/ |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Cygwin-built CMake now converts paths from Cygwin to Windows form
(using cygpath -w) before they're passed to WiX.
The Wix generator on Cygwin requires the libuuid-dev package when
building CMake. However, the DLL it links to is installed by default
as part of Cygwin's core libs, so it does not need to be distributed.
If libuuid-dev isn't available, CMake is simply built without Wix
support on Cygwin.
|
|
|
|
|
|
|
|
|
|
| |
Currently a change to the clang-tidy configuration remains unnoticed for
incremental builds in the way that it won't trigger a rebuild. This can be
considered a missing dependency that this patch fixes by introducing a
compile time definition (-DCLANG_TIDY_SHA1) that triggers a rebuild upon
change. Currently this only applies to the target CMakeLib.
Signed-off-by: Matthias Maennich <matthias@maennich.net>
|
|
|
|
| |
Signed-off-by: Matthias Maennich <matthias@maennich.net>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is a large commit that serves multiple purposes
- Iterate source files only once and store all extracted
information in a cmQtAutogenDigest class that can be reused.
This is brings speed improvements because several properties
are only evaluated once. More that that it helps to avoid
duplication of code with non trivial files property checks.
- Fix the Visual Studio generator to use PRE_BUILD when possible.
- Convert `for( ... )` loops to C++11 range base loops where possible
(cmQtAutogen*.cxx only).
- String concatenation optimizations.
|
| |
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| | |
cf0ae55d server: Add support for connections that aren't event based
5ddfb6a4 server: Add connection as part of a request
d4f5d35c server: Refactor to make the event loop owned by server object
5acbf08b Tests: Teach Server test to forward exit code from server process
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !552
|
| | |
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | | |
52991413 CPackDeb: Enable the DEB generator on Windows
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !979
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
While some features require external Unix tools the
generator is mostly portable.
By enabling it on Windows it can be used for cross platform
packaging.
|
|/ / |
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Adds an option CPACK_ENABLE_FREEBSD_PKG to allow CPack to look
for FreeBSD's libpkg / pkg(8). If this is set and the libpkg
headers and library are found (which they will be, by default,
on any FreeBSD system), then add a FreeBSD pkg(8) generator.
The FreeBSD package tool pkg(8) uses tar.xz files (.txz) with two
metadata files embedded (+MANIFEST and +COMPACT_MANIFEST).
This introduces a bunch of FreeBSD-specific CPACK_FREEBSD_PACKAGE_*
variables for filling in the metadata; the Debian generator does
something similar. Documentation for the CPack CMake-script is styled
after the Debian generator.
Implementation notes:
- Checks for libpkg -- the underlying implementation for pkg(8) --
and includes FreeBSD package-generation if building CMake on
a UNIX host. Since libpkg can be used on BSDs, Linux and OSX,
this potentially adds one more packaging format. In practice,
this will only happen on FreeBSD and DragonflyBSD.
- Copy-paste from cmCPackArchiveGenerator to special-case
the metadata generation and to run around the internal
archive generation: use libpkg instead.
- Generating the metadata files is a little contrived.
- Most of the validation logic for package settings is in
CPackFreeBSD.cmake, as well as the code that tries to re-use
packaging settings that may already be set up for Debian.
- libpkg has its own notion of output filename, so we have
another contrived bit of code that munges the output file
list so that CPack can find the output.
- Stick with C++98.
|
|
|
|
| |
Move common used code to new cmCPackIFWCommon base class.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Automate with:
git grep -l '#include <CPack/' -- Source \
| xargs sed -i 's/#include <CPack\/\(.*\)>/#include "\1"/g'
git grep -l '#include "CPack/' -- Source \
| xargs sed -i 's/#include "CPack\/\(.*\)"/#include "\1"/g'
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
aba92ffd cmWorkingDirectory: use the new class
047a5e4d cmWorkingDirectory: add class for changing the workdir
89891bcb cmCTest, cmCTestCoverageHandler: remove cwd dance
c3304fa5 OSXScriptLauncher: remove unused variable
Acked-by: Kitware Robot <kwrobot@kitware.com>
Reviewed-by: Brad King <brad.king@kitware.com>
Merge-request: !540
|
| | |
|
|/ |
|
|
|
|
| |
Issue: #15441
|
|
|
|
| |
Implement cmDisallowedCommand as a wrapper class for cmCommand.
|
|\
| |
| |
| |
| | |
cda9a904 Explicitly link against libatomic on Linux/sparc for `__atomic_fetch_add_4`
|
| |
| |
| |
| |
| | |
On this platform atomic instructions are implemented using `libatomic`
so we need to link it to use them.
|
|/
|
|
|
|
| |
VS 2017 exports a COM component which can be queried to find if VS 2017
is installed and also other components such as VC toolset and Windows
SDKs. Add a helper class to interact with this interface.
|
| |
|
| |
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
4cc601f2 Help: Add release note for CUDA support
7b9131da CUDA: Add tests to verify CUDA compiler works properly.
9cf5b98d CUDA: Prefer environment variables CUDACXX and CUDAHOSTCXX.
a5e806b3 CUDA: Add support for CMAKE_CUDA_COMPILE_OPTIONS_VISIBILITY
d038559e CUDA: Add separable compilation support to the makefile generator.
43ce4414 CUDA: Add separable compilation support to the ninja generator.
4b316097 CUDA: Add support for the CUDA_SEPARABLE_COMPILATION target property
ae05fcc6 CUDA: Add LinkLineComputer that computes cuda dlink lines.
115269a8 CUDA: Refactor cmLinkLineComputer to allow for better derived children.
5dec4031 CUDA: Refactor CMakeCUDAInformation to prepare for separable compilation.
5b20d0ab CUDA: C++ compile features now enable cuda c++11 support.
489c52ce CUDA: Use the host compiler for linking CUDA executables and shared libs.
bbaf2434 CUDA: add support for specifying an explicit host compiler.
a92f8d96 CUDA: Enable header dependency scanning.
ec6ce623 CUDA: State that cuda has preprocessor output and can generate assembly.
4f5155f6 CUDA: We now properly perform CUDA compiler identification.
...
|
| | |
|
|/
|
|
|
| |
This allows to decode text data we receive from external process which
uses external encoding to our internal encoding.
|