Skip to content
Hans Kirchner edited this page Dec 17, 2015 · 4 revisions

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
  • 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 order
  • N_LIBRARIES - Compile everything without those specified (can be used in conjunction with COMPILE_AT_FIRST)
  • COMPILE_AT_FIRST - Compile those specified before every other library in this order

Clone this wiki locally