Brad King
9f1471739d
cmake: Add --fresh option to clear the cache and start from scratch
...
Simplify the workflow to re-run CMake from scratch as if a build tree
were never before processed, regardless of whether it has been.
Fixes : #23119
2022-03-22 09:27:47 -04:00
Brad King
5dbd068827
Merge topic 'cmake-P-args'
...
36056ff5a3 cmake: Improve acceptance of arbitrary arguments in -P script mode
Acked-by: Kitware Robot <kwrobot@kitware.com >
Acked-by: buildbot <buildbot@kitware.com >
Merge-request: !7083
2022-03-18 07:20:24 -04:00
Brad King
32e40f7f53
Merge topic 'always_prefer_last_source_dir'
...
b44ad7992a cmake: Always prefer the last source directory provided
Acked-by: Kitware Robot <kwrobot@kitware.com >
Acked-by: buildbot <buildbot@kitware.com >
Merge-request: !7084
2022-03-18 07:16:24 -04:00
Robert Maynard
b44ad7992a
cmake: Always prefer the last source directory provided
...
Fixes : #23334
2022-03-17 15:23:01 -04:00
Brad King
36056ff5a3
cmake: Improve acceptance of arbitrary arguments in -P script mode
...
The fix in commit e4f1b301fe (cmake: Allow arbitrary args passed to
CMake script, 2020-05-04, v3.18.0-rc1~211^2) only applied to "cache"
arguments like `-DFOO`. Extend the fix to allow arbitrary arguments
that collide with other CMake arguments like `-S` and `-B`.
2022-03-17 13:50:12 -04:00
Brad King
51e81d1f73
Merge topic 'color-diagnostics'
...
6ab9fbd43b color: Add tests for CMAKE_COLOR_DIAGNOSTICS
78adb1b952 color: Add CMAKE_COLOR_DIAGNOSTICS environment variable
884d9de8b7 color: Introduce CMAKE_COLOR_DIAGNOSTICS variable
Acked-by: Kitware Robot <kwrobot@kitware.com >
Acked-by: buildbot <buildbot@kitware.com >
Acked-by: Frank Dana <ferdnyc@gmail.com >
Merge-request: !6990
2022-03-09 12:15:53 -05:00
Brad King
6ab9fbd43b
color: Add tests for CMAKE_COLOR_DIAGNOSTICS
2022-03-08 17:29:12 -05:00
Brad King
c5ab0ea1fa
Merge topic 'cmake-dir-args'
...
d2e9478321 Tests: Add RunCMake.CommandLine ExplicitiDirs explicit work directory
78e8f11456 cmake: Correct regression in `-B <dir> <src_dir>`
4091d5c58c Tests: Verify RunCMake.CommandLine ExplicitDirs source/build dirs
1b97f8f35c Tests: Clarify RunCMake.CommandLine ExplicitDirs case names
Acked-by: Kitware Robot <kwrobot@kitware.com >
Tested-by: buildbot <buildbot@kitware.com >
Merge-request: !7030
2022-03-03 11:46:29 -05:00
Brad King
d2e9478321
Tests: Add RunCMake.CommandLine ExplicitiDirs explicit work directory
...
Verify that the work directory is not selected as the source or build
tree.
Issue: #23285
2022-03-02 12:21:34 -05:00
Robert Maynard
78e8f11456
cmake: Correct regression in -B <dir> <src_dir>
...
Fixes : #23285
2022-03-02 12:21:16 -05:00
Brad King
4091d5c58c
Tests: Verify RunCMake.CommandLine ExplicitDirs source/build dirs
2022-03-02 12:21:03 -05:00
Brad King
1b97f8f35c
Tests: Clarify RunCMake.CommandLine ExplicitDirs case names
2022-03-02 10:53:41 -05:00
Brad King
ee8cd65c76
Merge topic 'correct_multiple_source_warnings'
...
7083b19498 cmake: When given multiple source paths use last instead of first
Acked-by: Kitware Robot <kwrobot@kitware.com >
Acked-by: buildbot <buildbot@kitware.com >
Merge-request: !7001
2022-02-18 09:01:22 -05:00
Robert Maynard
7083b19498
cmake: When given multiple source paths use last instead of first
...
When given two source paths via `-S` or just directory paths prefer
the last one. When the paths are mixed always prefer the last `-S`
entry.
Fixes : #23238
2022-02-17 16:54:30 -05:00
Brad King
9f1f443e83
Merge topic 'cmake-empty-cmd-line-arg'
...
f73457ca2e cmake: Ignore any empty "" command line arguments
67f97f5478 Tests: Add RunCMake helper to run cmake with raw execute_process args
Acked-by: Kitware Robot <kwrobot@kitware.com >
Merge-request: !6980
2022-02-17 08:45:53 -05:00
Robert Maynard
f73457ca2e
cmake: Ignore any empty "" command line arguments
...
Don't treat empty quote arguments("") as the current working
directory but instead ignore them.
Fixes #23217
2022-02-16 12:11:33 -05:00
Peter Würth
b10930040d
cmcmd: add end of options delimiter to cmake -E commands
...
Implements a -- delimiter, that indicates the end of options (starting
with a dash -) of a command and separates them from the subsequent
operands (positional arguments).
The following commands are affected:
- env: Implemented the -- delimiter.
- cat: The -- delimiter was already kind of considered, but its
occurence did not stop the options parsing.
- rm: Here the command already implemented the -- delimiter as
specified, but it was not documented.
Fixes #22970
2022-02-03 21:54:17 +01:00
Robert Maynard
eacf1f879b
cmake: Warn about unnecessary paths on command line
...
We can't make it an error as that would break existing behavior.
Fixes : #23110
2022-01-20 14:38:12 -05:00
Brad King
a4f076110d
Tests: Fix RunCMake.CommandLine toolchain case command line
2022-01-20 14:36:48 -05:00
Robert Maynard
2e1b7e5b9a
Add tests that showcase cmake -S limitations
2022-01-18 11:53:21 -05:00
makise-homura
ea55ac9a51
Tests/RunCMake/CommandLine: Deal with locales that are different from English
...
RunCMake/CommandLine has problems
when ran using language setting differeng from English. This is due to
test outputs being compared to English strings, which comparison
obviously fails if this language is set to, e.g. Russian. This commit
sets locale as "C" prior to running these tests, so messages while
testing are generated in correct language and do not fail checks
anymore.
2021-10-15 05:04:24 +03:00
Johnny Jazeix
0b4a56e64b
cmake: -E cat stops when an empty file is encountered
...
Fixes : #22652
2021-09-18 18:54:53 +02:00
Brad King
22dab6eb96
Deprecate Visual Studio 10 2010 generator
...
Update documentation to mark the generator deprecated. Add a warning at
the end of generation plus an option to turn off the warning.
2021-07-29 14:15:01 -04:00
Brad King
ef56eefc9b
cmake: Allow CMAKE_CONFIGURATION_TYPES to be set by environment variable
...
When no `CMAKE_CONFIGURATION_TYPES` is explicitly specified while
creating a new build tree, check for an environment variable of the same
name.
Issue: #20983
2021-06-30 10:55:40 -04:00
Brad King
e216b9bbd3
cmake: Allow CMAKE_BUILD_TYPE to be set by environment variable
...
When no `CMAKE_BUILD_TYPE` is explicitly specified while creating a new
build tree, check for an environment variable of the same name.
Issue: #20983
2021-06-30 10:55:40 -04:00
Brad King
c46b265839
VS: Add Visual Studio 17 2022 generator
...
Fixes : #22339
2021-06-25 12:45:44 -04:00
Brad King
6c34ed9b87
cmake: Allow CMAKE_TOOLCHAIN_FILE to be set by environment variable
...
When no `CMAKE_TOOLCHAIN_FILE` is explicitly specified while creating
a new build tree, check for an environment variable of the same name.
2021-06-03 08:32:44 -04:00
Brad King
e2c5209532
Merge topic 'cmake_build_and_install_command_error_when_given_bad_arguments'
...
f78b167a23 cmCommandLineArgument: Provide more information syntax error messages
5aa0dec6b0 cmake: `--build` and `--install` error out when encountering bad flags
928cdb17c5 cmCommandLineArgument: Correctly record parsing failures
Acked-by: Kitware Robot <kwrobot@kitware.com >
Merge-request: !6119
2021-05-14 08:33:29 -04:00
Robert Maynard
5aa0dec6b0
cmake: --build and --install error out when encountering bad flags
...
Fixes #22186
2021-05-13 09:28:42 -04:00
Brad King
d7522b8f86
cmSystemTools: Improve CreateLink and CreateSymlink error codes
...
In commit 7f89053953 (cmSystemTools: Return KWSys Status from CreateLink
and CreateSymlink, 2021-04-15) we just took the `-err` from libuv and
treated it as a POSIX error. This is accurate on POSIX, but on Windows
does not match the POSIX error codes.
Use `uv_fs_get_system_error` to get the actual system error code.
This requires libuv 1.38 or higher. Require that for Windows, but
fall back to the previous approach on POSIX.
2021-05-07 08:30:52 -04:00
Orgad Shaneh
ddcd1469e8
MSYS: Add support for running under MSYS runtime environment
...
Detect MSYS as CYGWIN, with the required adaptations.
2021-04-26 14:27:34 -04:00
Robert Maynard
d5c3e4ac32
cmake: add support for --toolchain command argument
2021-04-15 10:13:49 -04:00
Brad King
c4f8005454
Merge topic 'correct_arg_parsing'
...
79d7bcaf40 cmCommandLineArgument: correctly compute next parse index
Acked-by: Kitware Robot <kwrobot@kitware.com >
Merge-request: !5936
2021-03-29 09:29:40 -04:00
Robert Maynard
79d7bcaf40
cmCommandLineArgument: correctly compute next parse index
...
Fixes #21966
Correctly compute the next parse index for `ZeroOrOne` when
it is zero, and for OneOrMore.
2021-03-26 09:34:46 -04:00
Robert Maynard
38140713ad
cmake: add support for --install-prefix command argument
...
Fixes : #21781
2021-03-04 10:50:24 -05:00
Robert Maynard
1b6c5333a0
cmake: Error out on unknown arguments starting with -.
...
Fixes : #21521
2020-12-01 09:04:08 -05:00
Brad King
d800c26ce9
cmake: Fix processing of -Wno-error= flags
...
Fix two bugs that happened to cancel each other out for cases covered
by our test suite. Add a test case that distinguishes them.
2020-11-17 13:22:52 -05:00
Brad King
32d369aa70
Merge topic 'llvm-rc-CMAKE_RC_FLAGS'
...
ea03f50842 llvm_rc: add llvm_rc option filter to correctly pick up all options
Acked-by: Kitware Robot <kwrobot@kitware.com >
Merge-request: !5412
2020-10-29 10:14:20 -04:00
Thomas Bernard
ea03f50842
llvm_rc: add llvm_rc option filter to correctly pick up all options
...
Fixes : #21315
2020-10-28 07:19:31 -04:00
Fred Baksik
e794509faa
XCode: Use -j build option when job capacity is specified by user
...
Fixes : #18304
2020-10-26 13:28:54 -04:00
Brad King
4f6fccd861
Merge topic 'remove-server-mode'
...
9952ee063a server: remove deprecated 'cmake -E server' mode
Acked-by: Kitware Robot <kwrobot@kitware.com >
Acked-by: Kyle Edwards <kyle.edwards@kitware.com >
Merge-request: !5370
2020-10-15 08:31:47 -04:00
Brad King
9493532f80
Merge topic 'cmake-E-cat-binary'
...
f7a5f28318 cmake: Fix '-E cat' command for binary files on Windows
90b39a5209 cmConsoleBuf: Factor out cout/cerr console buffer management
f1fdd15863 clang-format: Fix include block order in ctest.cxx and cpack.cxx
Acked-by: Kitware Robot <kwrobot@kitware.com >
Merge-request: !5364
2020-10-15 08:10:51 -04:00
Brad King
9952ee063a
server: remove deprecated 'cmake -E server' mode
...
The server mode has been deprecated since commit 996e1885c4 (server:
deprecate in favor of the file-api, 2019-04-19, v3.15.0-rc1~198^2).
Clients should now be using the file-api. Remove the server mode.
2020-10-14 16:41:50 -04:00
Johnny Jazeix
f7a5f28318
cmake: Fix '-E cat' command for binary files on Windows
...
Reset `std::cout` to write in binary mode with no encoding conversions.
Co-Author: Brad King <brad.king@kitware.com >
Fixes : #21295
2020-10-14 12:08:07 -04:00
Thomas Bernard
a94672b919
cmake: Change cmake_llvm_rc separator from -- to ++ to avoid conflict
2020-08-07 11:47:15 -04:00
Sibi Siddharthan
2fad00940d
cmake: Add -E create_hardlink
...
Fixes : #20950
Signed-off-by: Sibi Siddharthan <sibisiddharthan.github@gmail.com >
2020-07-15 20:22:04 +05:30
Asit Dhal
d4812a955b
cmake-install: implement default directory permissions
...
provide an argument for default directory permissions in cmake --install
Fixes : #20700
2020-06-25 14:43:30 -04:00
Asit Dhal
b5b6075522
cmake: add dedicated error for -E compare_files invalid arguments
...
Return 2 when user provides invalid arguments
Fixes : #20815
2020-06-15 12:39:37 -04:00
Brad King
b9dd072e05
Tests: Add case for cmake --build with a failing target
2020-06-12 14:31:16 -04:00
Alex Turbov
e4f1b301fe
cmake: Allow arbitrary args passed to CMake script
2020-05-06 21:40:36 +10:00