Add Library Configuration


As of EiffelStudio 6.3, the configuration's Add Library and Add Precompile Library dialogs can be customized to include user-specific locations, making it easier to add libraries quickly.

Installation Files

The stock installation configuration files are found under the usual eifinit configuration folder under $ISE_EIFFEL/studio/eifinit. For Add Library the configuration file is named libraries.cfg and for Add Precompile Library the file is named precompiles.cfg. These are the standard configurations for known locations in the EiffelStudio installation. It is premittable to modify the contents of these files, if you have the privileges and can point to locations where all users will benefit.

User Files

If you do not have permission to modify the installed configuration files, want to point to user-specific locations or just want a location to remain private to the user then a user file can be used.

The library configuration dialogs configuration user files should be located under $ISE_USER_FILES/studio/eifinit. See Replaceable User Files for more information about the resolved value of ISE_USER_FILES for each platform.

Simply create the necessary directory structure and create a new configuration file with the same name as the one installed. So for $ISE_EIFFEL/studio/eifinit/libraries.cfg you'd need to create $ISE_USER_FILES/studio/eifinit/libraries.cfg. There is not need to copy the installed configuration files because the contents of both are merged to build the complete list of available libraries, in the appropriate Add Library dialog.

Editing the Configuration Files

The format of the library configuration files is very simplistic:

Each folder entry must be on a new line and may contain environment or configuration file variables tokenized by using $NAME or ${NAME} where necessary. Paths should be declared using a back-slash ('\') separator and not a forward-slash ('/'); although it will function it is not recommended. A path declaration should be followed by a single TAB character and then an integer value, indicating the depth to search in the directory structure.

Search depths can be from 0 to any reasonable depth, respecting the larger the search depth the longer the search duration. A value of 0 will search the declared folder path only, 1 the declared folder and and sub-folder. Finally -1 may be used to search all sub-folders.

The following is an example, with <TAB> representing the TAB character.

Folder\SubFolder<TAB>3
AnotherFolder\SubFolder<TAB>2

A more concrete, and possible useful example, is referencing the Eiffel source framework libraries:

$EIFFEL_SRC\framework<TAB>3