-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathflake.nix
More file actions
100 lines (85 loc) · 2.44 KB
/
flake.nix
File metadata and controls
100 lines (85 loc) · 2.44 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
{
inputs = {
nixpkgs.url = "nixpkgs/nixos-unstable";
utils.url = "github:numtide/flake-utils";
commonroad-cmake = {
url = "git+https://gitlab.lrz.de/tum-cps/commonroad-cmake.git?ref=main";
flake = false;
};
};
outputs =
{ self
, nixpkgs
, ...
} @ inputs:
let
supportedSystems = [
"x86_64-linux"
"i686-linux"
"aarch64-linux"
"x86_64-darwin"
];
in
inputs.utils.lib.eachSystem supportedSystems (system:
let
pkgs = import nixpkgs {
inherit system;
};
in
rec {
formatter = pkgs.nixpkgs-fmt;
packages = rec {
inherit
(pkgs.callPackages ./commonroad_deps.nix { })
commonroad_vehicle_models
commonroad_io
;
environment-model = pkgs.callPackage ./default.nix {
inherit (inputs) commonroad-cmake;
boost = pkgs.boost187;
# enableSanitizers = true;
inherit commonroad_io;
};
environment-model-python =
let
pythonPkgs = pkgs.python3Packages;
in
environment-model.override {
enablePython = true;
enableDocs = false;
pythonPackages = pythonPkgs;
enableSanitizers = false;
};
default = environment-model;
};
devShells = {
default = pkgs.mkShell {
inputsFrom = [ packages.environment-model ];
packages = with pkgs; [
doxygen
python312Packages.pip
cmake
ninja
clang-tools
graphviz
];
};
mkdoxy = pkgs.mkShell {
buildInputs = with pkgs; [ mkdoxy ];
};
clangd = pkgs.mkShell {
inputsFrom = [ packages.environment-model.override { stdenv = pkgs.clang14Stdenv; } ];
packages = with pkgs; [ clang-tools_14 llvmPackages_14.openmp ];
shellHook = ''
export CC=${pkgs.clang14Stdenv.cc}/bin/clang
export CXX=${pkgs.clang14Stdenv.cc}/bin/clang++
mkdir -p .build-clangd-compile-commands
cd .build-clangd-compile-commands
cmake --fresh -DCMAKE_EXPORT_COMPILE_COMMANDS=ON ${pkgs.lib.concatStringsSep " " packages.environment-model.cmakeFetchContentFlags} ..
cd ..
ln -sf .build-clangd-compile-commands/compile_commands.json .
'';
};
};
});
}