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-03 16:35] – Lars Bahren | public:user_software:reorganization_of_the_software_collection [2017-03-08 15:27] (current) – external edit 127.0.0.1 | ||
---|---|---|---|
Line 2: | Line 2: | ||
====== User Software :: Reorganization of the software collection ====== | ====== User Software :: Reorganization of the software collection ====== | ||
+ | |||
+ | __TOC:__ | ||
+ | |||
+ | - [[# | ||
+ | - [[#Summary of current status]] | ||
+ | - [[# | ||
+ | - [[# | ||
==== References ==== | ==== References ==== | ||
* [[http:// | * [[http:// | ||
+ | * [[http:// | ||
==== Summary of current status ==== | ==== Summary of current status ==== | ||
- | Surveys: | + | **Surveys**: |
* Software changes are checked into the LUS repository, but they are not using the LUS build system to create running programs, as they are having difficulties with building part of teh software in LUS. | * Software changes are checked into the LUS repository, but they are not using the LUS build system to create running programs, as they are having difficulties with building part of teh software in LUS. | ||
* There is little CMake experience in their group. | * There is little CMake experience in their group. | ||
- | 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. | ||
* They do not have much CMake experience. | * They do not have much CMake experience. | ||
- | CR tools: | + | **CR-Tools**: |
+ | * __Contact__: | ||
* 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 28: | 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. | ||
- | ==== List of tasks ==== | + | ==== 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. | ||
- | - Get usage profile for CR-Tools | + | ==== Changelog ==== |
- | - Get usage profile for pyCRTools | + | |
- | - Get usage profile for RM tools | + | |
- | - Get usage profile for Pulsar tools | + | |
- | - Get usage profile for Anaamika | + | |
+ | * 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 '' | ||
\\ | \\ |