Closed edwardhartnett closed 2 months ago
We have:
# write config.h message(STATUS "Write config.h") FILE(WRITE "wgrib2/config.h" "/* config.h generated by cmake */\n") FILE(APPEND "wgrib2/config.h" "#ifndef _CONFIG_H\n") FILE(APPEND "wgrib2/config.h" "#define _CONFIG_H\n") FOREACH(var IN ITEMS USE_NETCDF3 USE_NETCDF4 USE_HDF5 USE_REGEX USE_TIGGE USE_MYSQL USE_IPOLATES USE_UDF USE_OPENMP USE_PROJ4 USE_WMO_VALIDATION DISABLE_TIMEZONE DISABLE_ALARM USE_NAMES USE_G2CLIB USE_PNG USE_JASPER USE_OPENJPEG MAKE_FTN_API USE_AEC BUILD_COMMENTS) # FILE(APPEND "wgrib2/config.h" "#test ${var} ${${var}}\n") if(${var} STREQUAL ON) FILE(APPEND "wgrib2/config.h" "#define ${var}\n") elseif(${var} STREQUAL OFF) FILE(APPEND "wgrib2/config.h" "// #define ${var}\n") elseif(${${var}} MATCHES " ") FILE(APPEND "wgrib2/config.h" "#define ${var} \"${${var}}\"\n") else() FILE(APPEND "wgrib2/config.h" "#define ${var} ${${var}}\n") endif() ENDFOREACH() FILE(APPEND "wgrib2/config.h" "#define CC \"${CMAKE_C_COMPILER} ${CMAKE_C_COMPILER_ID}\"\n") FILE(APPEND "wgrib2/config.h" "#define FORTRAN \"${CMAKE_Fortran_COMPILER} ${CMAKE_Fortran_COMPILER_ID}\"\n") FILE(APPEND "wgrib2/config.h" "#define CPPFLAGS \"${CMAKE_C_FLAGS}\"\n") FILE(APPEND "wgrib2/config.h" "#define FFLAGS \"${CMAKE_Fortran_FLAGS}\"\n") FILE(APPEND "wgrib2/config.h" "#endif\n")
CMake already provides a way to do config.h files which works well and is easier than rolling our own.
We have:
CMake already provides a way to do config.h files which works well and is easier than rolling our own.