-
-
Notifications
You must be signed in to change notification settings - Fork 198
Add create_library function
#490
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
| mkpath(include_dir) | ||
|
|
||
| for header_file in header_files | ||
| new_file = joinpath(include_dir, basename(header_file)) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This assumes all header files are at the top level. For basic use cases, this is probably fine, but it might be good to allow paths relative to the top level include. Not sure of the best way to do this...
Codecov Report
@@ Coverage Diff @@
## master #490 +/- ##
==========================================
- Coverage 83.03% 80.29% -2.74%
==========================================
Files 2 2
Lines 395 467 +72
==========================================
+ Hits 328 375 +47
- Misses 67 92 +25
Continue to review full report at Codecov.
|
8b6235f to
8943e20
Compare
|
Status: based on the PR to @simonbyrne's libcg, this seems to be working on Linux and OSX fine in Julia v1.5. For Windows, the PATH needs to be set, and I'm not quite sure of the right incantation in the Julia v1.6 can't be tested in CI yet because of this bug, but Also needs docs (I've started), and tests. As above, the companion PR in libcg is simonbyrne/libcg#18. |
|
@kmsquire FYI master now includes CI for the 1.6 beta1, if you wanted to rebase |
c64a858 to
ef5a5e3
Compare
e1ca58b to
3edaa28
Compare
6c138fe to
c90d374
Compare
* This lets it propagate to binaries that link to it.
* Similar to `create_app`, this function facilitates the creation of C shared library bundles using Julia. * As with apps, it generates a directory tree with required shared libraries and artifacts. * In contrast with apps, the julia system image is the main artifact generated, and its name should be set to the expected name of the library you're creating. * One downside of this implementation is that any binaries linking to this shared library may need help finding it at runtime. The methods for doing so are system dependent.
c90d374 to
aebc191
Compare
d8c81c2 to
25b2951
Compare
25b2951 to
e91a8ee
Compare
Byrth
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just got interested in the PR and skimmed it. Nice work!
* `current_version` is used to set the .so/.dylib version (ignored on Windows) * `compatibility_version` is used to set the `compatibility_version` on Apple platforms (ignored on other platforms)
* Makes it easier to identify problems in CI
* This facilitates the installation of shared libraries into standard unix paths.
91aa2a3 to
c992bb3
Compare
create_library functioncreate_library function
create_app, this function facilitates the creation ofC shared library bundles using Julia.
libraries and artifacts.
generated, and its name should be set to the expected name of
the library you're creating.
to this shared library may need help finding it at runtime. The
methods for doing so are system dependent.
Probably fixes #257, #350, #392.
Still needs documentation (at least). There is a bit of explanation in the function docs for
create_librarythat should probably be moved elsewhere.Companion MR in simonbyrne/libcg#18
Cc: @simonbyrne