Public Group

# Organization

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

## 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 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:
  Projects    ProjectName       branches      tags      trunk        ProjectName          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).

1. 1
2. 2
Rutin
21
3. 3
4. 4
5. 5
frob
12

• 9
• 17
• 9
• 31
• 16
• ### Forum Statistics

• Total Topics
632617
• Total Posts
3007453

×