[cmake-developers] [CMake 0016043]: Support natvis source file type in the MSVC Project Generator

Mantis Bug Tracker mantis at public.kitware.com
Thu Mar 31 15:12:21 EDT 2016


The following issue has been SUBMITTED. 
====================================================================== 
https://cmake.org/Bug/view.php?id=16043 
====================================================================== 
Reported By:                Zachary Turner
Assigned To:                
====================================================================== 
Project:                    CMake
Issue ID:                   16043
Category:                   CMake
Reproducibility:            N/A
Severity:                   feature
Priority:                   normal
Status:                     new
====================================================================== 
Date Submitted:             2016-03-31 15:12 EDT
Last Modified:              2016-03-31 15:12 EDT
====================================================================== 
Summary:                    Support natvis source file type in the MSVC Project
Generator
Description: 
Starting with Visual Studio 14 2015, vcxproj files can contain references to
natvis files which enable custom debug visualizers for project specific types.

You specify these in the vcxproj file by including them in a <natvis> tag. 
Currently the MSVC project generator has no support for these.  Through some
hackery, it is still possible to get these files to appear in the vcxproj file
with a <None> tag, and testing shows that it will work as long as the file has a
.natvis extension, but a) this is undocumented / unsupported reliance on an
implementation detail, b) it doesn't work if your file does not have a .natvis
extension, and c) there could be some issues with doing this which we are
unaware of.

It would be nice if you could write some CMake code like this:

`set_source_files_properties(foo.natvis LANGUAGE natvis)`

and this would cause the vcxproj generator to use a <natvis> tag instead of a
<none> or <clcompile> tag, and this seems to fit well within CMake's language /
generation model anyway.
====================================================================== 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2016-03-31 15:12 Zachary Turner New Issue                                    
======================================================================



More information about the cmake-developers mailing list