JuliaInterop / CxxWrap.jl

Package to make C++ libraries available in Julia
Other
418 stars 67 forks source link

0.4 release #56

Closed barche closed 7 years ago

barche commented 7 years ago

Tracking issue for the 0.4 release, which should include splitting off the C++ part to a different repo. See also the discussion at https://github.com/QuantStack/xtensor-julia/pull/40

SylvainCorlay commented 7 years ago

Do you want to make the split before or after the release? Making CxxWrap installable from cmake is kinda orthogonal to the possibility of a repo aplit.

barche commented 7 years ago

I want to make sure the split can be done in a backwards-compatible way, so we don't have to make an 0.5 just to do the split. So all files should be in the correct place (I think this is already the case, but I'm moving the examples now to a subdir of deps/src/cxx_wrap.

barche commented 7 years ago

Maybe as you suggested some additional renaming could be done, I don't like the underscore in cxx_wrap, so we could rename the namespace and target to cxxwrap. I prefer lowercase for C++ namespaces, but the Julia module should remain CxxWrap since there camelcase is the norm. CC @jstrube since this will affect LCIO as well.

SylvainCorlay commented 7 years ago

That could be "xwrap". Everything we do starts with an "x". 😄

From a c++ package standpoint it could make sense for the name to have "julia" in it.

jstrube commented 7 years ago

I have no opinion on this matter. Feel free to do the renaming. Thanks for alerting me to this issue, though.

barche commented 7 years ago

@SylvainCorlay Inspired by pybind11, what about jlbind?

SylvainCorlay commented 7 years ago

It would make sense IMO. (Also for pybind11 to be renamed to pybind!)

barche commented 7 years ago

another possibility: jlplus or juliaplus?

SylvainCorlay commented 7 years ago

another possibility: jlplus or juliaplus?

meh... not convinced. I like jlbind!

On the R side, there is Rcpp, so jlcpp could do it too :)

barche commented 7 years ago

Or jlcxx then to be coherent with CxxWrap for the Julia side.

SylvainCorlay commented 7 years ago

jlcxx / cxxjl or jlwrap / cxxwrap would be symetrical :)

barche commented 7 years ago

OK, I think I'm going to go for jlcxx, it is consistent with the Julia convention of referring to C++ using Cxx and makes for a clearer link to CxxWrap than jlbind.

barche commented 7 years ago

Other than the above rename, I'm also in the process of switching back the CMakeLists.txt to use namespaces and imported targets, this makes it much easier to use jlcxx (you don't need to manually add julia includes in projects using jlcxx, for example)

SylvainCorlay commented 7 years ago

Other than the above rename, I'm also in the process of switching back the CMakeLists.txt to use namespaces and imported targets, this makes it much easier to use jlcxx (you don't need to manually add julia includes in projects using jlcxx, for example)

You may want to ping @johanmabille in your PR. He has been doing this sort of thing in projects we work on together.

SylvainCorlay commented 7 years ago

Since CxxWrap only depends on Julia, I think that it is reasonable to keep the current mechanism.

Using imported targets is more interesting when you have many second-order dependencies.

SylvainCorlay commented 7 years ago

Thanks for tagging the release!

SylvainCorlay commented 7 years ago

Hey, did you publish the new version on the julia package index?

barche commented 7 years ago

Yes, as you have seen in the mean time ;) FYI, this is automatic using AttoBot and AppVeyor automatically adds the Windows binaries to the github release.