Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
| public:user_software:reorganization_of_the_software_collection [2011-11-04 11:07] – Lars Bahren | public:user_software:reorganization_of_the_software_collection [2017-03-08 15:27] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 7: | Line 7: | ||
| - [[# | - [[# | ||
| - [[#Summary of current status]] | - [[#Summary of current status]] | ||
| + | - [[# | ||
| + | - [[# | ||
| ==== References ==== | ==== References ==== | ||
| * [[http:// | * [[http:// | ||
| + | * [[http:// | ||
| ==== Summary of current status ==== | ==== Summary of current status ==== | ||
| Line 19: | Line 22: | ||
| **Transients**: | **Transients**: | ||
| + | * __Contact__: | ||
| * They are not using the LUS repository or the build system. They are doing all their development and building/ | * They are not using the LUS repository or the build system. They are doing all their development and building/ | ||
| * There is ample CMake experience in the group. | * There is ample CMake experience in the group. | ||
| **Pulsar**: | **Pulsar**: | ||
| + | * __Contact__: | ||
| * They use the LUS repository for code maintenance/ | * They use the LUS repository for code maintenance/ | ||
| * To build it all takes a long time (especially first time), and improvements can be made; certain depencies do not have to build all the time. | * To build it all takes a long time (especially first time), and improvements can be made; certain depencies do not have to build all the time. | ||
| Line 28: | Line 33: | ||
| **CR-Tools**: | **CR-Tools**: | ||
| - | * //Contact//: Frank Schroeder, Daniel Huber, Katrin Link (KIT); Pim Schellart, Martin van den Akker (RUN) | + | * __Contact__: Frank Schroeder, Daniel Huber, Katrin Link (KIT); Pim Schellart, Martin van den Akker (RUN) |
| * All software is developed in and committed to the LUS repository. | * All software is developed in and committed to the LUS repository. | ||
| * They use the LUS build system. Installing the entire package is sometimes problematic on new systems (not all dependiences are detected properly). | * They use the LUS build system. Installing the entire package is sometimes problematic on new systems (not all dependiences are detected properly). | ||
| Line 34: | Line 39: | ||
| * Pim and Martin are up to speed in CMake | * Pim and Martin are up to speed in CMake | ||
| - | RM Synthesis: | + | **RM Synthesis**: |
| * Small package, but development and build has been taken out of LUS; Build time too large which didn't work for them! They intend to keep the code separated. | * Small package, but development and build has been taken out of LUS; Build time too large which didn't work for them! They intend to keep the code separated. | ||
| * 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 ==== | ||
| + | |||
| + | * 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}/ | ||
| + | ## | ||
| + | ## Package is part of the current code tree | ||
| + | ## | ||
| + | ExternalProject_Add (rm | ||
| + | PREFIX ${CMAKE_CURRENT_BINARY_DIR}/ | ||
| + | DOWNLOAD_DIR download | ||
| + | SOURCE_DIR source | ||
| + | URL ${CMAKE_CURRENT_SOURCE_DIR}/ | ||
| + | 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}/ | ||
| + | ## | ||
| + | ## Package is not part of current code tree - fetch sources from repository | ||
| + | ## | ||
| + | ExternalProject_Add (rm | ||
| + | PREFIX ${CMAKE_CURRENT_BINARY_DIR}/ | ||
| + | DOWNLOAD_DIR download | ||
| + | SOURCE_DIR source | ||
| + | SVN_REPOSITORY http:// | ||
| + | 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}/ | ||
| + | </ | ||
| + | * Merged contents of '' | ||
| + | * Moving contents of '' | ||
| \\ | \\ | ||