summaryrefslogtreecommitdiffstats
path: root/Source/cmLocalVisualStudio7Generator.cxx
Commit message (Collapse)AuthorAgeFilesLines
* Merge topic 'fortran-preprocess-property'Brad King2020-05-221-0/+27
|\ | | | | | | | | | | | | | | | | | | 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/+27
| | | | | | | | Issue: #18870
* | Refactoring: Third-parties public headers are under cm3p prefixMarc Chevrier2020-05-071-2/+1
|/ | | | Fixes: #20666
* cmGeneratorTarget::GetProperty: return cmPropVitaly Stakhovsky2020-04-291-36/+29
|
* cmOutputConverter::GetFortranFormat(): delete const char* overloadVitaly Stakhovsky2020-04-271-1/+1
|
* Refactoring: add cm::contains to <cmext/algorithm>Marc Chevrier2020-04-171-1/+2
|
* Merge topic 'cmprop-source'Brad King2020-04-151-13/+14
|\ | | | | | | | | | | | | | | e64fa5f1b6 cmSourceFile::GetProperty: return cmProp fc223f9860 cmGlobalXCodeGenerator: Fix genex interpreter overloads Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4603
| * cmSourceFile::GetProperty: return cmPropVitaly Stakhovsky2020-04-141-13/+14
| |
* | Add support to indicate UTF-8 custom command pipe output encodingJustin Goshi2020-04-131-3/+4
|/ | | | | | | | | | | | | | | | | Adds a flag to indicate that pipe output from a custom command should be interpreted as UTF-8 encoded. This change does not introduce a public way to set the flag, but generators that create internally-generated commands know if they are calling cmake, which uses UTF-8 pipes. MSBuild added support for interpreting output of PreBuildEvent, PreLinkEvent, PostBuildEvent, and CustomBuildStep as UTF-8. This change will appear in Visual Studio 16.6 Preview 3. It is opt-in, and you need to add the StdOutEncoding tag. MSBuild treats these as property bags so if we emit the tag for earlier versions of Visual Studio it would be safely ignored. This change emits the StdOutEncoding tag and sets it to UTF-8 whenever the custom command UTF-8 pipe flag is set. This fixes globalization issues when the output from cmake contained characters that required MSBuild to interpret as UTF-8 before displaying them.
* cmLocalGenerator: Convert GetStaticLibraryFlags to take original-case configBrad King2020-04-011-3/+2
| | | | Move upper-case conversion of the configuration into the implementation.
* Merge topic 'string-prefix'Brad King2020-03-261-1/+2
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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/+2
| |
* | Remove redundant calls to CollapseFullPathBrad King2020-03-241-3/+1
|/ | | | | Remove calls where it is known the input is already a collapsed full path.
* Convert more loops to range-based for-loopsVitaly Stakhovsky2020-03-101-3/+2
|
* Modernize memory managementMarc Chevrier2020-03-051-5/+4
| | | | Update internals of various classes.
* Merge branch 'backport-3.16-link-line-backtrace'Brad King2020-02-101-2/+2
|\
| * Propagate backtraces from LINK_LIBRARIES through to link line itemsBrad King2020-02-101-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | Since commit d4d0dd0f6a (cmLinkLineComputer: Add ComputeLinkLibs overload with backtraces, 2019-09-13, v3.16.0-rc1~87^2~4), backtraces have been collected by `ComputeLinkLibs` by looking back through the link implementation libraries for one matching the text of the link line item. This is slow in projects with long link lines. Instead, teach `cmComputeLinkDepends` and `cmComputeLinkInformation` to carry backtrace information explicitly along with the text of each item. Fixes: #20322
* | cmLocalVisualStudio7Generator: clean up c_str()Vitaly Stakhovsky2020-01-201-48/+43
| |
* | Merge topic 'vs-Fortran-link-flags'Brad King2020-01-141-0/+8
|\ \ | |/ | | | | | | | | | | a3c827b2ea VS: Add Fortran link flag table entries for /OPT:* Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4210
| * VS: Add Fortran link flag table entries for /OPT:*Pavel Liavonau2020-01-131-0/+8
| | | | | | | | Fixes: #20190
| * Merge branch 'pch-generate' into release-3.16Brad King2019-10-101-2/+16
| |\ | | | | | | | | | Merge-request: !3890
* | | cmTarget: add std::string overloadsVitaly Stakhovsky2019-12-141-1/+1
| | |
* | | cmMakefile: Delay custom command creationDaniel Eiband2019-11-241-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | Move custom command creation to cmLocalGenerator and dispatch custom commands in cmMakefile to generate time. Generators add custom commands using the new methods provided by cmLocalGenerator. Issue: #12877
* | | Merge topic 'tag-std-string'Brad King2019-11-131-1/+1
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 64843b1737 cmVisualStudio10TargetGenerator: use std::string for tag Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4026
| * | | cmVisualStudio10TargetGenerator: use std::string for tagVitaly Stakhovsky2019-11-101-1/+1
| | | |
* | | | cmLocalGenerator: modernize memory managementMarc Chevrier2019-11-111-7/+7
|/ / /
* | | cmGeneratorTarget: Return non-const sources from GetAllConfigSourcesBrad King2019-10-171-1/+1
| | | | | | | | | | | | | | | We need a non-const pointer to `cmSourceFile` instances in order to call `GetOrDetermineLanguage` on them.
* | | Merge topic 'pch-generate'Brad King2019-10-101-2/+16
|\ \ \ | |/ / |/| / | |/ | | | | | | 36ded610af PCH: Generate sources during Compute step Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3890
| * PCH: Generate sources during Compute stepCristian Adam2019-10-091-2/+16
| |
* | VS: Tell VS 16.4 not to verify CMake-provided custom command outputsBrad King2019-10-071-0/+4
|/ | | | | | | | | Extend the fix from commit 0578239d3a (VS: Tell VS 16.4 not to verify SYMBOLIC custom command outputs, 2019-09-23, v3.15.4~2^2) to apply to outputs in CMake-provided targets like `install`. Simply mark these outputs as `SYMBOLIC` too since they are not actually generated. Fixes: #19737
* Unity build: Generate sources during Compute stepBrad King2019-10-031-1/+0
| | | | | | | | The unity build sources need to be added for all generators. Create them during `cmGlobalGenerator::Compute` to avoid duplicating the calls in every generator. We already handle Qt autogen there too. Issue: #19789
* Revise include order using clang-format-6.0Kitware Robot2019-10-011-7/+8
| | | | | 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.
* cmCustomCommandLine: Provide command line make functionsDaniel Eiband2019-09-161-17/+8
| | | | | Reduce boilerplate necessary to create custom command lines by introducing and applying cmMakeCommandLine and cmMakeSingleCommandLine functions.
* Merge topic 'use-using'Brad King2019-09-061-1/+1
|\ | | | | | | | | | | | | | | 1d3f5ebb0d clang-tidy: Enable check modernize-use-using a1ddf2d0ba clang-tidy: Replace typedef with using Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3782
| * clang-tidy: Replace typedef with usingRegina Pfeifer2019-09-041-1/+1
| | | | | | | | | | | | | | | | Automate the conversion with perl -i -0pe 's/typedef ([^;]*) ([^ ]+);/using $2 = $1;/g' then manually fix a few places.
* | Merge topic 'unity-build'Brad King2019-09-051-2/+6
|\ \ | |/ |/| | | | | | | | | | | | | | | | | | | | | 7786a05c70 Unity build: Add XCode support 1353802af3 Unity build: Add unit tests 8dfeb5d278 Unity build: Add support for Visual Studio generator 7114c141e2 Unity build: Add support for Ninja and Makefile generators Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Stanislav Ershov <digital.stream.of.mind@gmail.com> Acked-by: Evgeniy Dushistov <dushistov@mail.ru> Acked-by: Viktor Kirilov <vik.kirilov@gmail.com> Merge-request: !3611
| * Unity build: Add support for Visual Studio generatorCristian Adam2019-08-291-2/+6
| | | | | | | | | | | | | | | | | | It works as expected in Visual Studio. Visual Studio 2017 will (partially) benefit from the build in support for unity builds. The custom unity sources are used, because the build in support doesn't allow batching of certain number of files. It can do only batching by directory.
* | clang-tidy: Replace typedef with usingRegina Pfeifer2019-09-031-0/+1
| |
* | cmSourceFile: Rename mutating GetFullPath() overloadDaniel Eiband2019-08-291-2/+2
|/ | | | Rename mutating GetFullPath() overload to ResolveFullPath().
* Precompile headers: Add support for Visual Studio generatorsCristian Adam2019-08-281-0/+2
| | | | | | Tested with Visual C++ 2017 on Windows. Co-Author: Daniel Pfeifer <daniel@pfeifer-mail.de>
* Source sweep: Replace cmExpandList with the shorter cmExpandedListSebastian Holtermann2019-08-231-2/+1
| | | | | | | | | | | | 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-84/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 'cm-contains'Brad King2019-08-211-3/+2
|\ | | | | | | | | | | | | | | | | 2dfc52675c cmAlgorithms: Add cmContains Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Sebastian Holtermann <sebholt@web.de> Acked-by: Daniel Pfeifer <daniel@pfeifer-mail.de> Merge-request: !3700
| * cmAlgorithms: Add cmContainsRegina Pfeifer2019-08-191-3/+2
| | | | | | | | Also, use the new function where applicable.
* | avoid adding multiple consecutive string literals to std::stringRolf Eike Beer2019-08-181-4/+2
|/ | | | While at it change some single character additions to be of type char.
* Source code: Use cmExpandList instead of cmSystemTools::ExpandListArgumentSebastian Holtermann2019-08-141-1/+1
|
* VS: Place intermediate files in the "ASM List Location" next to objectsBrad King2019-07-181-2/+1
| | | | | | | | | | | | | The `AssemblerListingLocation` setting in VS project files is meant for intermediate files created during the build much like object files. When the VS 7 generator was first under development, commit 49aebe6c99 (new arch, 2002-09-04) placed both object files and the ASM list location in the same directory. Later commit f9aef0e422 (Generator now creates a separate intermediate files directory for each target, 2005-07-27) moved the object files to a per-target directory but the ASM list location was not moved with them. Move it now. Fixes: #19480
* VS: Use AddLanguageFlags to de-duplicate CMAKE_<LANG>_FLAGS* lookupBrad King2019-04-021-8/+1
|
* cmTarget: Move member `*Commands` to implSebastian Holtermann2019-03-231-0/+1
|
* cmSystemTools::Error: consolidate parameters into single std::stringVitaly Stakhovsky2019-02-201-5/+5
|