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:08] – 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__: | + | * __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 35: | 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 '' | ||
\\ | \\ |