summaryrefslogtreecommitdiffstats
path: root/Source/cmcmd.cxx
Commit message (Collapse)AuthorAgeFilesLines
* Merge topic 'refactor-cmcmd'Brad King2019-04-011-76/+69
|\ | | | | | | | | | | | | | | f13aef4de5 cmcmd: Modernize for loops with cmMakeRange e9bbfdd9a1 cmcmd: Pass args vector by const& Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3168
| * cmcmd: Modernize for loops with cmMakeRangeArtur Ryt2019-03-301-66/+58
| | | | | | | | Also minor loop variable renaming
| * cmcmd: Pass args vector by const&Artur Ryt2019-03-301-10/+11
| |
* | Modernize: Prefer .substr in place of .c_str() + intArtur Ryt2019-03-301-1/+1
|/ | | | | | A lot of temporary/local strings were created out of C-strings substr can utilize current string size, so in theory be a little more efficient.
* cmake: tar: Parse 'cmake -E tar' argumentsBartosz Kosiorek2019-03-201-18/+44
|
* cmake: tar: Display warning when no files provided during archive creationBartosz Kosiorek2019-03-181-0/+4
|
* cmake: Upgrade 'cmake -E' commands descriptionBartosz Kosiorek2019-03-121-2/+2
| | | | Fixes: #13204
* Merge topic 'llvm-rc'Brad King2019-03-041-1/+2
|\ | | | | | | | | | | | | | | | | e53a968ed5 MSVC: Use -D instead of /D in RC_FLAGS 1a281a1acd RC: Pass output file in a way that llvm-rc 7 and below understand fa339ced67 CMakeVersion.rc: Avoid preprocessor definitions to support llvm-rc Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3007
| * RC: Pass output file in a way that llvm-rc 7 and below understandZsolt Parragi2019-02-271-1/+2
| | | | | | | | | | | | | | Prior to LLVM 8.0, `llvm-rc` does not recognize `/fo` without a space after it. Add the space unconditionally because MS `rc` accepts it too. Issue: #18957
* | Merge topic 'cmrange-improvements'Brad King2019-02-251-0/+1
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | b8031308f3 cmRange: Add unit tests a8d51ef8b7 cmRange: Add functions filter and transform da4773e8b8 cmRange: Add functions all_of, any_of, none_of 17a367e77f cmRange: Stylistic cleanup 9eb0e73f46 cmRange: Move to dedicated header file Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Artur Ryt <artur.ryt@gmail.com> Merge-request: !2972
| * | cmRange: Move to dedicated header fileRegina Pfeifer2019-02-211-0/+1
| |/
* | cmSystemTools::Error: consolidate parameters into single std::stringVitaly Stakhovsky2019-02-201-10/+10
|/
* Merge topic 'modernize-for-loops-c-arrays'Brad King2019-02-191-15/+15
|\ | | | | | | | | | | | | 706b93fa55 Modernize: C-arrays and loops over them Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2951
| * Modernize: C-arrays and loops over themArtur Ryt2019-02-151-15/+15
| | | | | | | | | | It replaces C arrays with deduced std::initializer_lists or std::array what makes enables for-loop over them.
* | cmSystemTools: Remove redundant cmCopyFile() and Split()Vitaly Stakhovsky2019-02-151-1/+1
|/
* cmSystemTools::RunSingleCommand: Accept std::string argumentVitaly Stakhovsky2019-02-061-1/+1
|
* cmSystemTools: copy file member functions accept std::string paramsVitaly Stakhovsky2019-01-291-5/+3
| | | | | Cleaned up `c_str()`s. `cmSystemTools::CopyFileIfDifferent()` removed as redundant.
* Merge topic 'add_consistent_verbose_build_flag'Brad King2019-01-291-6/+6
|\ | | | | | | | | | | | | | | | | | | | | | | 66801f4d40 cmake: Add tests for verbose output to --build mode 439fe2e253 cmake: Add options for verbose output to --build mode 638667efa2 cmake: cmcmd.cxx fix "The arguments are" comments 3ca4402966 ctest: Fix --build-and-test without --build-target on Xcode cb6c233ecc cmake: Add -hideShellScriptEnvironment xcodebuild option 1a45266cb5 cmGlobalGenerator: Add a class that represent the build command Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2708
| * cmake: cmcmd.cxx fix "The arguments are" commentsFlorian Maushart2019-01-251-6/+6
| | | | | | | | Changed "argv" to "args" in comments to match parameter names
* | cmake: Add --ignore-eol option to `-E compare_files` commandTaylor Braun-Jones2019-01-281-5/+16
| | | | | | | | Fixes: #13007
* | Merge topic 'renamefile-string'Brad King2019-01-251-1/+1
|\ \ | | | | | | | | | | | | | | | | | | 9e5c13738b cmSystemTools::RenameFile: Accepts std::string args Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2842
| * | cmSystemTools::RenameFile: Accepts std::string argsVitaly Stakhovsky2019-01-231-1/+1
| |/
* | Merge topic 'error-overloads'Brad King2019-01-251-5/+5
|\ \ | | | | | | | | | | | | | | | | | | 99337d345b cmSystemTools::Error(): new overload accepting std::string Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2845
| * | cmSystemTools::Error(): new overload accepting std::stringVitaly Stakhovsky2019-01-231-5/+5
| |/
* | cmLocalUnixMakefileGenerator3: more methods accept std::stringVitaly Stakhovsky2019-01-221-2/+1
|/
* clang-tidy: Use emplaceRegina Pfeifer2019-01-171-8/+8
|
* Properties: Add CMAKE_ROLE global propertyKyle Edwards2019-01-171-2/+4
| | | | | This property allows scripts to determine whether they're in project mode, script mode, find-package mode, CTest, or CPack.
* Fix most clang -Wextra-semi-stmt warnings in C++ filesSean McBride2019-01-151-2/+2
| | | | Suppress one in code generated by flex.
* IWYU: Update CMake code for IWYU built with Clang 6Brad King2019-01-151-0/+1
| | | | | IWYU now correctly requires `<utility>` for `std::move`. It also requires a container header when used via a range-based for loop.
* cpplint: only print diagnostics to console if there are errorsjasjuang2019-01-111-3/+6
| | | | Fixes: #18781
* cmake: add error message when '-E touch' failsIsaiah Norton2018-11-271-0/+4
| | | | Issue: #16526
* Using front() and back() instead of calculationsCengizhan Pasaoglu2018-11-061-12/+12
|
* Merge topic 'msvc-custom-rc-mt'Brad King2018-11-021-2/+10
|\ | | | | | | | | | | | | | | | | | | | | bd9bfc6449 MSVC: Respect CMAKE_RC_COMPILER and CMAKE_MT in vs_link_{dll,exe} 0033676796 CUDA: Enable RC language on Windows 02f566a559 MSVC: Factor out enable_language(RC) call into helper macro b601bb6f1c CUDA: Find CMAKE_LINKER on Windows 3eebe28ef4 cmLocalNinjaGenerator: Simplify CreateRulePlaceholderExpander Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2424
| * MSVC: Respect CMAKE_RC_COMPILER and CMAKE_MT in vs_link_{dll,exe}Mateusz Zych2018-10-291-2/+10
| | | | | | | | | | | | | | | | | | | | | | | | CMake commands vs_link_dll and vs_link_exe, performing linking on MSVC, are responsible for calling resource compiler and manifest tool. Before this commit, both of these tools were called directly, with the expectation that they are available in the `PATH`. This has been fixed by respecting CMake variables `CMAKE_RC_COMPILER` and `CMAKE_MT` defining paths to these tools. Fixes: #17804
* | Fail the build if cppcheck returns a non-zero exit codeHarald Brinkmann2018-10-111-3/+7
|/ | | | | This allows the build failure to be tuned with cppcheck's options --error-exitcode=<n> and --exitcode-suppressions=<file>.
* cmake: Add '-E create_symlink' support on WindowsJon Chronopoulos2018-09-181-6/+1
| | | | | | | | | | | | The allows `-E create_symlink` to work on Windows. It utilizes `uv_fs_symlink`. I am still unsure exactly which Windows platforms will work without requiring Administrator privileges or needing a user/group with the "Create Symbolic Links" User Rights. It does work with my Windows 10 Pro with Developer Mode turned on. In the test suite check that the symlink either worked or failed with a permissions error. Use recent changes in cmSystemTools::FileExists to check that a symlink is broken.
* Remove unnecessary c_str() callsVitaly Stakhovsky2018-09-051-4/+4
| | | | Use the new IsOn(),IsOff() overloads.
* MSVC: Preserve linker output encodingJustin Goshi2018-08-091-0/+10
| | | | | | | When using the Ninja or Makefile generator with MSVC on Windows we invoke the linker through a `cmake -E vs_link_{exe,dll}` wrapper. Preserve the linker output encoding to match `link.exe` behavior instead of forcing UTF-8.
* MSVC: Fix manifest resource encodingJustin Goshi2018-08-091-0/+2
| | | | | | | When using the Ninja or Makefile generator with MSVC on Windows we invoke the resource compiler (`rc.exe`) to compile a manifest resource. CMake generates the file with UTF-8 encoding so we need to add a pragma to inform the resource compiler.
* Revise C++ coding style using clang-format-6.0Kitware Robot2018-06-011-7/+8
| | | | | | | | | | | | Run the `clang-format.bash` script to update all our C and C++ code to a new style defined by `.clang-format`. Use `clang-format` version 6.0. * If you reached this commit for a line in `git blame`, re-run the blame operation starting at the parent of this commit to see older history for the content. * See the parent commit for instructions to rebase a change across this style transition commit.
* Fix combined use of compiler launcher with lint toolsIlya A. Kriveshko2018-02-271-9/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | When using ccache with clang-tidy, ccache needs to wrap compiler invocation, rather than cmake invocation. But it needs to do it without affecting the command line that iwyu-like tools are receiving. With this fix, if __run_co_compile is used, compile launcher is passed using the new --launcher option, but if __run_co_compile is not needed, compiler launcher is prepended to the command line as before. To better illustrate the change: with this fix if running clang-tidy with CXX_COMPILER_LAUNCHER set to "/usr/bin/time;-p;ccache" (time -p added strictly for illustration purposes), the command line changes from: /usr/bin/time -p ccache cmake -E __run_co_compile \ --tidy=clang-tidy ... -- g++ ... to: cmake -E __run_co_compile \ --launcher="/usr/bin/time;-p;ccache" \ --tidy=clang-tidy ... -- g++ ... This allows the compiler to be run via the launcher, but leaves tidy (& friends) invocations unaffected. Fixes: #16493
* Adds file(TOUCH) and file(TOUCH_NOCREATE) sub-commandsShane Parris2018-02-151-2/+0
|
* Reduce raw string pointers usage.Pavel Solodovnikov2018-01-311-6/+5
| | | | | | | | | | * Change some functions to take `std::string` instead of `const char*` in the following classes: `cmMakeFile`, `cmake`, `cmCoreTryCompile`, `cmSystemTools`, `cmState`, `cmLocalGenerator` and a few others. * Greatly reduce using of `const char*` overloads for `cmSystemTools::MakeDirectory` and `cmSystemTools::RelativePath`. * Remove many redundant `c_str()` conversions throughout the code.
* Make use of std::chrono throughout every componentWouter Klouwen2018-01-231-2/+2
| | | | | | | | 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.
* Help: Reword misleading docs for cmake -E timeTaylor Braun-Jones2018-01-191-1/+1
|
* cmcmd: Fix cmake_symlink_library for inconsistent slashesBrad King2017-12-201-3/+6
| | | | | | | | With the Ninja generator we may invoke `cmake_symlink_library` with different slash conventions (`/` versus `\`) for different arguments. Fix comparison of the paths/names given to tolerate this. Fixes: #17579
* Update cpplint support to return 0 and mark warnings for CDash.Bill Hoffman2017-12-011-2/+4
| | | | | | | | This commit makes cpplint act like the other compiler mirroring tools. It will always return 0 even if it reports warnings and will only return non zero if there is a problem running the command. In addition, it will now add some extra text to allow CTest to recognize the warnings and report them correctly to CDash.
* Autogen: Rename cmQtAutoGenerators to cmQtAutoGeneratorMocUicSebastian Holtermann2017-11-191-2/+2
|
* Autogen: Introduce standalone RCC generator classSebastian Holtermann2017-11-191-4/+14
| | | | | | | | | 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>`.
* Merge topic 'windows-mt-update-quiet'Brad King2017-11-101-1/+1
|\ | | | | | | | | | | | | 5c07d390 cmcmd: Fix typo in RunCommand logic Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1473