summaryrefslogtreecommitdiffstats
path: root/Source/cmLocalUnixMakefileGenerator3.cxx
Commit message (Collapse)AuthorAgeFilesLines
* Makefile: Fix regression in .SILENT ruleDaniel Colascione2020-06-221-3/+4
| | | | | | | | | | | | | | | | | | | | Since commit d74e651b78 (Makefiles: Re-implement makefile target path escaping and quoting, 2020-04-10, v3.18.0-rc1~334^2~1), `WriteMakeRule` now correctly escapes `$` in make target paths as `$$`. However, this caused an existing call site to escape the `$(VERBOSE)` variable reference in the `.SILENT` prefix, making it ineffective. Sub-makefiles are invoked with `MAKESILENT`, so this bug matters only for the `all` target, which emits progress messages from toplevel. Before: # Suppress display of executed commands. $$(VERBOSE).SILENT: After: # Suppress display of executed commands. $(VERBOSE).SILENT:
* Single location for cmProp typedefVitaly Stakhovsky2020-06-011-0/+1
|
* cmGeneratorTarget::GetProperty: return cmPropVitaly Stakhovsky2020-04-291-6/+4
|
* Merge topic 'makefile-objc'Brad King2020-04-281-1/+1
|\ | | | | | | | | | | | | | | c4d09fdc6d Makefiles: Add Objective C/C++ compilations to compile_commands.json 98aa628f0b Makefiles: Scan Objective C/C++ preprocessor dependencies Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4675
| * Makefiles: Scan Objective C/C++ preprocessor dependenciesBrad King2020-04-281-1/+1
| | | | | | | | Fixes: #20635
* | Makefiles: Factor out makefile target path escaping and quotingBrad King2020-04-151-39/+16
| | | | | | | | | | | | | | | | Code paths that write makefile target paths use a combination of `cmSystemTools::ConvertToOutputPath` and `cmMakeSafe`. Some were missing the latter. Wrap these two steps up into a dedicated `ConvertToMakefilePath` method provided on both the local and global generators.
* | cmMakefile::GetProperty: return cmPropVitaly Stakhovsky2020-04-011-4/+4
| |
* | Merge topic 'cleanup-endls-1'Brad King2020-03-271-16/+12
|\ \ | | | | | | | | | | | | | | | | | | 3fdd8db3aa Refactor: Avoid `std::endl` where it's not necessary (part 1) Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4513
| * | Refactor: Avoid `std::endl` where it's not necessary (part 1)Alex Turbov2020-03-261-16/+12
| | | | | | | | | | | | | | | | | | | | | The `std::endl` manupulator, except inserting `\n` character, also performs `os.flush()`, which may leads to undesired effects (like disk I/O in the middle of forming data strings). For the `std::stringstream` it also has no meaning.
* | | Merge topic 'make-nested-silent'Brad King2020-03-271-1/+5
|\ \ \ | | |/ | |/| | | | | | | | | | | | | d6d9da5178 Makefiles: Fix silencing of nested calls for GNU make 4.3 Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4515
| * | Makefiles: Fix silencing of nested calls for GNU make 4.3Brad King2020-03-261-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | Since GNU make 4.3, `.SILENT:` no longer causes nested `$(MAKE)` calls to get `-s` implicitly. Add the `-s` flag explicitly on such calls to suppress messages about Entering/Leaving directories. Fixes: #20487
* | | Merge topic 'string-prefix'Brad King2020-03-261-1/+1
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ec7928ef26 use _s to construct static string_views at several places 94de927cab VS10Generator: avoid many string allocations 8ca2504a4d use string_views to avoid memory allocations 761f1adcae check for a valid URL scheme before starting to do any splitting ef778d77e0 replace std::string::substr() with operations that do not allocate memory 77616f4681 pass cm::string_view to cmVisualStudioSlnParser::ParseTag() ada6a3226f use cm::string_view for language extension lookups 48adc29721 replace "std::string::find(x) == 0" with cmHasPrefix() ... Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4501
| * | | replace "std::string::find(x) == 0" with cmHasPrefix()Rolf Eike Beer2020-03-231-1/+1
| | | |
* | | | Merge topic 'cleanup-CollapseFullPath-calls'Brad King2020-03-261-22/+15
|\ \ \ \ | |_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | 25f48761fa Simplify absolute path conversions using CollapseFullPath full signature 12b39aef75 Remove redundant calls to CollapseFullPath Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4518
| * | | Remove redundant calls to CollapseFullPathBrad King2020-03-241-22/+15
| |/ / | | | | | | | | | | | | Remove calls where it is known the input is already a collapsed full path.
* | | cmState::GetTargetTypeName: return type is *cmPropVitaly Stakhovsky2020-03-191-1/+2
|/ /
* | Ninja Multi-Config: Fix issue with framework dependencies and AutogenKyle Edwards2020-02-171-2/+2
| | | | | | | | Fixes: #20345
* | Source: use std::string in place of const char*Vitaly Stakhovsky2020-01-291-5/+5
| |
* | makefiles: suppress RCS and SCCS implicit rulesBen Boeckel2020-01-241-3/+9
| | | | | | | | | | | | These are not suffix rules and are not suppressed by the empty `.SUFFIXES` recipe. Additionally, the old `SUFFIXES =` code didn't actually accomplish this, so remove it.
* | Refactoring: suppress cmEraseIf in favor of cm::erase_ifMarc Chevrier2020-01-091-2/+2
| |
* | Refactoring: use append functions from cmext/algorithmMarc Chevrier2019-12-171-2/+3
| |
* | Refactor: Prepare Ninja generator for multi-configKyle Edwards2019-12-131-7/+15
| |
* | cmLocalGenerator: modernize memory managementMarc Chevrier2019-12-091-2/+1
| |
* | Merge topic 'cmake-e-rm'Kyle Edwards2019-11-151-1/+1
|\ \ | | | | | | | | | | | | | | | | | | | | | 2d0100fac7 replace remove and remove_directory with rm in tests 5239fc5c75 cmake -E: Add rm with improved semantics over remove and remove_directory Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3949
| * | replace remove and remove_directory with rm in testsJohnny Jazeix2019-11-131-1/+1
| |/
* | cmLocalGenerator: modernize memory managementMarc Chevrier2019-11-111-17/+18
|/
* Revise include order using clang-format-6.0Kitware Robot2019-10-011-2/+3
| | | | | Run the `clang-format.bash` script to update our C and C++ code to a new include order `.clang-format`. Use `clang-format` version 6.0.
* cmLocalUnixMakefileGenerator3: Mark GetRelativeTargetDirectory constBrad King2019-09-301-1/+1
|
* cmGeneratorExpression: Add cmGeneratorExpression::Evaluate utilityDaniel Eiband2019-09-231-6/+4
| | | | | | | cmGeneratorExpression::Evaluate is a shortcut when only the evaluated string is needed or an instance of cmCompiledGeneratorExpression cannot be cached. Fixes: #19686
* Merge topic 'cmake-system-headers'Brad King2019-09-201-1/+1
|\ | | | | | | | | | | | | | | 4a08690ccf cmstd: Extend header <cm/iterator> c688b401d3 cmstd: Modernize CMake system headers Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3776
| * cmstd: Modernize CMake system headersMarc Chevrier2019-09-201-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Provide a standardized way to handle the C++ "standard" headers customized to be used with current CMake C++ standard constraints. Offer under directory `cm` headers which can be used as direct replacements of the standard ones. For example: #include <cm/string_view> can be used safely for CMake development in place of the `<string_view>` standard header. Fixes: #19491
* | Refactoring: Use ConfigName instead of property CMAKE_BUILD_TYPEDaniel Eiband2019-09-171-5/+3
|/ | | | | Use memorized `this->ConfigName` instead of retrieving the value of property CMAKE_BUILD_TYPE.
* clang-tidy: modernize-deprecated-headersRegina Pfeifer2019-09-161-1/+1
|
* clang-tidy: modernize-use-autoRegina Pfeifer2019-09-101-8/+5
| | | | | | Set the MinTypeNameLength option to an impossibly high value in order to limit the diagnostics to iterators. Leave new expressions and cast expressions for later.
* cmLocalGenerator: Remove AppendFlags 'const char*' overloadBrad King2019-09-051-6/+0
| | | | | Update call sites to ensure the `std::string` argument can be constructed safely.
* Source sweep: Replace cmExpandList with the shorter cmExpandedListSebastian Holtermann2019-08-231-6/+4
| | | | | | | | | | | | This replaces the code pattern ``` std::vector<std::string> args; cmExpandList(valueStr, args, ...) ``` with ``` std::vector<std::string> args = cmExpandedList(valueStr, ...) ```
* Source sweep: Use cmStrCat for string concatenationSebastian Holtermann2019-08-221-96/+82
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch is generated by a python script that uses regular expressions to search for string concatenation patterns of the kind ``` std::string str = <ARG0>; str += <ARG1>; str += <ARG2>; ... ``` and replaces them with a single `cmStrCat` call ``` std::string str = cmStrCat(<ARG0>, <ARG1>, <ARG2>, ...); ``` If any `<ARGX>` is itself a concatenated string of the kind ``` a + b + c + ...; ``` then `<ARGX>` is split into multiple arguments for the `cmStrCat` call. If there's a sequence of literals in the `<ARGX>`, then all literals in the sequence are concatenated and merged into a single literal argument for the `cmStrCat` call. Single character strings are converted to single char arguments for the `cmStrCat` call. `std::to_string(...)` wrappings are removed from `cmStrCat` arguments, because it supports numeric types as well as string types. `arg.substr(x)` arguments to `cmStrCat` are replaced with `cm::string_view(arg).substr(x)`
* Merge topic 'string-literal-append'Brad King2019-08-191-10/+5
|\ | | | | | | | | | | | | da26b3be89 avoid adding multiple consecutive string literals to std::string Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3698
| * avoid adding multiple consecutive string literals to std::stringRolf Eike Beer2019-08-181-10/+5
| | | | | | | | While at it change some single character additions to be of type char.
* | Source sweep: Use cmIsOn instead of cmSystemTools::IsOnSebastian Holtermann2019-08-171-3/+3
|/ | | | | | | | | This replaces invocations of - `cmSystemTools::IsInternallyOn` with `cmIsInternallyOn` - `cmSystemTools::IsNOTFOUND` with `cmIsNOTFOUND` - `cmSystemTools::IsOn` with `cmIsOn` - `cmSystemTools::IsOff` with `cmIsOff`
* Source code: Use cmExpandList instead of cmSystemTools::ExpandListArgumentSebastian Holtermann2019-08-141-7/+6
|
* Refactor: Convert all instances of CMAKE_BUILD_WITH_CMAKE to CMAKE_BOOTSTRAPKitware Robot2019-08-091-2/+2
|
* clang-tidy: Enable performance-inefficient-string-concatenationSebastian Holtermann2019-08-051-7/+5
| | | | | | | Enables the clang-tidy test performance-inefficient-string-concatenation and replaces all inefficient string concatenations with `cmStrCat`. Closes: #19555
* cmStringAlgorithms: Move string functions to the new cmStringAlgorithms.hSebastian Holtermann2019-07-291-0/+1
| | | | | This adds the `cmStringAlgorithms.h` header and moves all string functions from `cmAlgorithms.h` to `cmStringAlgorithms.h`.
* Introduce memory management helper: cm_memory.hxxMarc Chevrier2019-07-141-1/+2
|
* IWYU: Fix handling of <memory> standard headerBrad King2019-07-101-1/+1
| | | | | | | | An old workaround for `std::allocator_traits<>::value_type` lints from IWYU on `std::vector<>` usage breaks IWYU's handling of `<memory>`. Convert the workaround to use the same approach we already use for a workaround of `std::__decay_and_strip<>::::__type` lints. Then update the `<memory>` inclusions to follow the now-correct IWYU lints.
* Use cmAppend to append ranges to std::vector instancesSebastian Holtermann2019-05-231-2/+2
|
* cmSystemTools::Error(): remove const char* overloadVitaly Stakhovsky2019-05-221-2/+5
|
* Makefiles: Process ADDTIONAL_CLEAN_FILES dir prop at directory levelSebastian Holtermann2019-05-181-0/+51
| | | | | | | | | | | | | | In the "Unix Makefiles" generator, the `ADDTIONAL_CLEAN_FILES` directory property was evaluated on a per target basis. This had two drawbacks: - per directory clean files were repeated in every target clean script - per directory clean files weren't removed in directories without targets (issue #8164) This patch moves the `ADDTIONAL_CLEAN_FILES` directory property processing from the target to the directory level clean target. Fixes: #8164 "ADDITIONAL_CLEAN_FILES directory property not respected if no target present in directory"
* Makefiles: Inline range loop range argumentsSebastian Holtermann2019-05-171-6/+3
|