summaryrefslogtreecommitdiffstats
path: root/Source/cmLocalVisualStudio7Generator.cxx
Commit message (Collapse)AuthorAgeFilesLines
* Make cmGlobalVisualStudioGenerator::VSVersion enum classSumit Bhardwaj2022-01-251-5/+8
|
* Consolidate usage of VsProjectTypeSumit Bhardwaj2021-12-231-2/+4
| | | | | | Move ProjectFileExtension handling logic to use ProjectType and remove extraneous checks in .Net SDK style project generation. This change will make introducing new project types relatively simpler.
* VS: Add custom VCEnd labels only in C# projectsSumit Bhardwaj2021-12-161-3/+2
| | | | | | | | | In commit dff98aa9ca (VS: add missing label in C# project-build events, 2021-12-15) the condition for adding our own `VCEnd` label was based on the project being managed or not. Since we support managed C++ projects, switch the condition to be based on whether the project is C#. Issue: #21440
* Merge topic 'vs-csproj-scripts'Brad King2021-12-161-1/+12
|\ | | | | | | | | | | | | dff98aa9ca VS: add missing label in C# project-build events Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6801
| * VS: add missing label in C# project-build eventsSteven Boswell2021-12-151-1/+12
| |
* | cmCustomCommand: Track main dependency explicitlyNAKAMURA Takumi2021-12-141-4/+4
|/ | | | | | | Store the main dependency as the first entry in the dependency list plus a boolean member indicating its existence. Note that this slightly changes existing behavior: the main dependency was previously the last entry of the dependency list.
* Merge topic 'vs-csproj-scripts'Brad King2021-12-031-2/+2
|\ | | | | | | | | | | | | 13a7ae2194 VS: Revert "Add missing label in C# project-build events" Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6781
| * VS: Revert "Add missing label in C# project-build events"Brad King2021-12-021-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Revert commit b284a21fee (VS: Add missing label in C# project-build events, 2021-09-03, v3.22.0-rc1~156^2). The change broke cases using multiple successful custom commands. Revert it pending further investigation into the interaction of the generated script code with `Microsoft.Common.CurrentVersion.targets`, and whether this is needed for all managed projects or just C# projects. Also add a test covering the case that was broken. Fixes: #22964 Issue: #21440
* | Source: Fix possible IWYU warnings in Windows generatorsNAKAMURA Takumi2021-11-191-2/+19
| |
* | cmLocalGenerator: Simplify Add{Custom,Utility}CommandNAKAMURA Takumi2021-11-181-9/+15
| |
* | Source: Replace C headers with C++ onesRose2021-11-021-1/+2
|/ | | | In applicable areas only, of course.
* VS: Map /Y- flag to not use precompiled headers with VS 2008Luigi Fiorentini2021-09-221-0/+1
|
* Rename cmProp in cmValueMarc Chevrier2021-09-211-21/+21
|
* Merge topic 'enh-AddCacheEntry-accepts-new-types'Marc Chevrier2021-09-101-1/+1
|\ | | | | | | | | | | | | | | f84193292c Use new AddCacheEntry signatures 3c2e58eeb8 AddCacheEntry accept cmProp or std::string Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6495
| * Use new AddCacheEntry signaturesMarc Chevrier2021-09-101-1/+1
| |
* | VS: Add missing label in C# project-build eventsSteven Boswell2021-09-091-2/+2
|/ | | | Fixes: #21440
* cmComputeLinkInformation: Improve type safety of item IsPath memberBrad King2021-05-291-1/+1
| | | | Use an enum to avoid implicit conversions to bool.
* cmLocalGenerator: Factor out relative path conversion helpersBrad King2021-05-131-9/+4
| | | | | | Most calls to `MaybeConvertToRelativePath` use one of our common work directories (e.g. top of the build tree) as the local path. Add helpers for each of the common cases to simplify and clarify call sites.
* Source: Remove unnecessary comparisons to nullptrVitaly Stakhovsky2021-05-101-2/+2
|
* 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
|