WPS icon indicating copy to clipboard operation
WPS copied to clipboard

CMake Build

Open islas opened this issue 1 year ago • 2 comments

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:

  1. In various instances this build is faster and more reliable with meaningful diagnostics when errors occur RELEASE NOTE: Introduction of a CMake build system

islas avatar Jul 08 '23 00:07 islas