[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