After a long work without versions, I try to rebuild one of my old projects and try to learn how to work with TFS. At the moment, I have the following (simplified) structure:
$/Application $/Application/Main (Branch) ... $/Application/Main/Source $/Application/Main/Source/Application $/Application/Main/Source/SharedBinaries $/Application/Main/Source/SharedSource $/Application/Main/Source/SharedSource/Library1 $/Application/Main/Source/SharedSource/Library1/Include $/Application/Main/Source/SharedSource/Library2 $/Application/Main/Source/SharedSource/Library2/Include $/Application/Main/Source/Tool1 $/Application/Main/Source/Tool2 ... $/Application/Development (branched from Main)
Application source code is in $/Application/Main/Source/Application while saving binary dependencies such as *.lib and *.dll files in $/Application/Main/Source/SharedBinaries . $/Application/Main/Source/SharedSource must have a directory for each library used. These are only third-party libraries right now, so they provide only the necessary include files and source code in general.
Now I want to create a new team project for a shared library called ClassLibrary . Application will use it, but other applications too, so direct library integration will definitely not be a good design. Like the application itself, we have this hierarchy:
$/ClassLibrary $/ClassLibrary/Main (Branch) ... $/ClassLibrary/Main/Source $/ClassLibrary/Main/Source/ClassLibrary ... $/ClassLibrary/Development (branched from Main)
My very first attempts were to expand $/ClassLibrary/Main/Source/ClassLibrary to $/Application/Main/Source/SharedSource in such a way that the lib is updated, all other projects get an updated version, for example, merging Development to Main. however, this does not work, and it is a sign that I do not have an Idea on how to structure this right. What is the general approach to handling such shared content and libraries across teams?
Note. Yes, this question is another version that I asked yesterday, which I deleted in order to completely update this.
source share