I hacked together the following: Note the variable MXATools_PROJECT_DIR is defined in another cmake file and basically points to the top level Project folder.

# ------------------------------------------------------------------------ ------ # This CMake code installs the needed support libraries on NON OSX platforms # ------------------------------------------------------------------------ ------

# ---------- Find/Install the needed Qt4 libraries. This was taken directly from # -- the ParaView 3.x cmake files. This is NOT my original code ----------------
SET (QTLIBLIST QtCore QtGui)
IF (CMAKE_BUILD_TYPE MATCHES "Debug")
    SET (QTLIBLIST QtCored QtGuid)
ENDIF (CMAKE_BUILD_TYPE MATCHES "Debug")
# the variable and library names are not the same
# IF (WIN32)
#  SET (QTLIBLIST ${QTLIBLIST} QTASSISTANTCLIENT)
# ELSE (WIN32)
#  SET (QTLIBLIST ${QTLIBLIST} QTASSISTANT)
# ENDIF (WIN32)

IF(NOT Q_WS_MAC)
  FOREACH(qtlib ${QTLIBLIST})
    IF (NOT WIN32)
#INSTALL(FILES ${QT_${qtlib}_LIBRARY_RELEASE} DESTINATION $ {PV_INSTALL_LIB_DIR_CM24}) GET_FILENAME_COMPONENT(QT_LIB_DIR_tmp ${QT_${qtlib} _LIBRARY_RELEASE} PATH) GET_FILENAME_COMPONENT(QT_LIB_NAME_tmp ${QT_${qtlib} _LIBRARY_RELEASE} NAME) FILE(GLOB QT_LIB_LIST RELATIVE ${QT_LIB_DIR_tmp} "${QT_${qtlib} _LIBRARY_RELEASE}*")
      INSTALL(CODE "
MESSAGE(STATUS \"Installing \${CMAKE_INSTALL_PREFIX}/$ {PV_INSTALL_LIB_DIR_CM24}/${QT_LIB_NAME_tmp}\")
EXECUTE_PROCESS (WORKING_DIRECTORY ${QT_LIB_DIR_tmp}
                 COMMAND tar c ${QT_LIB_LIST}
COMMAND tar -xC \${CMAKE_INSTALL_PREFIX}/$ {PV_INSTALL_LIB_DIR_CM24})
        " COMPONENT Runtime)
    ELSE (NOT WIN32)
GET_FILENAME_COMPONENT(QT_DLL_PATH_tmp ${QT_QMAKE_EXECUTABLE} PATH)
      INSTALL(FILES ${QT_DLL_PATH_tmp}/${qtlib}4.dll
            DESTINATION ${CMAKE_INSTALL_PREFIX}/bin
            COMPONENT Runtime)
    ENDIF (NOT WIN32)

  ENDFOREACH(qtlib)
ENDIF(NOT Q_WS_MAC)

# -------------------------- Find the MinGW Runtime library -------------------- # - This assumes that you built Qt or any other support library as a shared # - library. If all your support libraries are static this this probably is
# - NOT needed.
IF (MINGW)
    INCLUDE ( ${MXATools_PROJECT_DIR}/Resources/MXAFindMinGW.cmake )
    IF (MINGW_FOUND)
        INSTALL(FILES ${MINGW_LIBRARIES}
                DESTINATION ${CMAKE_INSTALL_PREFIX}/bin
                COMPONENT Runtime)
    ENDIF (MINGW_FOUND)
ENDIF (MINGW)



--
Mike Jackson   Senior Research Engineer
Innovative Management & Technology Services


On Jun 18, 2008, at 12:51 PM, Mike Arthur wrote:

We can't static-link Qt into our application as we're relying on dynamic
loading of plugins.

As a result I want to install the necessary Qt*.dll files.

Is there an easy (or not so easy) way of getting these files from
${QT_LIBRARIES} or something similar?

Thanks in advance!
--
Cheers,
Mike Arthur
_______________________________________________
CMake mailing list
CMake@cmake.org
http://www.cmake.org/mailman/listinfo/cmake

_______________________________________________
CMake mailing list
CMake@cmake.org
http://www.cmake.org/mailman/listinfo/cmake

Reply via email to