| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
This ensures commands can be properly aggregated by tools
processing the profiling output.
Fixes: #20946
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| | |
9f6d40ee23 fileapi: Extend codemodel targets with PRECOMPILE_HEADERS
b698764a31 Tests: Add a PCH example to RunCMake.FileAPI codemodel-v2
b3812c0e54 Tests: Fix indentation in RunCMake.FileAPI cxx_exe.json
9c48804b69 PCH: Fix source group of per-architecture PCH headers
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4684
|
| | |
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
2faa3f6c55 Refactoring: Third-parties public headers are under cm3p prefix
75e87e3db4 bootstrap: update list of problematic files
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4705
|
| |/
| |
| |
| | |
Fixes: #20666
|
|/ |
|
|
|
|
|
|
| |
Concatenate files and print on the standard output.
FIXES: #20557
|
|\
| |
| |
| |
| |
| |
| | |
35a29ec827 llvm-rc: Restore include path for data after explicit preprocessing
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4570
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Since commit 1c2d031cbd (Add -E cmake_llvm_rc to preprocess files for
llvm-rc, 2020-01-14, v3.17.0-rc1~24^2) with llvm-rc we explicitly
preprocess RC source files and then compile separately without -I flags.
This broke cases where the RC source references data files adjacent to
itself or in the include path.
This change adds the expansion of the include paths when calling the
llvm-rc in order for the resource files to be picked up correctly by
llvm-rc. Since the RC compiled file is first preprocessed, the file
being compiled by llvm-rc resides in the build directory. In order for
llvm-rc to find the resource data specified relative to the .rc file
being compiled, the source file path is preppended in the include list
so that the original source path takes priority over all the other
includes paths specified.
A space was added in the CMAKE_INCLUDE_FLAG_RC to make the include
directive work properly for llvm-rc. Checks on the rc.exe showed that
the syntax change doesn't affect it's proper operation.
Fixes: #20529
|
|\ \
| |/
| |
| |
| |
| |
| | |
dc93cbb0d8 llvm-rc: Print stderr output when calling tools through cmake_llvm_rc
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4525
|
| |
| |
| |
| |
| |
| | |
The stored error pipe is output if the program fails.
Fixes: #20494
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
For users of CMake who want to optimize their scripts if they take a
while to run, this commit adds the ability to output profiling data.
To enable this output, it adds the two command line parameters
to select the output path and format.
This commit adds the first profiling format of type ``google-trace``,
which is the output is a JSON file containing Duration events as per the
Google Trace Format specification:
https://docs.google.com/document/d/1CvAClvFfyA5R-
PhYUmn5OOQtYMH4h6I0nSsKchNAySU/preview#
|
|
|
|
|
|
|
|
|
| |
llvm-rc requires preprocessed rc files. The CMake command line tool
cmake_llvm_rc enables channing the preprocessor call and the resource
compiler and make this appear as single compilation step.
When llvm-rc is detected as resource compiler, the RC compilation step
is set to use this command.
|
|
|
|
|
|
|
|
| |
Add the timestamp and stack depth of the function call to the JSON trace
output format. This information can be useful for cmake profiling and
call stack inspection (see e.g. https://github.com/volo-zyko/cmake-profile-stats).
Improve unit test to allow for varying set of keys to check in trace lines.
|
|\
| |
| |
| |
| |
| |
| | |
00f25dacc0 trace: Directly parse commandline arguments without argparse
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4169
|
| | |
|
|/
|
|
| |
Spotted by LGTM.com.
|
| |
|
| |
|
|
|
|
| |
Fixes: #18386
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Since commit 4ca0526f8a (cmake: Pass -S and -B into PreLoad.cmake and -C
scripts, 2019-08-20, v3.16.0-rc1~195^2) the value of `CMAKE_SOURCE_DIR`
is the source directory rather than the current working directory.
This was correct on its own, but the place storing that value is also
used as the base for relative paths specified on the command line.
The latter should of course be relative to the current working
directory.
The fix is to switch to use a full path internally, unless a full path
is already specified. Add tests for the behaviour of `-C` under these
four circumstances:
{with -S, without -S} x {full path, relative path}
Fixes: #19827
|
|\
| |
| |
| |
| |
| |
| | |
e6c9a8bac3 cmake: Teach -E remove_directory to remove directory symlinks
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3738
|
| |
| |
| |
| |
| |
| |
| | |
If the argument to `remove_directory` is a symlink to a directory,
remove the symlink instead.
Issue: #19533
|
|/
|
|
|
|
|
| |
Before this, it was not possible to see what the source or build directories
were set to on the command line.
Fixes: #19619
|
| |
|
| |
|
|
|
|
| |
Fixes: #19339
|
|\
| |
| |
| |
| |
| |
| |
| |
| | |
07a80c7002 cmake: Teach -E remove_directory to remove multiple directories
013bee698e Tests: Add RunCMake.CommandLine make_directory test checks
3eb16de327 Tests: Fix RunCMake.CommandLine make_directory test name
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3411
|
| |
| |
| |
| |
| | |
The `make_directory` command can make multiple directories in a single
invocation. Make `remove_directory` mirror that behavior.
|
| | |
|
| | |
|
|/
|
|
|
|
|
| |
Apply the fix from commit baed22c4b0 (Tests: Fix RunCMake.CommandLine
test to use generator with -S and -B, 2019-04-10) to the `no-S-B` case
too. It also generates a build system and should use the generator
being tested.
|
|\
| |
| |
| |
| |
| |
| |
| |
| | |
d0f0ba0f7a Tests: Add environment generator tests
a48ce8f4bf Help: Add documentation for default generator environment variables
083cf7e8a2 cmake: Allow default generator to be set by environment variables
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3218
|
| | |
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
c85524a94a Ensure stdin, stdout, and stderr pipes are always open
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kyle Edwards <kyle.edwards@kitware.com>
Merge-request: !3282
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
On non-Windows platforms libuv assumes that file descriptors 0-2 are
always used for standard pipes and never for anything else. Otherwise,
libuv may re-use one of these descriptors and then fail an assertion
when closing it. Similarly, On Windows platforms our ConsoleBuf
implementation assumes that the standard handles are always open.
If CMake is run with any standard pipes closed, open them with
`/dev/null` or `NUL` to satisfy these assumptions.
Fixes: #19219
|
|/
|
|
| |
Fixes #19059
|
|
|
|
|
| |
The test project does not compile any sources and so does not
need to enable any languages.
|
|
|
|
|
| |
The `-S` and `-B` command-line option tests do generate build systems
and so should use the generator being tested.
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
73f23d1e00 cmake: add '--install <dir>' option
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Alex Turbov <i.zaufi@gmail.com>
Acked-by: Bartosz <gang65@poczta.onet.pl>
Acked-by: Cristian Adam <cristian.adam@gmail.com>
Rejected-by: Alex Turbov <i.zaufi@gmail.com>
Merge-request: !3069
|
| |
| |
| |
| | |
Fixes: #19023
|
|/ |
|
|
|
|
| |
Fixes: #16136
|
|
|
|
| |
Fixes: #13007
|
|\
| |
| |
| |
| |
| |
| |
| | |
f2fca92686 cmake: --build supports '-jN'
e463133cd2 Tests: Remove unused files from RunCMake.CommandLine test
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2819
|
| | |
|
| |
| |
| |
| | |
Drop `-stderr.txt` files for cases that do not exist.
|
|/
|
|
|
|
|
|
|
|
| |
Temporarily restore previous behavior that allowed specifying
no source or build directory to work, even though it was
neither documented nor supported. This commit is expected
to eventually be reverted to restore the fatal error for such
cases.
Relates: #18817
|
|\
| |
| |
| |
| |
| |
| |
| | |
27eb7c5bdb cmake: Ensure source and binary dirs are set
a1adbc7243 cmake: Stop processing if -P option lacks file name
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2799
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
If only the source dir is provided, the binary dir is assumed
to be the working directory. If only the binary dir is provided
and it doesn't yet have a CMakeCache.txt to provide the
source dir, then the source dir is assumed to be the working
directory. This logic was not previously being handled
correctly when -S and/or -B options were involved.
Furthermore, when both were missing, no suitable error
message was provided and an empty string was used for
the build directory.
Fixes: #18707
|