WPS
WPS copied to clipboard
CMake Build
TYPE: new feature
KEYWORDS: CMake, build, make
SOURCE: internal
DESCRIPTION OF CHANGES: Problem: Current WPS build system has similar complexity issues to the WRF build system, but also is tightly coupled to the WRF build system relying on specific object files directly instead of a library.
Solution: A redesign of the build system from the ground up, maintaining the interfacing feel and knowledge accumulated in arch/configure.defaults. This will be a work in progress as gaps are identified in reproducing the full functionality of the makefile build system. Additionally removes the strong coupling of object files coming from WRF, and instead relies on static libraries
LIST OF MODIFIED FILES: A arch/configure_reader.py A cleanCMake.sh A cmake/modules/FindJasper.cmake A cmake/modules/FindnetCDF-Fortran.cmake A cmake/modules/FindnetCDF.cmake A cmake/README A cmake/template/arch_config.cmake A cmake/template/WPSConfig.cmake.in A cmake/wrf_case_setup.cmake A cmake/wrf_get_version.cmake A CMakeLists.txt A compile_new A configure_new A external/CMakeLists.txt A geogrid/CMakeLists.txt A geogrid/src/CMakeLists.txt A metgrid/CMakeLists.txt A metgrid/src/CMakeLists.txt A ungrib/CMakeLists.txt A ungrib/src/CMakeLists.txt A ungrib/src/ngl/CMakeLists.txt A ungrib/src/ngl/g2/CMakeLists.txt A ungrib/src/ngl/w3/CMakeLists.txt A util/CMakeLists.txt A util/src/CMakeLists.txt M .gitignore M arch/configure.defaults M external/.gitignore M README
TESTS CONDUCTED:
- In various instances this build is faster and more reliable with meaningful diagnostics when errors occur RELEASE NOTE: Introduction of a CMake build system