I'd like to know what is the best way to organize your workspace and more specifically how to setup your unit-test projects (I use google framework) when working with a small group of people so my code:
- Is easily portable
- Doesn't need extra setup to be compiled by others
- Is not dependant of a specific IDE or compiler
Real life example for clarity, even if I'd prefer general "good practices" :
I'm working as an intern this summer and we're making a communication protocol for 1 of our product. We're 3 people developping it with different IDE, OS and compilers. Right now the project is in a SVN repository with 1 folder having the project settings for our relative IDEs and another folder containing the source code.
This allows us to link the source code with relative paths to our projects so everyone can import where he pleases with his settings but the changes happen on the same .c and .h files for everyone when we commit. Is it an acceptable practice?
Also, I'm making the unit tests and right now :
- Each module Foo has a separate FooTester project
- Each FooTester has access to the .h files through a compiled static library
- The internals are exposed via static libs
Is it the right way to do it? Making separate projects and linking the library "manually" seems to make it dependant on my personnal settings.