OpenSSL imported target.
Hi all,
I am not 100% confident I understood all the quirks between these target properties:
- IMPORTED_LOCATION: as I understand it, path to .dll or actual .so file (no symbolic link, full versioned file, such as abs_path/libQt5Core.so.5.6.1 or I would assume libssl.so.1.0.0)
- IMPORTED_IMPLIB: absolute path to .lib file (would not exist on linux?)
- IMPORTED_SONAME: on a unix system, name of the file the depending library should refer to: libQt5Core.so.5 or I would assume the binary compatible libssl.so.1.0.0 (can be tricky with older versions though given the Open SSL change of policy : https://www.openssl.org/docs/faq.html#MISC8)??
Of course there are variants for each configuration.
The findOpenSSL.cmake file does not follow this convention. It only defines an IMPORTED_LOCATION
property and uses a completely different scheme in different platforms:
- Linux: abs_path/libssl.so -> not the path to the file itself, just the path to the
IMPORTED_SONAME
location, the root of the symbolic links. (Not sure this would work with multiple installed versions of openssl by the way, but I couldn't check that part, I am sorry) - Windows: abspath/ssleay.lib, what I would expect to be the path to the dll, or the content
IMPORTED_IMPLIB
Am I wrong in my understanding of these properties or is the find script buggy? I shouldn't probably do that but I am using a combination of these properties to install imported targets along with my application, and open SSL breaks all my scripts. I would like to contribute a fix to findOpenSSL, but first I want to check my assumptions with you guys.
Thank you, Ben.