Comments (3)
Hi @RUrlus. Thanks for looking into this. A pip-installeable version would definitely be ideal, if possible.
That being said, I actually had not heard of ci-buildwheels and did not consider the use of CI's to automate package (wheel) building and distribution. Thanks for the tip!
from carma.
Hi @peekxc,
Yes CARMA is currently tied to CMake, however, you could install it your system library using CMake, which will create a default config.h
, and then use your preferred build system:
cmake ..
cmake --build . --target install
A downside of this approach is that you will need to make sure that CARMA is always included before Armadillo.
There is no easy way around this, ARMA_ALIEN_MEM_*
need to be set before including Armadillo. The CMake target handles by pre-compiling the required header. Hence, the recommendation to use the CMake build.
Regarding Python, I would advise to ship CARMA in the tar and use something like ci-buildwheels to create wheels for the various platforms. Pybind11 documentation has various examples on how to integrate CMake build in setup.py
CARMA is currently missing the required files for find_package
but I will pick that up.
I am open to a PR for pkgconfig or something similar
from carma.
@peekxc I had a look today and I see some ways to improve usability.
I included a default config.h
so it header-only independent of CMake.
I am working on a better CMake installation and targets, provide it as a pip package like Pybind11.
I am not familiar with pkgconfig but if it's not too much work I'll include that as well.
from carma.
Related Issues (20)
- Undefined symbols during packaging HOT 4
- `cibuildwheel` manylinux build issue HOT 12
- `carma` changes install location based on installation status HOT 3
- Segmentation Fault on Carma Example code HOT 3
- Carma seem to not support fixed size matrices HOT 1
- LICENSE Question HOT 2
- Is there a way to use carma from source? HOT 5
- CARMA does not correctly borrow the array when used with pybind11 trampoline classes, resulting in referencing garbage collected memory HOT 7
- Citation(s)? HOT 1
- Definition of `ssize_t` in `headers\carma\include\carma(28)` causes CI issue on Windows HOT 4
- CMake Error _add_library cannot create target "armadillo" because an imported target with the same name already exists HOT 3
- Weird (?) behavior with arrays, especially with arrays created via `np.ones` HOT 8
- new release? HOT 3
- NumPy 2.0 support HOT 9
- clangd can't find carma correctly. HOT 2
- Exception handling broken when linking to carma for Windows+Clang HOT 10
- Crash when assigning one matrix to another HOT 2
- is `cmake v3.16` necessary? HOT 7
- Repo does not pass flake8 HOT 2
- Possible to call `arr_to_mat<float>`? HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from carma.