--nextPart43895278.cRIk2UvYgQ Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-Disposition: inline On Saturday 21 July 2007 04:55:15 Alexander Neundorf wrote: > Hi, > > on Windows there is no RPATH, so the only way for executables to find the= ir > dlls (e.g. kdecore.dll) is that either > A) the dlls are in the same directory as the executable, or > B) the directory where the dlls are is in the PATH. > > In KDE4 we currently do: > INSTALL(TARGETS kdecore DESTINATION ${LIB_INSTALL_DIR}) > This means we rely on option B). > > We could do the following: > INSTALL(TARGETS kdecore > LIBRARY DESTINATION ${LIB_INSTALL_DIR} > RUNTIME DESTINATION ${BIN_INSTALL_DIR} > ARCHIVE DESTINATION ${LIB_INSTALL_DIR}) > > This will install the .so and .dylib files to LIB_INSTALL_DIR ("LIBRARY"), > the .dll files and executables to BIN_INSTALL_DIR ("RUNTIME") and the .lib > and .a files also to LIB_INSTALL_DIR ("ARCHIVE"). > > It is then also possible to install libs and executables with one command: > INSTALL(TARGETS kdecore kde4-config > LIBRARY DESTINATION ${LIB_INSTALL_DIR} > RUNTIME DESTINATION ${BIN_INSTALL_DIR} > ARCHIVE DESTINATION ${LIB_INSTALL_DIR}) > > The Windows developers would prefer this, the executables will be able to > run without changing the PATH. How will the executables actually be > installed ? Via an installer which can also adjust the PATH maybe ? > > Anyway, this would mean that this full syntax has to be used for every > installed library, otherwise it won't work on Windows. > As it is now, it's a bit harder for the Windows guys but safes the average > Linux KDE hacker from thinking about Windows and he can just do > INSTALL(TARGETS mylib DESTINATION lib) > (of course LIB_INSTALL_DIR is better but in most cases it's just the same > result) and it will still work on Windows (if the system is already able = to > run any KDE app). > > So, are their objections against using the full INSTALL() syntax everywhe= re > ? Sounds complicated to me. Why not just install the dlls always into=20 ${BIN_INSTALL_DIR} by setting ${LIB_INSTALL_DIR} to the bin dir on Windows?= =20 (unless otherwise specified) As far as I can see this is the standard on Windows anyway, and I don't see= =20 what _problem_ we would really solve by introducing a more complex syntax. Just my two cents, Simon --nextPart43895278.cRIk2UvYgQ Content-Type: application/pgp-signature; name=signature.asc Content-Description: This is a digitally signed message part. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (GNU/Linux) iD8DBQBGoeK4WXvMThJCpvIRAoT2AJoDpXglraaf4z7rjWin+p15GFq9YgCgiB2U jdEiew/Hp7fjzLF/kR1RmHw= =O+mO -----END PGP SIGNATURE----- --nextPart43895278.cRIk2UvYgQ--