- 
                Notifications
    
You must be signed in to change notification settings  - Fork 6
 
Marker files
Root Folders are the folders where CSnake looks for CSnake files. Marker Files are small text files inside your source tree that tell CSnake which Root Folders to use when configuring one of the projects in the source tree. When you create a source tree, you can help other users to set their Root Folders correctly by adding a Marker File.
This Marker File lists a number of Root Folders that are needed for configuring any project in the source tree with CSnake. It has the following structure
; examples/rootFolders.csnake
[RootFolders]
RootFolder0=.
RootFolder1=ThirdParty
In this example, there are two Root Folders, specified relative to the path that contains the Marker File. In the above example, if the path to the Marker File is D:/CSnake/examples/rootFolders.csnake, then the locations of the Root Folders are D:/CSnake/examples and D:/CSnake/examples/ThirdParty.
When a user loads one of the CSnake Files from your source tree into CSnakeGUI, the gui will search the parent folders of the CSnake File for Marker Files (e.g. it will search in D:/CSnake/examples/MyExecutable, then in D:/CSnake/examples, then in D:/CSnake and finally in D:/). When it finds a rootFolders.csnake Marker File, it will read the contained Root Folders and propose to add them to the Context.
A folder containing this Marker File is treated as a Third Party Root Folder by CSnakeGUI. When a CSnakeGUI user adds a Root Folder to the Context, the gui will look for the thirdPartyRootFolder.csnake Marker File and - if it finds one - will add the folder to the Third Party Root Folders. Inside this Marker File, you can place the following fields (this is optional, you can leave the file empty if you want):
[Info]
NrOfProjects=10
ProgressMarker="-- Processing"
SolutionName=ExampleThirdParty.sln
CSnakeGUI will use the NrOfProjects and ProgressMarker fields to show a progress bar when configuring the source code in the third party folder. In this example, it will assume that the CMakeLists.txt inside the Third Party Root Folder will configure 10 projects, and that a text starting with "-- Processing" is printed by CMake before each project. Finally, CSnakeGUI uses the SolutionName field to know which solution file to open when you press the 'Open Third Party Solution' button. It is strongly recommended to place a thirdPartyRootFolder.csnake Marker File in your Third Party Root Folders.
Back to the Developer Guide.