OK, too long of a day, sent the wrong version! :( On 01.01.2019 21:39, Rony G. Flatscher wrote: > > 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 > The above link to "libhostemu.dylib", of course.
> > Linux: libhostemu2.so -> libhostemu.so > libhostemu3.so -> libhostemu.so > libhostemu4.so -> libhostemu.so > > <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 > o set (CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/bin) > o on Apple there is an individual change to that value, such that a > "lib" directory gets > used to place the shared libraries to > On Apple and Linux the "INSTALL_LIB_DIR" gets changed, not the "CMAKE_LIBRARY_OUTPUT_DIRECTORY". > * 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? > o 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. > o 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