Jump to content
  • Advertisement
Sign in to follow this  


This topic is 4191 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hey guys, I have a question about folder/directory organization. I just started downloading libraries but I can't help but feel unorganized about their locations. The DirectX SDK installer put it in its own location, Ogre3D put it in its own location, etc. But, do you guys have a single folder that holds all the libraries (like SDL and Allegro in the same folder)? Is it good to keep the folder (on XP) right on the C: directory (for example, C:\lib)? Also, where do you keep your projects? Do you keep all your projects in one folder even if you use different IDEs? I'm using Visual Studio 2005 right now so they're in my Documents folder. Is it good logic to keep that close by the libraries? But if I were to use Dev-C++, I should only access one folder where all my projects are, right? I understand that their location has nothing to do with computer efficiency, but how do you guys go about organizing your selfs when doing game development?

Share this post

Link to post
Share on other sites
For me, very few dependencies get installed in a global location. I generally install the DirectX SDK where it wants to go, and the Platform SDK where it wants to go. I install Boost in the same spot as both the previous SDKs (someplace in Program Files). Those are the only globally-installed 3rd party libraries on my development environment.

I have a Projects directory that contains a folder for every project I'm working on. These projects are usually under source control, so the typical directory structure look like:

ProjectName.sln Main solution file.
ProjectName.build MSBuild script for doing complete builds.
Artifact Skeleton of the "releasable" deployment.
Build Build tools (custom MSBuild targets, et cetera).
Dependancies Binaries for external libraries.
Documentation Source code for documentation.
Projects VS project files and source code.
Tests Unit testing projects.

Any external libraries that ProjectName depends on will be installed into the Dependancies folder. This only contains the released binaries for the dependency.

The purpose is so that I can have fine control over which version of a dependancy is used by a project, which can be very important. Additionally, this gives me the benefit of being able to include pretty much everything that the project requires to build in source control, which makes checking out a clean copy and building the project a snap for somebody else -- they don't have to fiddle with external dependency installation, making sure they have the right versions, et cetera.

The only things I am externally dependent on are the previously mentioned three libraries, and MSBuild itself (which is part of Visual Studio).

Share this post

Link to post
Share on other sites
Sign in to follow this  

  • Advertisement

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!