Loading .devcontainer/devcontainer.json 0 → 100644 +35 −0 Original line number Diff line number Diff line { "name": "Futility", "image": "savannah.ornl.gov/vera/vera-builder:latest", // Keep the container-side workspace consistent across platforms "workspaceFolder": "/workspaces/${localWorkspaceFolderBasename}", // Basic QoL for CMake projects "customizations": { "vscode": { "extensions": [ "ms-vscode.cmake-tools", "ms-vscode.cpptools", "fortran-lang.linter-gfortran", "fortran-lang.linter" ], "settings": { "cmake.sourceDirectory": "${workspaceFolder}", "cmake.buildDirectory": "${workspaceFolder}/build" } } }, "containerEnv": { "LD_LIBRARY_PATH": "/opt/vera_tpls/petsc-3.12.4/lib:/opt/vera_tpls/hdf5-1.10.11/lib:/opt/vera_tpls/lapack-3.5.0/lib:${containerEnv:LD_LIBRARY_PATH}", "LIBRARY_PATH": "/opt/vera_tpls/petsc-3.12.4/lib:/opt/vera_tpls/hdf5-1.10.11/lib:/opt/vera_tpls/lapack-3.5.0/lib:${containerEnv:LIBRARY_PATH}" }, // Don’t pretend you know their build options yet; just create a build dir "postCreateCommand": "mkdir -p build && echo 'Ready: configure with cmake -S . -B build <opts>'", // If your image is “dev” oriented, root is simplest cross-platform "remoteUser": "root" } No newline at end of file CMakePresets.json 0 → 100644 +108 −0 Original line number Diff line number Diff line { "version": 6, "cmakeMinimumRequired": { "major": 3, "minor": 21, "patch": 0 }, "configurePresets": [ { "name": "base", "hidden": true, "generator": "Unix Makefiles", "binaryDir": "${sourceDir}/build/${presetName}", "cacheVariables": { "Futility_ENABLE_DBC": "TRUE", "Futility_ENABLE_TESTS": "ON", "CMAKE_CXX_FLAGS": "-w", "Futility_ENABLE_OpenMP": "TRUE", "PYTHON_EXECUTABLE": "/usr/bin/python2" }, "environment": { "TPL_DIR": "/opt/vera_tpls", "PETSC_DIR": "/opt/vera_tpls/petsc-3.12.4", "HDF5_DIR": "/opt/vera_tpls/hdf5-1.10.11", "SILO_DIR": "/opt/vera_tpls/silo-4.10.2", "CMAKE_LIBRARY_PATH": "/opt/vera_tpls/petsc-3.12.4/lib;/opt/vera_tpls/lapack-3.5.0/lib;/opt/vera_tpls/hdf5-1.10.11/lib", "CMAKE_INCLUDE_PATH": "/opt/vera_tpls/petsc-3.12.4/include;/opt/vera_tpls/hdf5-1.10.11/include" } }, { "name": "serial-debug", "displayName": "Serial (Debug) — CI parity", "inherits": "base", "cacheVariables": { "CMAKE_BUILD_TYPE": "DEBUG", "TPL_ENABLE_MPI": "OFF", "TPL_ENABLE_PETSC": "OFF", "TPL_ENABLE_HDF5": "OFF", "TPL_ENABLE_BLAS": "ON", "BLAS_LIBRARY_DIRS": "/opt/vera_tpls/lapack-3.5.0/lib", "TPL_ENABLE_LAPACK": "ON", "LAPACK_LIBRARY_DIRS": "/opt/vera_tpls/lapack-3.5.0/lib", "CMAKE_C_COMPILER": "gcc", "CMAKE_CXX_COMPILER": "g++" } }, { "name": "mpi-debug", "displayName": "MPI (Debug) — CI parity", "inherits": "base", "cacheVariables": { "CMAKE_BUILD_TYPE": "DEBUG", "TPL_ENABLE_MPI": "ON", "TPL_ENABLE_PETSC": "ON", "TPL_ENABLE_HDF5": "ON", "TPL_ENABLE_BLAS": "ON", "BLAS_LIBRARY_DIRS": "/opt/vera_tpls/lapack-3.5.0/lib", "TPL_ENABLE_LAPACK": "ON", "LAPACK_LIBRARY_DIRS": "/opt/vera_tpls/lapack-3.5.0/lib", "HDF5_LIBRARY_DIRS": "/opt/vera_tpls/hdf5-1.10.11/lib", "HDF5_INCLUDE_DIRS": "/opt/vera_tpls/hdf5-1.10.11/include;/opt/vera_tpls/hdf5-1.10.11/include/shared;/opt/vera_tpls/hdf5-1.10.11/include/static", "TPL_HDF5_INCLUDE_DIRS": "/opt/vera_tpls/hdf5-1.10.11/include;/opt/vera_tpls/hdf5-1.10.11/include/shared;/opt/vera_tpls/hdf5-1.10.11/include/static", "HDF5_LIBRARY_NAMES": "hdf5;hdf5_cpp;hdf5_fortran;hdf5_hl;hdf5_hl_cpp;hdf5_hl_fortran;z", "PETSC_INCLUDE_DIRS": "/opt/vera_tpls/petsc-3.12.4/include", "PETSC_LIBRARY_DIRS": "/opt/vera_tpls/petsc-3.12.4/lib", "PETSC_LIBRARY_NAMES": "petsc", "Futility_SCALE_TEST_TIMEOUT": "3.00", "CMAKE_Fortran_COMPILER": "mpif90", "CMAKE_C_COMPILER": "mpicc", "CMAKE_CXX_COMPILER": "mpicxx" } } ], "buildPresets": [ { "name": "serial-debug", "configurePreset": "serial-debug", "jobs": 0 }, { "name": "mpi-debug", "configurePreset": "mpi-debug", "jobs": 0 } ], "testPresets": [ { "name": "serial", "displayName": "CTest (serial)", "configurePreset": "serial-debug", "execution": { "jobs": 4 }, "output": { "outputOnFailure": true } }, { "name": "mpi", "displayName": "CTest (mpi) — excludes CI-disabled tests", "configurePreset": "mpi-debug", "execution": { "jobs": 4 }, "output": { "outputOnFailure": true }, "filter": { "exclude": { "name": "COBRA_TFUtils|DataTransferKit" } } } ] } Loading
.devcontainer/devcontainer.json 0 → 100644 +35 −0 Original line number Diff line number Diff line { "name": "Futility", "image": "savannah.ornl.gov/vera/vera-builder:latest", // Keep the container-side workspace consistent across platforms "workspaceFolder": "/workspaces/${localWorkspaceFolderBasename}", // Basic QoL for CMake projects "customizations": { "vscode": { "extensions": [ "ms-vscode.cmake-tools", "ms-vscode.cpptools", "fortran-lang.linter-gfortran", "fortran-lang.linter" ], "settings": { "cmake.sourceDirectory": "${workspaceFolder}", "cmake.buildDirectory": "${workspaceFolder}/build" } } }, "containerEnv": { "LD_LIBRARY_PATH": "/opt/vera_tpls/petsc-3.12.4/lib:/opt/vera_tpls/hdf5-1.10.11/lib:/opt/vera_tpls/lapack-3.5.0/lib:${containerEnv:LD_LIBRARY_PATH}", "LIBRARY_PATH": "/opt/vera_tpls/petsc-3.12.4/lib:/opt/vera_tpls/hdf5-1.10.11/lib:/opt/vera_tpls/lapack-3.5.0/lib:${containerEnv:LIBRARY_PATH}" }, // Don’t pretend you know their build options yet; just create a build dir "postCreateCommand": "mkdir -p build && echo 'Ready: configure with cmake -S . -B build <opts>'", // If your image is “dev” oriented, root is simplest cross-platform "remoteUser": "root" } No newline at end of file
CMakePresets.json 0 → 100644 +108 −0 Original line number Diff line number Diff line { "version": 6, "cmakeMinimumRequired": { "major": 3, "minor": 21, "patch": 0 }, "configurePresets": [ { "name": "base", "hidden": true, "generator": "Unix Makefiles", "binaryDir": "${sourceDir}/build/${presetName}", "cacheVariables": { "Futility_ENABLE_DBC": "TRUE", "Futility_ENABLE_TESTS": "ON", "CMAKE_CXX_FLAGS": "-w", "Futility_ENABLE_OpenMP": "TRUE", "PYTHON_EXECUTABLE": "/usr/bin/python2" }, "environment": { "TPL_DIR": "/opt/vera_tpls", "PETSC_DIR": "/opt/vera_tpls/petsc-3.12.4", "HDF5_DIR": "/opt/vera_tpls/hdf5-1.10.11", "SILO_DIR": "/opt/vera_tpls/silo-4.10.2", "CMAKE_LIBRARY_PATH": "/opt/vera_tpls/petsc-3.12.4/lib;/opt/vera_tpls/lapack-3.5.0/lib;/opt/vera_tpls/hdf5-1.10.11/lib", "CMAKE_INCLUDE_PATH": "/opt/vera_tpls/petsc-3.12.4/include;/opt/vera_tpls/hdf5-1.10.11/include" } }, { "name": "serial-debug", "displayName": "Serial (Debug) — CI parity", "inherits": "base", "cacheVariables": { "CMAKE_BUILD_TYPE": "DEBUG", "TPL_ENABLE_MPI": "OFF", "TPL_ENABLE_PETSC": "OFF", "TPL_ENABLE_HDF5": "OFF", "TPL_ENABLE_BLAS": "ON", "BLAS_LIBRARY_DIRS": "/opt/vera_tpls/lapack-3.5.0/lib", "TPL_ENABLE_LAPACK": "ON", "LAPACK_LIBRARY_DIRS": "/opt/vera_tpls/lapack-3.5.0/lib", "CMAKE_C_COMPILER": "gcc", "CMAKE_CXX_COMPILER": "g++" } }, { "name": "mpi-debug", "displayName": "MPI (Debug) — CI parity", "inherits": "base", "cacheVariables": { "CMAKE_BUILD_TYPE": "DEBUG", "TPL_ENABLE_MPI": "ON", "TPL_ENABLE_PETSC": "ON", "TPL_ENABLE_HDF5": "ON", "TPL_ENABLE_BLAS": "ON", "BLAS_LIBRARY_DIRS": "/opt/vera_tpls/lapack-3.5.0/lib", "TPL_ENABLE_LAPACK": "ON", "LAPACK_LIBRARY_DIRS": "/opt/vera_tpls/lapack-3.5.0/lib", "HDF5_LIBRARY_DIRS": "/opt/vera_tpls/hdf5-1.10.11/lib", "HDF5_INCLUDE_DIRS": "/opt/vera_tpls/hdf5-1.10.11/include;/opt/vera_tpls/hdf5-1.10.11/include/shared;/opt/vera_tpls/hdf5-1.10.11/include/static", "TPL_HDF5_INCLUDE_DIRS": "/opt/vera_tpls/hdf5-1.10.11/include;/opt/vera_tpls/hdf5-1.10.11/include/shared;/opt/vera_tpls/hdf5-1.10.11/include/static", "HDF5_LIBRARY_NAMES": "hdf5;hdf5_cpp;hdf5_fortran;hdf5_hl;hdf5_hl_cpp;hdf5_hl_fortran;z", "PETSC_INCLUDE_DIRS": "/opt/vera_tpls/petsc-3.12.4/include", "PETSC_LIBRARY_DIRS": "/opt/vera_tpls/petsc-3.12.4/lib", "PETSC_LIBRARY_NAMES": "petsc", "Futility_SCALE_TEST_TIMEOUT": "3.00", "CMAKE_Fortran_COMPILER": "mpif90", "CMAKE_C_COMPILER": "mpicc", "CMAKE_CXX_COMPILER": "mpicxx" } } ], "buildPresets": [ { "name": "serial-debug", "configurePreset": "serial-debug", "jobs": 0 }, { "name": "mpi-debug", "configurePreset": "mpi-debug", "jobs": 0 } ], "testPresets": [ { "name": "serial", "displayName": "CTest (serial)", "configurePreset": "serial-debug", "execution": { "jobs": 4 }, "output": { "outputOnFailure": true } }, { "name": "mpi", "displayName": "CTest (mpi) — excludes CI-disabled tests", "configurePreset": "mpi-debug", "execution": { "jobs": 4 }, "output": { "outputOnFailure": true }, "filter": { "exclude": { "name": "COBRA_TFUtils|DataTransferKit" } } } ] }