Skip to content
Snippets Groups Projects
Unverified Commit 81096351 authored by Thorsten Hater's avatar Thorsten Hater Committed by GitHub
Browse files

Add a plethora of config options to a-b-c. (#1958)

Closes #1861 
Closes #1783 

- arbor-build-catalogue (a-b-c) does no longer need to be in a fixed location
- nor do we statically fix the configuration for a-b-c
- instead, we rely on `arbor.config` to read the relevant default values
- each value can be overriden, if desired
- added many more values to the configuration
  - gpu type and arch
  - paths and prefix 
  - CXX
- report default settings for better diagnosis
- implement a fallback for prefix if that does not exist; in particular for the amazing skbuild.

In essence you can now use a-b-c as a standalone tool, as long as you have a properly 
configured py-arbor.

Example output after removing `_skbuild`
```
Warning: prefix '/Users/hater/src/arbor/_skbuild/macosx-11.0-x86_64-3.10/cmake-install' does not exist, falling back to '/Users/hater/src/arbor/.direnv/python-3.10.6'.
usage: arbor-build-catalogue catalogue_name mod_source_dir

Generate dynamic catalogue and build it into a shared object.

positional arguments:
  name              Catalogue name.
  modpfx            Directory name where *.mod files live.

options:
  --raw raw [raw ...]
                    Advanced: Raw mechanisms as C++ files. Per <name> the files <name>.hpp, <name>_cpu.cpp (if CPU
                    is enabled) must be present in the target directory and with GPU support also <name>_gpu.cpp and
                    <name>_gpu.cu.
  -v, --verbose     Verbose.
  -q, --quiet       Less output.
  --cpu CPU         Enable CPU support.
  --debug [path]    Don't clean up the generated temp cpp code. Can be a target path for the generated code.
  --gpu gpu         Enable GPU support
  --gpu-arch gpu_arch
                    Enable GPU support; default=-
  --cxx cxx         Use this C++ compiler; default=/usr/local/opt/llvm/bin/clang++.
  --prefix prefix   Arbor's install prefix; default=/Users/hater/src/arbor/.direnv/python-3.10.6.
  --bin bin         Look here for Arbor utils like modcc; relative to prefix, default=bin.
  --lib lib         Look here for Arbor's CMake config; relative to prefix, default=lib.
  --data data       Look here for Arbor supplementals like generate_catalogue; relative to prefix, default=lib
  -h, --help        Display this help and exit.
```
parent 2ae3516d
No related branches found
No related tags found
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment