You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Better logging, improved auto_veto, and mapped_types
- Add experimental mapped_types option;
- Add logging message providing information on why STL was applied on a type;
- Make autoveto take into consideration the vetoed argument and return types;
- Add list of autovetoed function to the report
The goal of this project is the automatization of the generation of [Julia](https://julialang.org) bindings for C++ libraries.
6
6
7
7
The WrapIt! tool complements the [CxxWrap.jl](https://github.com/JuliaInterop/CxxWrap.jl) package. It generates automatically the c++ wrapper code needed by CxxWrap.jl from the c++ header files of the library to wrap.
8
8
9
9
Support of generation of code in multiple files (now the default) to reduce time and memory needs for compilation in case of large project. See `n_classes_per_file` in [config.md](../doc/config.md).
10
10
11
-
🆕 Installation using the Julia package manager and execution of the tool from the Julia REPL: [WrapIt.jl](https://github.com/grasph/WrapIt.jl/).
11
+
💡Installation using the Julia package manager and execution of the tool from the Julia REPL: [WrapIt.jl](https://github.com/grasph/WrapIt.jl/).
12
12
13
13
## Usage
14
14
@@ -40,11 +40,14 @@ An alternative to the installation of the pre-built executable is to build it fr
40
40
#### Dependencies:
41
41
42
42
* Software to be present on the system before running `cmake`:
43
-
* libclang: packages `clang-13` and `libclang-13-dev` on Debian
44
-
* libclang: packages `llvm`, `llvm-devel`, `clang`, `clang-devel` on Alma/Rocky/RHEL
45
-
*On MacOS, you can install `llvm/clang` with brew running the command `brew install llvm`from a terminal
43
+
* libclang release 13¹: packages `clang-13` and `libclang-13-dev` on Debian.
*_If release 13 is not available for the linux distribution version of yoursystem, you can use the option `-DLLVM_BUILD` to build LLVM and Clang from the source code, that will be automatically downloaded from the LLVM project github repository._
46
46
* Software will be downloaded by the `cmake` command:
*[llvm/clang](https://github.com/llvm/llvm-project/releases/) if the option `-DBUILD_LLVM=ON` is used.
49
+
50
+
¹ WrapIt is not guaranteed to generate correct code with higher versions of clang. Version 16 is known to give issues. The symptom is function wrappers declared with some argument or the return type as `int` while it if of another type.
On OS X it is necessary to add the prefix of the clang/llvm installation, `-DCMAKE_PREFIX_PATH=/opt/homebrew/Cellar/llvm/LLVM_VERSION`
62
+
On OS X it is necessary to add the prefix of the clang/llvm installation, `-DCMAKE_PREFIX_PATH=<path>` or use the `-DBUILD_LLVM=ON` to download and build LLVM and clang. Dep
60
63
61
-
The build process will produce the `wrapit` executable. Install it with `cmake --build . --target install`.
64
+
The build process will produce the `wrapit` executable. Install it with `cmake --install .`.
0 commit comments