GithubHelp home page GithubHelp logo

Comments (6)

leidegre avatar leidegre commented on September 14, 2024

Nor should they, generated files are temporary files, what's also known as build artifacts. They are only really valid for the duration of a build.

Could you maybe provide an example why this would be necessary, or why is it that you want to somehow get tundra to emit generated files into IDE projects?

from tundra.

tlaedre avatar tlaedre commented on September 14, 2024

That's a matter of opinion, and ours obviously differ. Usually you'd want files generated in early passes to show up as 'source files' to the final build step.

I.e. anything that gets sent to gcc/cl for the actual compilation step would be interesting to inspect, and would naturally belong, in the IDE. They would always have to be there for projects actually building with devenv/msbuild, e.g.

Andreas told me to file this bug over a year ago, so I'm gonna assume it holds at least some relevance. That said, I don't think IDE generation has been a huge focus area :)

from tundra.

leidegre avatar leidegre commented on September 14, 2024

You work at DICE? I was there as an intern 3 years ago. I don't remember the reason but I knew they had a small tool that built VS projects from the source. Do you know the reason for this?

I don't mind spending some time coding for the project generation stuff, I'd like to upgrade the templates to use the VS2010 tooling. You can still target the VC90 tools if you want, but you get to use the VS2010 IDE and the IntelliSense improvements. Currently I've setup my projects manually and just go with the "Show All Files" filter.

Also, I only use NMake targets and specify tundra as the command line with respective configuration. That works rather nicely. I've also setup debugging with respect to the tundra-output, so I can hit F5 and just step right into something built by tundra.

Also in terms of code generation and IDE integration, how would you like to organize your project?

from tundra.

tlaedre avatar tlaedre commented on September 14, 2024

Offtopic:
Yes. The reason is that every platform has its own custom tools and quirks for what defines a working vcproj (things like there being a .vsinul e.g.), and there's no off-the-shelf solution (that I know of) that generates working projects for all common console targets and VS versions.

Ontopic:
To be honest, I don't really care all that much how files are organized, but I'll offer some opinion:

  • I think it would be nice to mirror the disk folder structure into project folders
  • It would also be nice to separate each target into a separate project, and build/clean only that target through nmake invocation (though this might already work? haven't tested it in a while)
  • By far the most important feature for me is a fully working debugging solution; that'd really be the only reason I'd use VS over VI on Windows.
  • As the original issue said (in not so many words), having generated files from earlier passes be included in the projects eases debugging and iterative fixes found in debugging.
    • Ideally, I'd like to see both input and output files included in the projects (e.g. so you'd have both the source .y file, and the generated .c file in the same project)
    • For that to be understandable, I guess generated files should be gathered under passX-output folders to differentiate them from source files.

Allow me to re-iterate that I'm not really sure these features are worth the required time investment, though.

from tundra.

leidegre avatar leidegre commented on September 14, 2024

Offtopic:

Isn't that same problem solved by defining tools for each platform in tundra?

Ontopic:

The debugging situation is really good. They way I currently have my projects setup it can't really tell the difference, as long as you turn on the GeneratePdb option for your variants, it works out of the box. I think edit and continue is a no go, but not sure if that matters.

The trick here, is that if the tools that generate sources don't provide enough metadata there's no way to build the project correctly with out running the tools and if you touch the projects you're forced to reload them all the time and that might end up being a bit of a nag. I'll look in to it.

I think it's a nice feature, and I'm all for making tundra more accessible. There's already some work done in that regard so building on that shouldn't be to hard. I'll look in to it.

from tundra.

deplinenoise avatar deplinenoise commented on September 14, 2024

Generated files are included in the VS2012 projects generated by Tundra 2.0.

from tundra.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.