nix-icon-charm/derivation.nix

49 lines
954 B
Nix

{ pkgs
, lib
, stdenvNoCC
, cxx ? pkgs.gfortran12
, cc ? pkgs.gfortran12
, f77 ? pkgs.gfortran12
, cmake
, python39
, python39Packages
, gtest
, src ? { outPath = ./../icon-charm; }
, cIfaceSupport ? false
, fortranIfaceSupport ? false
}:
stdenvNoCC.mkDerivation {
pname = "icon-charm";
version = "develop";
inherit src;
nativeBuildInputs = [
cmake
cxx
cc
f77
python39
python39Packages.jinja2
gtest
];
cmakeFlags = [
"-DCMAKE_CXX_COMPILER=${cxx}/bin/c++"
"-DCMAKE_C_COMPILER=${cc}/bin/cc"
"-DCMAKE_FORTRAN_COMPILER=${f77}/bin/f77"
] ++ lib.optional (cIfaceSupport && !fortranIfaceSupport) [
"-DMM_ENABLE_C=ON"
] ++ lib.optional fortranIfaceSupport [
"-DMM_ENABLE_C=ON"
"-DMM_ENABLE_FORTRAN=ON"
] ++ lib.optional (!fortranIfaceSupport) [
"-DMM_ENABLE_FORTRAN=OFF"
] ++ lib.optional (!cIfaceSupport && !fortranIfaceSupport) [
"-DMM_ENABLE_C=OFF"
];
doCheck = true;
}