README: formatting + example
This commit is contained in:
parent
a467f151bc
commit
415c81b181
1 changed files with 32 additions and 6 deletions
38
README.md
38
README.md
|
|
@ -1,26 +1,52 @@
|
|||
# python bindings for c++ reflection library (xo-reflect)
|
||||
|
||||
### build + install
|
||||
## build + install
|
||||
```
|
||||
$ cd xo-pyreflect
|
||||
$ mkdir build
|
||||
$ cd build
|
||||
$ INSTALL_PREFIX=/usr/local # or wherever you prefer, e.g. ~/local
|
||||
$ cmake -DCMAKE_MODULE_PATH=${INSTALL_PREFIX}/share/cmake -DCMAKE_PREFIX_PATH=${INSTALL_PREFIX} -DCMAKE_INSTALL_PREFIX=${INSTALL_PREFIX} ..
|
||||
$ cmake \
|
||||
-DCMAKE_MODULE_PATH=${INSTALL_PREFIX}/share/cmake \
|
||||
-DCMAKE_PREFIX_PATH=${INSTALL_PREFIX} \
|
||||
-DCMAKE_INSTALL_PREFIX=${INSTALL_PREFIX} ..
|
||||
$ make
|
||||
$ make install
|
||||
```
|
||||
|
||||
### build for unit test coverage
|
||||
## build for unit test coverage
|
||||
```
|
||||
$ cd xo-pyreflect
|
||||
$ mkdir build-ccov
|
||||
$ cd build-ccov
|
||||
$ cmake -DCMAKE_MODULE_PATH=${INSTALL_PREFIX}/share/cmake -DCMAKE_PREFIX_PATH=${INSTALL_PREFIX} -DCODE_COVERAGE=ON -DCMAKE_BUILD_TYPE=Debug ..
|
||||
$ cmake \
|
||||
-DCMAKE_MODULE_PATH=${INSTALL_PREFIX}/share/cmake \
|
||||
-DCMAKE_PREFIX_PATH=${INSTALL_PREFIX} \
|
||||
-DCODE_COVERAGE=ON \
|
||||
-DCMAKE_BUILD_TYPE=Debug ..
|
||||
```
|
||||
|
||||
### LSP support
|
||||
## LSP (language server) support
|
||||
|
||||
LSP looks for compile commands in the root of the source tree;
|
||||
while Cmake creates them in the root of its build directory.
|
||||
|
||||
```
|
||||
$ cd xo-pyreflect
|
||||
$ ln -s build/compile_commands.json # lsp will look for compile_commands.json in the root of the source tree
|
||||
$ ln -s build/compile_commands.json # supply compile commands to LSP
|
||||
```
|
||||
|
||||
## Examples
|
||||
|
||||
Assumes `xo-pyreflect` installed to `~/local2/lib`
|
||||
|
||||
```
|
||||
PYTHONPATH=~/local2/lib python
|
||||
>>> import pyreflect
|
||||
>>> dir(pyreflect)
|
||||
['SelfTagging', 'TaggedRcptr', 'TypeDescr', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__']
|
||||
>>> pyreflect.TypeDescr.print_reflected_types()
|
||||
<type_table_v[0]:>
|
||||
```
|
||||
|
||||
Not /immediately/ interesting: no reflected types in `pyreflect` itself
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue