public:user_software:reorganization_of_the_software_collection

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revisionBoth sides next revision
public:user_software:reorganization_of_the_software_collection [2011-11-07 17:52] Lars Bahrenpublic:user_software:reorganization_of_the_software_collection [2011-11-10 21:44] Lars Bahren
Line 7: Line 7:
   - [[#References]]   - [[#References]]
   - [[#Summary of current status]]   - [[#Summary of current status]]
 +  - [[#Suggested changes]]
   - [[#Changelog]]   - [[#Changelog]]
  
Line 42: Line 43:
   * Their group is Munich based, and so is quite isolated from LOFAR development -> difficult to find the right people to help them out with problems.   * Their group is Munich based, and so is quite isolated from LOFAR development -> difficult to find the right people to help them out with problems.
   * Uncertain of their CMake knowledge capabilities.   * Uncertain of their CMake knowledge capabilities.
 +
 +==== Suggested changes ====
 +
 +__Design goals__
 +
 +  - Better modularity: split collection into smaller sub-projects.
 +  - (Optional) common core: allow sharing of build environment.
 +  - Enable stand-alone development of individual software packages.
  
 ==== Changelog ==== ==== Changelog ====
  
 +  * Demonstration of how to handle package in the case the source code is not part of the original checkout from the repository: the RM-Synthesis package now can be build both as part of a full check-out from the LUS code repository as well as being dynamically fetched in case the sources reside in another repository. <code cmake>
 +if (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/RM)
 +  ##
 +  ##  Package is part of the current code tree
 +  ##
 +  ExternalProject_Add (rm
 +    PREFIX ${CMAKE_CURRENT_BINARY_DIR}/RM
 +    DOWNLOAD_DIR download
 +    SOURCE_DIR source
 +    URL ${CMAKE_CURRENT_SOURCE_DIR}/RM
 +    CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX} -DRM_WITH_ITPP=${RM_WITH_ITPP} -DRM_WITH_ARMADILLO=${RM_WITH_ARMADILLO}
 +    )
 +else (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/RM)
 +  ##
 +  ##  Package is not part of current code tree - fetch sources from repository
 +  ##
 +  ExternalProject_Add (rm
 +    PREFIX ${CMAKE_CURRENT_BINARY_DIR}/RM
 +    DOWNLOAD_DIR download
 +    SOURCE_DIR source
 +    SVN_REPOSITORY http://usg.lofar.org/svn/code/trunk/src/RM
 +    CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX} -DRM_WITH_ITPP=${RM_WITH_ITPP} -DRM_WITH_ARMADILLO=${RM_WITH_ARMADILLO}
 +    )
 +endif (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/RM)
 +</code> Without going into all the the details here: the CMake scripts now have been set up such that they are able to to deal with the code of the various packages being hosted within individual repositories. One of the recurring complaints about LUS has been, that in order to get to one package a lot of material was getting check out, which was not of interest for that specific purpose. Nevertheless the option to utilize a common base framework (for system inspection and configuration) was something people were in favor of, such that an updated framework needs to be a bit more flexible - the above bit of code provides that level of flexibility. --- //[[bahren@astron.nl|Lars Bahren]] 2011/11/08 12:16//
   * Merged contents of ''src/DSP'' into ''src/contrib''; as both directories contained contributed bits of code anyway, there was little reason to keep around two different collections. --- //[[bahren@astron.nl|Lars Bahren]] 2011/11/07 18:51//   * Merged contents of ''src/DSP'' into ''src/contrib''; as both directories contained contributed bits of code anyway, there was little reason to keep around two different collections. --- //[[bahren@astron.nl|Lars Bahren]] 2011/11/07 18:51//
   * Moving contents of ''LOFARSOFT/data/lopes'' to ''src/CR-Tools/data'', as the files are used with the CR software only. Given the fact we are planning to better separate the individual packages in the software collection, we should not be keeping package-specific data in a directory shared by everybody. --- //[[bahren@astron.nl|Lars Bahren]] 2011/11/04 14:02//   * Moving contents of ''LOFARSOFT/data/lopes'' to ''src/CR-Tools/data'', as the files are used with the CR software only. Given the fact we are planning to better separate the individual packages in the software collection, we should not be keeping package-specific data in a directory shared by everybody. --- //[[bahren@astron.nl|Lars Bahren]] 2011/11/04 14:02//
  • Last modified: 2017-03-08 15:27
  • by 127.0.0.1