[CMake] DLL not found question

Jacob Foshee jacobf at gmail.com
Tue Oct 31 19:41:44 EST 2006


I hope no one minds if I resurrect this thread.

Anyone on Windows will encounter the same issue, and I'm wondering what the
best approach is or will be.  Particularly, take into account that I might
not be using CMake to build all of my [3rd party] dependencies, nor might I
want to drop all targets in the same directory.

There are two places DLL's of dependencies should end up.  First, in the
Output Directory of my executable, so that I can run it immediately.
Second, in the INSTALL location, which would also help CPack pick them up
later.  Both are dependent on what configuration is being used
(debug/optimized).

Perhaps if Find<3rdParty>.cmake or <3rdParty>Config.cmake advertised a
3rdParty_BIN_DIR or 3rdParty_RUNTIME_DIR this would help?  I could try
writing a FIND_RUNTIME_LIBRARY macro if that would help.

Thoughts?
-jacob

On 9/18/06, Alexander Neundorf <a.neundorf-work at gmx.net> wrote:
>
>
> Von: Wojciech Jarosz <wjarosz at ucsd.edu>
>
> > Hi all,
> > I'm just starting to use CMake with Windows (have used it for a while
> > now on Linux) so please forgive me if my question is stupid. I tried
> > looking in the archives but didn't find anything related.
> >
> > I have a project set up on Windows now (it compiles and links
> > correctly), but what is the normal way to run the executables or tests?
> > I have tried doing it manually from a Visual Studio command line, or
> > >from within Visual Studio (right click->debug->start new instance), but
> > both of these techniques complain that it cannot find my DLLs. I figured
>
> > at least the method from within Visual Studio would be able to set the
> > environment correctly to find the DLLs. Is there some CMakeLists.txt
> > magic that will set this up correctly? Or is the solution really that I
> > have to add each DLL build dir to my path manually within Windows?
> >
> > I have tried copying all necessary DLLs to my executable build dir by
> > hand and that works fine. Hopefully there is a more elegant solution.
>
> You could set EXECUTABLE_OUTPUT_PATH and LIBRARY_OUTPUT_PATH to the same
> directory, then both should end up in the same directory.
>
> Alex
>
> --
> "Feel free" - 10 GB Mailbox, 100 FreeSMS/Monat ...
> Jetzt GMX TopMail testen: http://www.gmx.net/de/go/topmail
> _______________________________________________
> CMake mailing list
> CMake at cmake.org
> http://www.cmake.org/mailman/listinfo/cmake
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://public.kitware.com/pipermail/cmake/attachments/20061031/ba3ee147/attachment.htm


More information about the CMake mailing list