diff --git a/build.sh b/build.sh index 35ee9385f..8b4502334 100755 --- a/build.sh +++ b/build.sh @@ -37,8 +37,10 @@ usage() { INSTALL_PREFIX="${dir_root}/install" CMAKE_INSTALL_LIBDIR="lib" CMAKE_OPTS="" +BUILD_TYPE="${BUILD_TYPE:-"Release"}" BUILD_TARGET="${MACHINE_ID:-'localhost'}" -BUILD_VERBOSE="NO" +BUILD_JOBS="${BUILD_JOBS:-8}" +BUILD_VERBOSE="${BUILD_VERBOSE:-"NO"}" BUILD_TESTING="OFF" CLONE_JCSDADATA="NO" CLEAN_BUILD="NO" @@ -94,7 +96,13 @@ case ${BUILD_TARGET} in ;; esac -CMAKE_OPTS+=" -DCLONE_JCSDADATA=$CLONE_JCSDADATA -DMACHINE=$BUILD_TARGET -DBUILD_TESTING=$BUILD_TESTING" +CMAKE_OPTS+=" -DCLONE_JCSDADATA=$CLONE_JCSDADATA -DMACHINE=$BUILD_TARGET -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DBUILD_TESTING=$BUILD_TESTING" + +# Intel debug build for NCO +if [[ $BUILD_TYPE == "Debug" && $COMPILER == "intel" ]]; then + BUILD_VERBOSE="YES" + CMAKE_OPTS+=" -DCMAKE_TOOLCHAIN_FILE=${dir_root}/nco-debug.cmake" +fi # TODO: Remove LD_LIBRARY_PATH line as soon as permanent solution is available if [[ $BUILD_TARGET == 'wcoss2' ]]; then diff --git a/nco-debug.cmake b/nco-debug.cmake new file mode 100644 index 000000000..7be739695 --- /dev/null +++ b/nco-debug.cmake @@ -0,0 +1,3 @@ +set(CMAKE_Fortran_FLAGS "-ftrapuv -g -traceback -check all,noarg_temp_created ${CMAKE_Fortran_FLAGS}" CACHE STRING "Fortran flags" FORCE) +set(CMAKE_C_FLAGS "-ftrapuv -g -traceback -check=uninit ${CMAKE_C_FLAGS}" CACHE STRING "C flags" FORCE) +set(CMAKE_CXX_FLAGS "-ftrapuv -g -traceback -check=uninit ${CMAKE_CXX_FLAGS}" CACHE STRING "C++ flags" FORCE)