-
Notifications
You must be signed in to change notification settings - Fork 0
Dependencies
Every dependency is located in the dependency
level of the configuration file, and has an is
value to determine its type. Its name is used only internally and to document your project (it does not have to match any other name). Dependencies are entirely optional.
When Build++ wants to use some dependency artifacts (compiled libraries) or includes (headers), it will copy them over into the cache
directory. Each subdirectory is a dependency marked with an according version and profile (if applicable, otherwise just dependency alias).
└── cache
└── dep-alias/0.1.0/default
├── lib
└── include
Use local build++
, local build
, local buildpp
or local
.
This will use a local directory that contains a Build++ project. It will build the project and copy over artifacts and includes into the cache
folder.
dependency {
other-project {
is local build++
path ../other-project # required
profile inherit # optional,
# `inherit` will copy currently selected running profile,
# the profile `default` is used otherwise
}
}
Use local pair
, local include
or local library
.
This will use two directories: one with the artifacts like .dll
or .so
, other is with the includes like .h
, .hpp
, .cuh
, etc. Both will be copied over to cache
.
dependency {
msmpi {
is local pair
include C:/Program Files (x86)/Microsoft SDKs/MPI/Include # required
library C:/Program Files (x86)/Microsoft SDKs/MPI/Lib/x64 # required
}
}
Types that will be added in future:
- Git-stored Build++ project:
git build++
(git buildpp
,git build
,git
). - Downloadable compiled library:
remote pair
(remote include
,remote library
). - Also add more optional values may be added in the future to current types.