49 lines
954 B
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;
|
|
}
|