![]() | ![]() | ![]() | define-root-directory | ![]() |
|
| name directory-specification
&rest subdirectories | [Function] |
Purpose
Define a root directory.
Package :module-manager
Module :module-manager
Arguments and values
| name | A keyword symbol naming the root directory or a list containing the keyword-symbol name and, optionally, an application-version-identifier string | |
| directory-specification | One of the following:
| |
| subdirectories | One or more strings specifying, in order, subdirectories
from directory-specification to the root directory. (The
keyword :up or :back can also be supplied in addition to any of
these strings, indicating to go upward one semantic or syntactic level of
directory structure, respectively.)
|
Description
Root and relative directory definitions are
used to isolate file-system details from module definitions.
Root directories specify a fixed anchor directory for a tree of
relative directory definitions. If the root directory is
redefined to a new location, all relative directories beneath it are
updated automatically.
Note: When a root directory is used as the directory-specification for a new root directory, the new root-directory location will not be changed if the location of the source root directory is changed.
When an application-version-identifier string is supplied in name, it is concatenated to the standard <platform-dir> compiled-directory name for all compiled module files that are defined relative to this root-directory.
See also
define-relative-directory
get-directory
get-root-directory
show-defined-directories
with-system-name
Examples
Define a root directory named :my-app-root:
(define-root-directory :my-app-root
(make-pathname :directory "~/my-app"))
Define a root directory named :my-app-root to be the directory
containing the file containing the define-root-directory form:
(define-root-directory :my-app-root *load-truename*)Define a root directory named
:my-app-root to be the directory
containing the file containing the define-root-directory form, but if
the :my-app-preprelease feature is present, place the compiled files in
a separate “beta” compile tree:
(define-root-directory '(:my-app-root #+my-app-prerelease "beta")
*load-truename*)
The GBBopen Project
![]() | ![]() | ![]() | define-root-directory | ![]() |