This is what I use. Seems a bit "kludgey" but does seem to work. This code will copy the Qt dlls into BOTH the Debug and Release build directories (so debugging works) and create installation rules to copy the proper dlls into the install location.
# Copy the needed Qt libraries into the Build directory. Also add installation # and CPack code to support installer generation. # this is a complete hack for Visual Studio to copy the Qt libraries. if ( NOT Q_WS_MAC) if (DEFINED QT_QMAKE_EXECUTABLE) SET (QTLIBLIST QtCore QtGui) IF (MSVC) set(TYPE "d") FOREACH(qtlib ${QTLIBLIST}) IF (WIN32) GET_FILENAME_COMPONENT(QT_DLL_PATH_tmp ${QT_QMAKE_EXECUTABLE} PATH) file(MAKE_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/Debug) file(MAKE_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/Release) file(MAKE_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/MinSizeRel) file(MAKE_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/RelWithDebInfo) INSTALL(FILES ${QT_DLL_PATH_tmp}/${qtlib}${type}d4.dll DESTINATION ./ CONFIGURATIONS Debug COMPONENT Applications) INSTALL(FILES ${QT_DLL_PATH_tmp}/${qtlib}4.dll DESTINATION ./ CONFIGURATIONS Release COMPONENT Applications) add_custom_target(ZZ_${qtlib}-Debug-Copy ALL COMMAND ${CMAKE_COMMAND} -E copy_if_different ${QT_DLL_PATH_tmp}/${qtlib}${TYPE}4.dll ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/Debug/ COMMENT "Copying ${qtlib}${TYPE}4.dll to ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/Debug/") add_custom_target(ZZ_${qtlib}-Release-Copy ALL COMMAND ${CMAKE_COMMAND} -E copy_if_different ${QT_DLL_PATH_tmp}/${qtlib}4.dll ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/Release/ COMMENT "Copying ${qtlib}4.dll to ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/Release/") ENDIF (WIN32) ENDFOREACH(qtlib) endif() endif(DEFINED QT_QMAKE_EXECUTABLE) endif() _________________________________________________________ Mike Jackson mike.jack...@bluequartz.net BlueQuartz Software www.bluequartz.net Principal Software Engineer Dayton, Ohio On Wed, Feb 3, 2010 at 4:21 AM, <mika.raj...@patria.fi> wrote: > > Hi > > I'd like to install the necessary .dll files of Qt to my install directory. > > So that when someone installs my program from a package, he gets the > complete set and doesn't need to install Qt seperately. > > Actually my program is multiple programs and i'd rather not link them > statically to Qt libraries. > > FindQt4.cmake doesn't seem to provide any way to get the shared libraries. > > Do i need to hack my way through QT_LIBRARY_DIR ? > > I fell that i'm missing something here, since such a simple and what i > think a common task should not include such hacking, right? > > Maybe this is different on some linux platform, but on windows i'd rather > not bother ppl with having to install libraries to make my software work. > > I want to make it easy for them. > > -mika > > _______________________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Please keep messages on-topic and check the CMake FAQ at: > http://www.cmake.org/Wiki/CMake_FAQ > > Follow this link to subscribe/unsubscribe: > http://www.cmake.org/mailman/listinfo/cmake > _______________________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake