summaryrefslogtreecommitdiffstats
path: root/Source/cmLocalVisualStudio7Generator.cxx
Commit message (Collapse)AuthorAgeFilesLines
* cmCustomCommand: Record value of CMP0116 at time of creationKyle Edwards2021-02-231-4/+5
|
* PCH: Remove restrictions for REUSE_FROM signature for MSVCCristian Adam2021-02-021-1/+2
| | | | Fixes: #20201
* Revert "PCH: Remove restrictions for REUSE_FROM signature for MSVC"Brad King2021-02-021-2/+1
| | | | | This reverts commit 9f060971411aca979807f70307d8b9fe1b43ff24. It was merged accidentally.
* PCH: Remove restrictions for REUSE_FROM signature for MSVCCristian Adam2021-02-021-1/+2
| | | | Fixes: #20201
* VS: Remove flag table entries for Fortran /Z* flagsVolker Jacht2020-10-221-3/+2
| | | | | | | | | | | | | | These were included when the Fortran flag table was first created by commit 10c91ded4f (ENH: add support for Intel Fortran Visual studio IDE, 2008-04-30, v2.8.0~2227), but they map to fields not actually supported by the IDE. Remove their table entries. Instead use just `/debug:minimal` and `/debug:full` to control debug information level in VS Intel Fortran. Let flags like `/Z7` pass through as raw additional options because they have no corresponding IDE property and can be used to complement the supported options. Fixes: #21340
* Merge topic 'genexpr-for-mfc-flag'Brad King2020-10-011-1/+1
|\ | | | | | | | | | | | | c1f1eaf7a4 VS: Teach CMAKE_MFC_FLAG to support generator expressions Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5283
| * VS: Teach CMAKE_MFC_FLAG to support generator expressionsAndrey Starodubtsev2020-09-301-1/+1
| |
* | VS: Make ImportLibary generation optionalMark Jansen2020-09-301-5/+7
|/ | | | Fixes: #21180
* VS: Avoid unnecessary duplication of custom commands across targets in VS 9Brad King2020-09-081-1/+6
| | | | | | | | | | | Do not attach a custom command to a target if it is already attached to one of the target's dependencies. The command's output will be available by the time the target needs it because the dependency containing the command will have already been built. The same change was already made by commit f59c33a763 (VS: Generate a custom command only in the least dependent target, 2018-03-23, v3.12.0-rc1~171^2) for VS 10+.
* cmLocalVisualStudio7Generator: Adopt SourcesVisited lookup tableBrad King2020-09-081-0/+9
| | | | | | | Move it up the hierarchy from `cmLocalVisualStudio10Generator`. Propagate contents from a target's dependencies as part of the main target iteration logic instead of as part of the generator-specific target generation.
* cmLocalVisualStudio7Generator: Consolidate target iterationBrad King2020-09-041-33/+11
| | | | | Combine iteration with `cmLocalVisualStudio10Generator` and dispatch generation of each target with a virtual `GenerateTarget` method.
* cmLocalVisualStudio7Generator: Generate targets in dependency orderBrad King2020-09-041-2/+3
| | | | | Use the globally computed target ordering so that we generate all of a target's dependencies before generating the target itself.
* cmMakefile::GetDefinition: return cmPropVitaly Stakhovsky2020-09-021-6/+8
|
* WIN32_EXECUTABLE: Add support for generator expressionsKyle Edwards2020-08-211-1/+1
|
* Add INTERFACE libraries to generated buildsystem if they have SOURCESBrad King2020-08-071-3/+7
| | | | | | | | | | | | | | | | | | | | | | | | INTERFACE libraries were created with the intention of collecting usage requirements for use by other targets via `target_link_libraries`. Therefore they were not allowed to have SOURCES and were not included in the generated buildsystem. In practice, this has become limiting: * Header-only libraries do have sources, they just do not compile. Developers should be able to edit those sources (the header files) in their IDE. * Header-only libraries may need to generate some of their header files via custom commands. Some projects work around these limitations by pairing each interface library with an `add_custom_target` that makes the header files and custom commands appear in the generated buildsystem and in IDEs. Lift such limitations by allowing INTERFACE libraries to have SOURCES. For those with sources, add a corresponding build target to the generated buildsystem. Fixes: #19145
* Factor out generator checks for filtering out interface librariesBrad King2020-07-231-2/+2
| | | | | | Add a `cmGeneratorTarget::IsInBuildSystem` helper method to tell generators whether a target should participate in the generated build system.
* cmMakefile: Refactor API to better handle empty config valuesRobert Maynard2020-07-031-4/+5
|
* 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.