For simple project structures it works well, but for complex projects spanning many directories and many subdirectories, it can be quite difficult to construct a workspace using this interface. Fortunately there is a another option. The following is an example showing how to manually create a project/workspace.
Step 1: Create a new workspace in the correct base directory location. The base directory is effectively the root directory for the workspace. In this example we use the Workspace New menu to create the Zeus workspace in the C:\Program Files\zfw directory. This process creates a Zeus.zwi and Zeus.zpi in the base directory specified. These files are the workspace and project files respectively.
Step 2: Create a C:\Program Files\zfw\zeus.cmd batch file. This batch file will be used to find the files to be added to the workspace. In this case the batch file will be written to finds some macros script files, some source files and some include files. The batch file to do this would look something like this:
Code: Select all
@echo off
REM Change to the workspace base directory
cd "C:\Program Files\zfw"
REM Find all directories off the base directory
echo All Directories
dir /b /n /s /ad *.*
REM Find all files that need to be added to the workspace
echo All Lua Files
dir /b /n /s *.lua
echo All VB Script Files
dir /b /n /s *.vbs
echo All Include Files
dir /b /n /s *.hpp *.h
echo All Source Files
dir /b /n /s *.cpp *.c
Code: Select all
All Directories
C:\Program Files\zfw\zBackup
.......
C:\Program Files\zfw\zOxygen\example
All Lua Files
C:\Program Files\zfw\zScript\AS_NotDoc.lua
C:\Program Files\zfw\zScript\block.lua
.......
C:\Program Files\zfw\zScript\ztag.lua
All Include Files
C:\Program Files\zfw\zExample\cmtconvr.h
.......
C:\Program Files\zfw\zOxygen\example\xoxygen.hpp
All Source Files
C:\Program Files\zfw\zExample\cinc.cpp
.......
C:\Program Files\zfw\zExample\wildcard.c
C:\Program Files\zfw\zOxygen\example\xoxygen.cpp
Code: Select all
Directories
zBackup
.......
zOxygen\example
Lua Files
zScript\AS_NotDoc.lua
zScript\block.lua
.......
zScript\ztag.lua
Include Files
zExample\cmtconvr.h
.......
zOxygen\example\xoxygen.hpp
Source Files
zExample\cinc.cpp
.......
zExample\wildcard.c
zOxygen\example\xoxygen.cpp
Code: Select all
<folder name="Header Files" />
<folder name="Resource Files" />
<folder name="Source Files" />
Code: Select all
<folder name="zScript">
<folder name="Lua">
</folder>
<folder name="VB Script">
</folder>
</folder>
<folder name="zExample">
<folder name="Include">
</folder>
<folder name="Source">
</folder>
</folder>
<folder name="zOxygen">
<folder name="Include">
</folder>
<folder name="Source">
</folder>
</folder>
Step 8: Record a Zeus keyboard macro that converts this line of text:
Code: Select all
zScript\AS_NotDoc.lua
Code: Select all
<file>zScript\AS_NotDoc.lua</file>
Step 9: Add the files to their correct folder by cutting the groups of lines from the batch output and pasting them into the correct folder location. The resulting project files should now be something like this:
Code: Select all
<folder name="zExample">
<folder name="Include">
<file>zExample\cmtconvr.h</file>
.......
<file>zExample\ctype.h</file>
</folder>
<folder name="Source">
<file>zExample\cinc.cpp</file>
.......
<file>zExample\xdump.cpp</file>
</folder>
</folder>
<folder name="zOxygen">
<folder name="Include">
<file>zOxygen\example\xoxygen.hpp</file>
</folder>
<folder name="Source">
<file>zOxygen\example\xoxygen.cpp</file>
</folder>
</folder>
<folder name="zScript">
<folder name="Lua">
<file>zScript\AS_NotDoc.lua</file>
.......
<file>zScript\ztag.lua</file>
</folder>
<folder name="VB Script">
<file>zScript\dirtree.vbs</file>
.......
<file>zScript\talk.vbs</file>
</folder>
</folder>
This manual approach to creating a workspace is not as nice as a smart GUI interface with advanced file management. But the XML format of the project/workspace does mean hand crafting a new workspace is a fairly simple and straight forward task.