Dear Rony,

I have just reinstalled a Mac with a completely clean Mojave Setup (to avoid 
old file ownerships etc to linger on etc) and am attacking exactly this 
question. If you can bear with me a couple of days I will report what I have 
found out. With the latest changes & the daemon-free installation things have 
gotten much less complex. But I need some time to be completely sure on what I 
have in mind, ok?

Hälsningar/Regards/Grüsse,
P.O. Jonsson
oor...@jonases.se




> Am 01.01.2019 um 21:39 schrieb Rony G. Flatscher <rony.flatsc...@wu.ac.at>:
> 
> Currently on Unix there are "lib*.5.0.0.dylib" (Apple) or "lib*.so.5.0.0" 
> (Linux) shared libraries created where "*" stands for "hostemu", 
> "orxncurses", "rexx", "rexxapi", "rexxutil", "rxmath", "rxregexp", "rxsock", 
> "rxunixsys". 
> In addition there are symbolic links created in the form of "lib*.dylib" or 
> "lib*.so" pointing to the "5.0.0" shared libraries. An example with "hostemu" 
> shared libraries would be:
> 
> Apple: libhostemu.dylib -> libhostemu.5.0.0.dylib
> Linux: libhostemu.so    -> libhostemu.so.5.0.0
> If running executables that got linked to earlier versions of ooRexx (e.g. 
> ooRexx 2, ooRexx 3 or ooRexx 4) then such executables would not be able to 
> run, unless there are also symbolic links created that carry the version 
> information "2", "3" or "4", like:
> 
> Apple: libhostemu2.dylib -> libhostemu.so
>        libhostemu3.dylib -> libhostemu.so
>        libhostemu4.dylib -> libhostemu.so
> 
> Linux: libhostemu2.so -> libhostemu.so
>        libhostemu3.so -> libhostemu.so
>        libhostemu4.so -> libhostemu.so
> <https://sourceforge.net/p/oorexx/bugs/1421/> 
> <https://sourceforge.net/p/oorexx/bugs/1421/> points at this situation.
> 
> ---
> 
> Now, as everyone is quite busy with different tasks I tried to start to 
> figure out how to change the CMakeList file such that it would create these 
> symbolic links and install them. Not having knowledge about CMake this has 
> turned out to be a very time consuming task, where information is missing 
> that would allow me to conclude the experiment.
> 
> After many hours, I have become able to create the symbolic links in the 
> ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}, but have not been able to get these newly 
> added files to copy to the lib-directory at install time ("make install" or 
> while creating the rpm or deb packages where the shared libraries need to get 
> copied to the packager's temporary subdirectories).
> So any help or advice would be appreciated that would allow me to proceed, 
> such that in the end I could supply a patch for the project that creates 
> these symbolic links!
> 
> ---
> Here a few questions:
> 
> why are the shared libraries created in the BINARY_DIR as in line # as
> set (CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/bin)
> on Apple there is an individual change to that value, such that a "lib" 
> directory gets used to place the shared libraries to
> 
> how would one cause all shared files in ${CMAKE_LIBRARY_OUTPUT_DIRECTORY} to 
> be copied at installation time ("make install") to the installation's target 
> library directory? 
> Tried it to no avail with (at build time INSTALL_LIB_DIR points to the 
> standard installation location like "/usr/lib"):
>     install(CODE "execute_process(COMMAND ${CMAKE_COMMAND} -E chdir 
> ${INSTALL_LIB_DIR} create_symlink ${targetName} ${linkName})")
> hence looking for alternatives.
> is there a means to inform CMake which library files need to be taken from 
> the CMAKE_LIBRARY_OUTPUT_DIRECTORY and be put into the appropriate library 
> directory while installing (and uninstalling)?
> ---rony
> 
> 
> _______________________________________________
> Oorexx-devel mailing list
> Oorexx-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/oorexx-devel

_______________________________________________
Oorexx-devel mailing list
Oorexx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oorexx-devel

Reply via email to