I’ve developed a package that is a bit heavy to load, so I compiled a sysimage using
PackageCompiler to get a faster load time.
As I work on a windows system, this gets me a
In order to track the metadata associated with this dll (julia version, my package’s version etc) I’m currently using a side text file that contains such metadata.
However, windows dlls can have so-called resource information to store version information and other details. See e.g.
windows - How do I set the version information for an existing .exe, .dll? - Stack Overflow.
I’m wondering if there is an easy way to pass these information to
PackageCompiler directly (which would be the cleanest way IMO), or to use julia to edit them after the compilation is done ?
It seems that it is possible to provide a version number for linux/apple systems (but not for windows dlls) in
- `version::VersionNumber`: Library version number. Added to the sysimg `.so` name
on Linux, and the `.dylib` name on Apple platforms, and with `compat_level`, used to
determine and set the `current_version`, `compatibility_version` (on Apple) and
`soname` (on Linux/UNIX)
Passing attributes / properties to compiled library does not seem to be feasible though.
Side note : some tools provide de functionality I’m interested in (e.g.
GitHub - electron/rcedit: Command line tool to edit resources of exe, I can’t compile this one though), I wonder if this could be integrated into a package using a wrapper, but I have no experience with C / C++.