[CMake] The Windows equivalent of RPATH?
Alexander Neundorf
a.neundorf-work at gmx.net
Fri Sep 22 03:37:17 EDT 2006
-------- Original-Nachricht --------
Datum: Fri, 22 Sep 2006 09:18:05 +0200 (CEST)
Von: "Arjen Markus" <arjen.markus at wldelft.nl>
An: cmake at cmake.org
Betreff: [CMake] The Windows equivalent of RPATH?
> Hello,
>
> in the PLplot project we have run into an issue that is peculiar
> to Windows:
>
> When you build the various libraries that PLplot consists of, they
> end up in different directories (at least before installation).
> On UNIX and Linux these directories are taken care of via the
> RPATH mechanism, so that the example/test programs "know" where
> to find them, without actual installation.
>
> On installation again the RPATH mechanism makes sure the
> directories where the shared libraries live are known.
>
> On Windows, however, there is as far as I know, no such mechanism.
> We need to rely on the search path for the DLLs to be found. And
> currently that means that we need to copy the DLLs into the directories
> holding the example/test programs (there are different directories
> for all the programming languages we support). Otherwise the
> example/test programs can not be run.
>
> My question is: what is the best way to solve this problem?
>
> I can see a couple of solutions:
> - Copy the various DLLs via a custom target - now we do it manually
> - Expand the path just before running the example/test programs
> - (A brute force method would be to copy the DLLs into the system
> directory, but that is not acceptable to many people: pollution
> of the system directory, on many Windows machines this is not
> even allowed without special permissions etc.)
Two options:
you can set EXECUTABLE_OUTPUT_PATH and LIBRARY_OUTPUT_PATH to the same directory, so they will end up in the same directory.
Or you create wrapper bat-files which set PATH appropriatly.
Bye
Alex
--
Der GMX SmartSurfer hilft bis zu 70% Ihrer Onlinekosten zu sparen!
Ideal für Modem und ISDN: http://www.gmx.net/de/go/smartsurfer
More information about the CMake
mailing list