Proper way to package a library that is not cmakefied into the extension

Dear Slicer developers,

i have a question regarding the extension packaging.
Currently i have an external added library in my extension, the external added library is not cmakefied.
Basically i just download the library and header file and linked to my extension.
For the cmakefied projects, we use CPACK_INSTALL_CMAKE_PROJECTS to add the library into the package.
What about the non-cmakefied library, are there any variable i could set to include the library into the package?
Your suggestions are appreciated!

Best,
Longquan

never mind.
I think the OpenSSL library in Slicer seems to be a good example to look into. :slight_smile:

For only one platform (assuming Windows), you could either use add_custom_command, or use ExternalProject which can run arbitrary commands. For multiple platforms it will get a little tricky because you have to do everything in cmake, and need to handle extension and package layout differences.

Hi Isaiah,

Thanks for your suggestion.
I am looking into the file:
I think they are using exactly the same method as you mentioned!
Just test the installation, it is working for Mac OS!
Still need to fix a lot of things for other platform.
Best,
Longquan

1 Like