+ xo-userenv
This commit is contained in:
parent
2329d118c2
commit
81f59ed217
3 changed files with 141 additions and 1 deletions
41
README.md
41
README.md
|
|
@ -42,3 +42,44 @@ It doesn't interact with toplevel `CMakeLists.txt`.
|
|||
```
|
||||
$ nix-build -A xo-userenv
|
||||
```
|
||||
|
||||
This builds all xo subprojects, assembles sandbox under `./result`.
|
||||
|
||||
```
|
||||
$ tree -L 1 ./result
|
||||
./result
|
||||
├── bin
|
||||
│ ├── xo-build
|
||||
│ ├── xo-cmake-config
|
||||
│ └── xo-cmake-lcov-harness
|
||||
└── share
|
||||
├── cmake
|
||||
│ └── xo_macros
|
||||
│ ├── code-coverage.cmake
|
||||
│ ├── xo-project-macros.cmake
|
||||
│ └── xo_cxx.cmake
|
||||
├── etc
|
||||
│ └── xo
|
||||
│ └── subsystem-list
|
||||
└── xo-macros
|
||||
├── Doxyfile.in
|
||||
├── gen-ccov.in
|
||||
└── xo-bootstrap-macros.cmake
|
||||
```
|
||||
|
||||
## To add a new satellite repo
|
||||
|
||||
1. check clone in clean state (all local changes committed or unwound)
|
||||
|
||||
2. add satellite as remote
|
||||
|
||||
```
|
||||
$ git remote add xo-foo git@github.com:Rconybea/xo-foo.git
|
||||
$ git fetch xo-foo
|
||||
```
|
||||
|
||||
3. checkout satellite repo
|
||||
|
||||
```
|
||||
$ git subtree add --prefix=xo-foo main
|
||||
```
|
||||
|
|
|
|||
|
|
@ -78,7 +78,7 @@ let
|
|||
# xo-kalmanfilter = self.callPackage pkgs/xo-kalmanfilter.nix {};
|
||||
# xo-pykalmanfilter = self.callPackage pkgs/xo-pykalmanfilter.nix {};
|
||||
#
|
||||
# xo-userenv = self.callPackage pkgs/xo-userenv.nix {};
|
||||
xo-userenv = self.callPackage pkgs/xo-userenv.nix {};
|
||||
# xo-userenv-slow = self.callPackage pkgs/xo-userenv-slow.nix {};
|
||||
};
|
||||
|
||||
|
|
|
|||
99
pkgs/xo-userenv.nix
Normal file
99
pkgs/xo-userenv.nix
Normal file
|
|
@ -0,0 +1,99 @@
|
|||
# builds environment with all xo packages,
|
||||
# using combined output directory for each.
|
||||
#
|
||||
# parallels github actions build on stock ubuntu,
|
||||
# except that we use nixpkgs for toolchain
|
||||
#
|
||||
# For xo development, probably prefer xo-userenv.nix instead of this xo-userenv-slow.nix:
|
||||
# 1. xo-userenv.nix allows parallel build
|
||||
# 2. xo-userenv.nix only rebuilds xo packages that have changed
|
||||
|
||||
{
|
||||
# nixpkgs dependencies
|
||||
buildEnv,
|
||||
stdenv,
|
||||
cmake,
|
||||
catch2,
|
||||
eigen,
|
||||
libwebsockets,
|
||||
jsoncpp,
|
||||
doxygen,
|
||||
sphinx,
|
||||
python3Packages,
|
||||
|
||||
# xo dependencies
|
||||
xo-cmake,
|
||||
# xo-indentlog,
|
||||
# xo-subsys,
|
||||
# xo-refcnt,
|
||||
# xo-randomgen,
|
||||
# xo-ordinaltree,
|
||||
# xo-flatstring,
|
||||
# xo-reflectutil,
|
||||
# xo-ratio,
|
||||
# xo-unit,
|
||||
# xo-pyunit,
|
||||
# xo-pyutil,
|
||||
# xo-reflect,
|
||||
# xo-pyreflect,
|
||||
# xo-printjson,
|
||||
# xo-pyprintjson,
|
||||
# xo-callback,
|
||||
# xo-webutil,
|
||||
# xo-pywebutil,
|
||||
# xo-reactor,
|
||||
# xo-pyreactor,
|
||||
# xo-simulator,
|
||||
# xo-pysimulator, xo-distribution, xo-pydistribution, xo-process, xo-pyprocess, xo-statistics, xo-kalmanfilter,
|
||||
# xo-pykalmanfilter, xo-websock, xo-pywebsock, xo-tokenizer,
|
||||
# xo-expression, xo-pyexpression, xo-reader,
|
||||
# xo-jit,
|
||||
# xo-pyjit
|
||||
|
||||
# other args
|
||||
|
||||
# someconfigurationoption ? false
|
||||
} :
|
||||
|
||||
buildEnv {
|
||||
name = "xo-userenv";
|
||||
paths = [ xo-cmake
|
||||
# xo-indentlog
|
||||
# xo-refcnt
|
||||
# xo-subsys
|
||||
# xo-randomgen
|
||||
# xo-ordinaltree
|
||||
# xo-pyutil
|
||||
# xo-flatstring
|
||||
# xo-reflectutil
|
||||
# xo-reflect
|
||||
# xo-pyreflect
|
||||
# xo-ratio
|
||||
# xo-unit
|
||||
# xo-pyunit
|
||||
# xo-expression
|
||||
# xo-pyexpression
|
||||
# xo-tokenizer
|
||||
# xo-reader
|
||||
# xo-jit
|
||||
# xo-pyjit
|
||||
# xo-callback
|
||||
# xo-webutil
|
||||
# xo-pywebutil
|
||||
# xo-printjson
|
||||
# xo-pyprintjson
|
||||
# xo-reactor
|
||||
# xo-pyreactor
|
||||
# xo-websock
|
||||
# xo-pywebsock
|
||||
# xo-statistics
|
||||
# xo-distribution
|
||||
# xo-pydistribution
|
||||
# xo-simulator
|
||||
# xo-pysimulator
|
||||
# xo-process
|
||||
# xo-pyprocess
|
||||
# xo-kalmanfilter
|
||||
# xo-pykalmanfilter
|
||||
];
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue