Is it possible to download source files and create a project in the IDE, without that cmake or source control madness? I’m also wondering why do you need VS2013 as specific version. The instructions seem to be quite vague in any case.
I suggest you to create a thread for that. If you start to ask questions like that, the topic becomes pretty intense shortly.
Without Git should be possible, blender.org offers a source code archive for download iirc.
However, the big problem are libraries: Blender has a huge amount of dependencies, and building them on Windows is complicated and extremely time-consuming. Therefore, there is a SVN repository with precompiled libraries, which is fine for 99% of all cases since you generally want to modify Blenders source, not the source of the dependencies. That’s why SVN is required.
Precompiled libraries depend on the compiler version, therefore only 2013 is supported. Afaik, support for 2015 is being worked on.
As for CMake - I don’t really know much about VS, but I guess that the project files depend on which parts of Blender you want to build and where your files are stored. Therefore, CMake generates a custom VS project for you. If you just want a regular build, you can use the make.bat, but that still requires CMake to be installed iirc.
If you have .lib files for VS should they work in older versions as well? For example SDL2 which I’m using in my games has only one version for VS which works fine in 2010.
No, Blender users C99 (from 1999) features not available in MSVC2010.
Likely MSVC 2012 can all be made to work by someone with a lot of time, 2010 is not worth it. If you choose to use a version that is non supported by us you will have to rebuild all dependencies as the c++ ABI does not allow mixing libraries. zlib, png SDL and some C-API only libraries do not suffer from this and could be used.
Given how much time building libraries takes me. I would strongly discourage not willing to invest at least a week of time from attempting this.
I’m not quite sure I understand the grief in the original post. Blender’s pull-n-build process is about as painless as you can get for a project of its size.
C has been developed as well, I almost forgot that, because I’m using C++ myself. I wonder what those features are. I think I have seen Blender’s source code some while ago, you know, some of it. It’s so traditional hazardous C it made me smile a bit.
So how about latest Code::Blocks with gcc? Surely new gcc supports all the latest stuff?
But how do the developers actually program it? Write code in some text editor and then run cmake as if it was 1970?
Personally, yes, I generally use nano for editing and a set of bash aliases (Bm = build, Br = go to release build folder, Bb = go to source folder etc.).
In general, afaik IDEs are popular as well, mainly QtCreator - although Visual Studio works as well once you got the project set up.
I wonder what those features are.
One of them is the ability to declare variables in functions anywhere in the code, not just at the start before any statement. That sounds pretty weird from a C++ perspective, but it’s actually forbidden in C89.
I use Qt Creator for editing and then build & run Blender either directly from Qt (Ctrl+B to build, Ctrl+R to run) or from the command-line (alias ‘m’ for building, ‘b’ for running). For Python I usually use Vim. Really can’t get much faster than that.
Since I got involved with Blender dev 2 years ago, Blender’s code has changed enormously. I was just comparing the code the other day… you don’t really notice it in normal day-to-day work, but it’s really impressive how fast this code base is evolving. If you want to judge Blender’s code quality you always have to look at the latest state and you have to look at it as a whole, ‘some of it’ doesn’t tell much.
That said I’m aware that there are still quite a few dark corners, but we’re talking about an ongoing process.
Developers use quite different tools, depending on their platform and preference.
Its quite common to use a text editor and command line (not an IDE).
Large parts of Blender have been written this way.
CMake wasn’t around in the 1970’s.
I downloaded 2.77a source code and even when I’m randomly reading source files it’s telling me a story.
If you allow me a little somewhat off topic I just want to say something.
In my opinion, blender has a low attractiveness towards development. In the sense that for some reason, It doesn’t entice people to become developers or to approach the development field even considering the affection that maybe a person has towards this software. I do not know what’s the reason, it could even be so ugly as someone says, but I think it could also be due the lack of quick_mind_access educational materials about blender’s development.
Software packages like Blender are enormous in size. People tend to learn very fast, if they can to it in their area of interest. In Blender, that could be anything. Meaning, having educational quick mind access for everything is not even an option, especially because it would need to be regularly updated.
There are a lot of active programmers in irc. For dedicated help, this seems like the best place for someone who wants to learn to code in Blender.
Just to make something clear. Learning to code C in Blender is for most people very likely the wrong place to start because the code base is too big and you would be lost very easily as a beginner.
While Blender’s code-base is big, many features are isolated to a smaller area, sometimes even stand-alone or relatively self-contained.
Even for experienced developers, its not as if you can understand a large code-base all at once. Anyone getting involves in a large code-base needs to start small and take time before they can start working on code that touches multiple areas.
To the contrary, the Blender community is one of the places where I’ve most seen artists start taking an interest in development. As far as I know, most current Blender developers started as Blender users first. And I can point to a number of tools and add-ons for Blender that were developed (or at least spearheaded) by regular users who were “enticed to become developers.”
Well, one of the reasons might be that it leans toward linux-style programming: text editor, make, all that 70’s stuff, and is dismissing IDE development style which I guess is more common on Windows platform. I think getting the project compile and run in the first place is an important step and if it’s overly hard it may scare developers away. You kind of get a first impression from how easy or hard it is to compile something.
Honestly I wish “the people” or a someone would just make a VS2015 version of all the source. And when you compile it.
It would just build because all the dependencies are in the solution already.
If that was available it would do wonders for the blender community.
I personally would start developing, immediately.
Right now its just confusing as hell.
I have followed step by step tutorials on how to build blender and there is ALWAYS some hangup that makes me give up.
If anyone knows of a complete Visual Studio blender project and where to get it, please let me know.
I will try my hardest to convert it to 2015 and I will post it for free when I am done.