How to set up shared data in a bigger project

I was wondering what’s the most convenient way to arrange files in a more bigger project with lots of classes, test apps and assets.

So far, when I create a Project folder (apps/ProjectName/) I create folders inside it:

  • Shared Data/ - this is like data/ folder but for all different sketches, so I dont’ have to copypaste them
  • Routines/
  • Timer.h
  • States.h
  • etc.
  • Screens/
  • VideoScreen.h
  • UiScreen.h
  • etc.
  • Network/
  • Post.h
  • FormReader.h
  • etc.
  • testTimer/ - oF app
  • testScreens/ - oF app
  • testUi/ - oF app
  • finalOfApp/ - oF app

Then I use this line in every ProjectName/testXXXX main.cpp

	ofSetDataPathRoot("../../SharedData/");

The problem is when I want to use binaries outside IDE (I use VS2015, win8). This path doesn’t work anymore. The only way is to add text file (for example datafolder.txt) with a path and read data path from this file:

string dataFolder;
ofFile file("datafolder.txt");
file >> dataFolder;
ofSetDataPathRoot(dataFolder);

Is this a mess or a correct way to organize shared data?