[CMake] Copying DLLs to output directory

Hendrik Sattler post at hendrik-sattler.de
Sat Nov 1 05:07:01 EDT 2014



Am 31. Oktober 2014 20:51:55 MEZ, schrieb Bill Somerville <bill at classdesign.com>:
>On 31/10/2014 19:42, Michael Jackson wrote:
>> Never said it was pretty, but here is the code I use for Qt4 based
>projects. I think I had to revamp a lot of this for Qt5. I call it like
>so:
>>
>> CMP_COPY_QT4_RUNTIME_LIBRARIES( "QtCore;QtGui;QtNetwork")
>This seems an awful lot of messing around when qt-project.org already 
>dump all the debug and release libraries into the installation bin 
>directory so all you need is to ensure that the installation bin 
>directory is on your PATH when you run or debug executables, just like 
>you have to to build using the tools like moc, qmake, dumpcpp, qrc,
>etc..
>
>IMHO put he Qt bin directory on PATH for debugging and use BundleUtils 
>FixupBundle to make deployable kits. No need to do any manual or 
>scripted copying of libraries at all.

But you have to be very careful when creating this PATH. Order is important or you will likely catch the wrong Qt release libraries. After all, even CMake ships Qt dlls in its installation directory. And other tools that are user during build might also do.

Additionally, CMake is not able to set this up automatically in VS.

Also, when the Qt dlls can be found so easily, why doesn't FindQt4 do it?

HS



More information about the CMake mailing list