summaryrefslogtreecommitdiffstats
path: root/Source/cmMakefileTargetGenerator.cxx
Commit message (Collapse)AuthorAgeFilesLines
* Single location for cmProp typedefVitaly Stakhovsky2020-06-011-0/+1
|
* Merge topic 'fortran-preprocess-property'Brad King2020-05-221-0/+1
|\ | | | | | | | | | | | | | | | | | | 3888de23da Ninja: Skip Fortran preprocessing if Fortran_PREPROCESS is OFF 66c4e87282 Ninja: Add helper functions to generate Fortran build 5cca1ec893 Ninja: Add helper functions to generate Fortran preprocess rule b0a6161190 Fortran: Add Fortran_PREPROCESS property Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4659
| * Fortran: Add Fortran_PREPROCESS propertyPeter Hill2020-05-211-0/+1
| | | | | | | | Issue: #18870
* | Multi-Ninja: Fix PCHs for Visual C++Cristian Adam2020-05-201-3/+8
|/ | | | Fixes: #20711
* Merge topic 'gitlab-ci-lint'Brad King2020-04-301-1/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4318e8ed35 gitlab-ci: add iwyu job 0866b9253b gitlab-ci: add initial clang-tidy build 0a5bcf97b9 gitlab-ci: add scripts for use by CI 960158b90d ci: add scripts to download build tools 6af91c7c4d ci: add an image for Debian 10 68903ae238 ci: add a Docker container for building CMake 3ac24a8a6e cmFunctionBlocker: include missing header b745b8fd36 IWYU: mark includes needed for assert statements as needed ... Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4643
| * IWYU: mark cmLinkLineComputer as necessaryBen Boeckel2020-04-291-1/+1
| | | | | | | | | | IWYU is not seeing that the full declaration is necessary for `std::unique_ptr<cmLinkLineComputer>`.
* | cmGeneratorTarget::GetProperty: return cmPropVitaly Stakhovsky2020-04-291-22/+21
|/
* Merge topic 'makefile-objc'Brad King2020-04-281-2/+3
|\ | | | | | | | | | | | | | | 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: Add Objective C/C++ compilations to compile_commands.jsonBrad King2020-04-281-2/+3
| | | | | | | | Fixes: #20634
| * ObjC: Add _COMPILE_LAUNCHER supportCristian Adam2020-01-091-2/+2
| | | | | | | | Fixes: #20178
* | CUDA: Device linking use now link optionsMarc Chevrier2020-04-191-0/+12
| | | | | | | | | | | | | | | | | | | | properties LINK_OPTIONS and INTERFACE_LINK_OPTIONS are propagated to the device link step. To control which options are selected for normal link and device link steps, the $<DEVICE_LINK> and $<HOST_LINK> generator expressions can be used. Fixes: #18265
* | Merge topic 'makefile-target-special'Brad King2020-04-161-4/+10
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | a4173ef165 Tests: Enable coverage of special chars in include dirs for Makefiles d74e651b78 Makefiles: Re-implement makefile target path escaping and quoting 031bfaa865 Makefiles: Factor out makefile target path escaping and quoting ca343dad07 Makefiles: Convert paths with '#' on command-lines to short path on Windows af7de05853 Makefiles: Do not use '\#' escape sequence with Windows-style make tools 1639ee70ef cmDepends: Update types to always use a Makefile generator 413d26030f cmGlobalNinjaGenerator: Remove outdated comment Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4605
| * | Makefiles: Do not use '\#' escape sequence with Windows-style make toolsBrad King2020-04-151-4/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit fbf7a92975 (Makefile: Handle '#' in COMPILE_OPTIONS, 2014-08-12, v3.1.0-rc1~174^2) we escape `#` as `\#` in `flags.make` variable assignments so that they are not treated as a comment. Windows-style make tools like NMake do not interpret backslashes in that way. Other means will be needed to handle `#` in contexts where it is even possible. The test suite is not covering this for NMake anyway, and actually has a workaround in `Tests/TryCompile` for the old behavior, which we can now update.
* | | cmSourceFile::GetProperty: return cmPropVitaly Stakhovsky2020-04-141-14/+14
|/ /
* | Merge topic 'pch-ios-multi-arch'Brad King2020-04-031-18/+49
|\ \ | | | | | | | | | | | | | | | | | | f593b354da PCH: Add support for multi architecture iOS projects Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4561
| * | PCH: Add support for multi architecture iOS projectsCristian Adam2020-04-021-18/+49
| | | | | | | | | | | | Fixes: #20497
* | | cmMakefile::GetProperty: return cmPropVitaly Stakhovsky2020-04-011-4/+4
|/ /
* | Merge topic 'cleanup-endls-1'Brad King2020-03-271-2/+1
|\ \ | | | | | | | | | | | | | | | | | | 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-2/+1
| | | | | | | | | | | | | | | | | | | | | 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 'cmprop-getglobalprop'Brad King2020-03-271-3/+2
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | c84cf42897 cmState::GetGlobalProperty: return cmProp Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4521
| * | | cmState::GetGlobalProperty: return cmPropVitaly Stakhovsky2020-03-251-3/+2
| | | |
* | | | Merge topic 'cleanup-CollapseFullPath-calls'Brad King2020-03-261-14/+11
|\ \ \ \ | |_|/ / |/| | | | | | | | | | | | | | | | | | | | | | | 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
| * | | Simplify absolute path conversions using CollapseFullPath full signatureBrad King2020-03-241-2/+4
| | | |
| * | | Remove redundant calls to CollapseFullPathBrad King2020-03-241-12/+7
| |/ / | | | | | | | | | | | | Remove calls where it is known the input is already a collapsed full path.
* | | cmState::GetTargetTypeName: return type is *cmPropVitaly Stakhovsky2020-03-191-1/+1
|/ /
* | cmGeneratorExpression: remove const char* overloadsVitaly Stakhovsky2020-03-081-1/+1
| |
* | clang-tidy: Fix explicit --driver-mode= argumentBrad King2020-01-311-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | Since commit f6f4eb0907 (clang-tidy: Add driver mode argument, 2020-01-19) the `clang-tidy` tool rejects the new option: Unknown command line argument '--driver-mode=g++'. This is because we are adding the flag before the main compiler command-line. Encode it with `--extra-arg-before=` so that `clang-tidy` knows it is supposed to be part of the compiler command. Suggested-by: Hanjiang Yu
* | clang-tidy: Add driver mode argumentHanjiang Yu2020-01-271-1/+7
| | | | | | | | | | | | | | `clang-tidy` does not infer driver mode if it is not provided with a JSON compilation database. This is exactly the way cmake launches it. Hence clang-tidy will only use the default driver mode. Add an explicit driver mode argument to avoid this.
* | cmMakefileTargetGenerator: modernize memory managementMarc Chevrier2020-01-211-28/+21
| |
* | ObjC: Add _COMPILE_LAUNCHER supportCristian Adam2020-01-091-2/+2
| | | | | | | | Fixes: #20178
* | cmGlobalGenerator: modernize memrory managemenbtMarc Chevrier2019-12-301-1/+3
| |
* | Refactoring: use append functions from cmext/algorithmMarc Chevrier2019-12-171-11/+13
| |
* | Refactor: Prepare Ninja generator for multi-configKyle Edwards2019-12-131-50/+73
|/
* PCH: Fix Makefile dependencies to rebuild PCH on header changesBrad King2019-10-171-1/+5
| | | | | | | | Teach the Makefile generator to scan the implicit dependencies of PCH creation. When a header named by `target_precompile_headers` changes the corresponding PCH must be rebuilt and all consumers recompiled. Fixes: #19830
* cmMakefileTargetGenerator: Inline WriteObjectBuildFile in only call siteBrad King2019-10-161-17/+4
|
* PCH: Generate sources during Compute stepCristian Adam2019-10-091-2/+33
|
* cmGeneratorExpression: Add cmGeneratorExpression::Evaluate utilityDaniel Eiband2019-09-231-5/+4
| | | | | | | cmGeneratorExpression::Evaluate is a shortcut when only the evaluated string is needed or an instance of cmCompiledGeneratorExpression cannot be cached. Fixes: #19686
* cmGeneratorExpression: Move quiet flag to cmCompiledGeneratorExpressionDaniel Eiband2019-09-221-1/+1
| | | | | | The quiet flag is false for all but one call to Evaluate. Make the quiet flag a setter of cmCompiledGeneratorExpression to be able to remove it from the Evaluate function signature.
* Genex: Evaluate byproduct generator expressions in cmCustomCommandGeneratorDaniel Eiband2019-09-171-1/+2
| | | | | | | | | | | Evaluate and expand generator expressions in byproducts of custom commands. Note that it is still not possible to use generator expressions in byproducts of the commands `add_custom_command` and `add_custom_target`. These commands still reject the input. This is a preparation step for OUTPUT generator expression support. Issue: #12877
* Refactoring: Use ConfigName instead of property CMAKE_BUILD_TYPEDaniel Eiband2019-09-171-17/+11
| | | | | Use memorized `this->ConfigName` instead of retrieving the value of property CMAKE_BUILD_TYPE.
* clang-tidy: modernize-deprecated-headersRegina Pfeifer2019-09-161-1/+1
|
* cmLocalGenerator: Remove AppendFlags 'const char*' overloadBrad King2019-09-051-2/+2
| | | | | Update call sites to ensure the `std::string` argument can be constructed safely.
* Merge topic 'clang-ipo-support'Brad King2019-09-031-0/+7
|\ | | | | | | | | | | | | | | | | | | dca9c33abc Tests: Remove old IPO test c856d4556b bindexplib: supporting llvm bitcode formats using llvm-nm 079b8e2916 Clang: prefer lld-link over link.exe 6e3655db2c Clang: add LTO support for GNU-command line clang on windows Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3527
| * bindexplib: supporting llvm bitcode formats using llvm-nmZsolt Parragi2019-08-301-0/+7
| |
* | Precompile headers: Add methods to generate PCH sourcesCristian Adam2019-08-281-1/+19
|/ | | | Co-Author: Daniel Pfeifer <daniel@pfeifer-mail.de>
* Merge topic 'pvs-cleanup'Brad King2019-08-261-4/+4
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7fe3e874d5 cmCPackLog: Fix support for multiple log message tags 74f2c0ea56 cmCTestTestHandler: Remove extra layer of parentheses 7c2767ef3b cmCTestMultiProcessHandler: Explain testRun ownership in comments 303e813438 CTest: Simplify some boolean conditions 51565abe79 cmMessageCommand: Remove extra layer of parentheses b1cfaf7b91 cmVSSetupHelper: Remove unused SmartBSTR copy operations 3f4c4e7afe cmVSSetupHelper: Fix SmartBSTR copy operations a8ca5aea94 cmMakefileTargetGenerator: Check for null before using a pointer ... Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Daniel Pfeifer <daniel@pfeifer-mail.de> Acked-by: Artalus <artalus-mail@yandex.ru> Merge-request: !3715
| * cmMakefileTargetGenerator: Check for null before using a pointerBrad King2019-08-261-4/+4
| | | | | | | | | | | | | | | | Fix the order of logic added by commit 7740ccd1a4 (ENH: some cleanup of the makefile generator, 2006-02-14, v2.4.0~517) to check for allocation failure ('new' returns null) before using the pointer. Issue: #19610
* | Source sweep: Replace cmExpandList with the shorter cmExpandedListSebastian Holtermann2019-08-231-6/+5
| | | | | | | | | | | | | | | | | | | | | | | | 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-131/+100
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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)`
* Source sweep: Use cmIsOn instead of cmSystemTools::IsOnSebastian Holtermann2019-08-171-4/+4
| | | | | | | | | This replaces invocations of - `cmSystemTools::IsInternallyOn` with `cmIsInternallyOn` - `cmSystemTools::IsNOTFOUND` with `cmIsNOTFOUND` - `cmSystemTools::IsOn` with `cmIsOn` - `cmSystemTools::IsOff` with `cmIsOff`