ConfigRepository - lms-org/lms GitHub Wiki
Config repositories (also called config repos) are git repositories that reference LMS, libraries and modules as submodules and contain config files for the setup. Config repos are, once downloaded, a full-featured, compilable and runnable LMS setup.
There is a config repo draft called lms_config_repo.
Structure
- LMS - the LMS core framework
- external
- modules - Folder containing all modules as git submodules
- CMakeLists.txt
- CMakeData.txt
- services - Folder containing all services as git submodules
- CMakeLists.txt
- CMakeData.txt
- libraries - Folder containing all libraries as git submodules
- CMakeLists.txt
- CMakeData.txt
- modules - Folder containing all modules as git submodules
- configs - Folder for all config files
- *.xml - XML config files
- *.lconf - LCONF config files
external/modules/CMakeData.txt
This CMakeData.txt
file declares which modules should be compiled and which
not. By default all modules contained in the external/modules
folder will
be compiled. If the MODULES
variable is set to a space separated list of
modules then only those specified will be compiled. If the N_MODULES
variable
is set then all modules will be compiled except those specified. Run cmake
again after any changes to this file.
external/libraries/CMakeData.txt
This CMakeData.txt
files declares which libraries should be compiled, which
not and which first before all others. There are three variables that decide
about this:
LIBRARIES
- Compile exactly those specified in this orderN_LIBRARIES
- Compile everything without those specified (can be used in conjunction withCOMPILE_AT_FIRST
)COMPILE_AT_FIRST
- Compile those specified before every other library in this order