Fix compiling issues for qt-components-desktop on Windows

This commit is contained in:
Micke Prag 2012-01-13 18:22:31 +01:00
parent 99c2b0e158
commit 1e650c7142
2 changed files with 32 additions and 19 deletions

View file

@ -10,36 +10,45 @@ FILE(GLOB_RECURSE PNG ${BASE_PATH}/components/*.png)
FILE(GLOB_RECURSE QMLDIR ${BASE_PATH}/components/qmldir)
SET(EXTRA_FILES ${QML} ${JS} ${PNG} ${QMLDIR})
QT4_WRAP_CPP( MOC_SRCS ${HDRS} )
QT4_AUTOMOC ( ${SRCS} )
ADD_LIBRARY(styleplugin SHARED
${SRCS}
${MOC_SRCS}
${QMLS}
)
TARGET_LINK_LIBRARIES( styleplugin ${QT_LIBRARIES} )
IF (QT_COMPONENTS_OUTPUT_DIR)
SET(QT_COMPONENTS_OUTPUT_DIR "${QT_COMPONENTS_OUTPUT_DIR}/QtDesktop")
ELSE()
SET(QT_COMPONENTS_OUTPUT_DIR "QtDesktop")
ENDIF()
SET_TARGET_PROPERTIES(styleplugin PROPERTIES
LIBRARY_OUTPUT_DIRECTORY ${QT_COMPONENTS_OUTPUT_DIR}/plugin
)
STRING(LENGTH "${BASE_PATH}/components" BASE_LENGTH)
FOREACH(_FILE ${EXTRA_FILES})
STRING(LENGTH ${_FILE} _FILE_LENGTH)
MATH(EXPR _TOP_LENGTH "${_FILE_LENGTH}-${BASE_LENGTH}")
STRING(SUBSTRING ${_FILE} ${BASE_LENGTH} ${_TOP_LENGTH} _OUT_FILE)
GET_FILENAME_COMPONENT(_FILENAME ${_FILE} NAME)
ADD_CUSTOM_COMMAND( TARGET styleplugin
POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy ${_FILE} ${QT_COMPONENTS_OUTPUT_DIR}${_OUT_FILE}
SET(_OUTFILEPATH ${QT_COMPONENTS_OUTPUT_DIR}${_OUT_FILE})
LIST(APPEND SRCS ${_OUTFILEPATH})
ADD_CUSTOM_COMMAND(
OUTPUT ${_OUTFILEPATH}
DEPENDS ${_FILE}
COMMAND ${CMAKE_COMMAND} -E copy ${_FILE} ${_OUTFILEPATH}
COMMENT "Copy ${_FILENAME} to destination"
)
ENDFOREACH(_FILE)
QT4_WRAP_CPP( MOC_SRCS ${HDRS} )
QT4_AUTOMOC ( ${SRCS} )
ADD_LIBRARY(styleplugin SHARED
${SRCS}
${MOC_SRCS}
)
TARGET_LINK_LIBRARIES( styleplugin ${QT_LIBRARIES} )
IF (WIN32)
SET_TARGET_PROPERTIES(styleplugin PROPERTIES
PREFIX "Plugins/declarative/QtDesktop/plugin/"
)
ELSE()
SET_TARGET_PROPERTIES(styleplugin PROPERTIES
LIBRARY_OUTPUT_DIRECTORY ${QT_COMPONENTS_OUTPUT_DIR}/plugin
)
ENDIF()

View file

@ -24,5 +24,9 @@ SET( Plugin_PATH "com.telldus.qml" )
INCLUDE( ../TelldusCenterPlugin.cmake NO_POLICY_SCOPE )
SET(QT_COMPONENTS_OUTPUT_DIR "${CMAKE_BINARY_DIR}/TelldusCenter/Plugins/declarative")
IF (WIN32)
SET(QT_COMPONENTS_OUTPUT_DIR "${LIBRARY_OUTPUT_PATH}/${CMAKE_CFG_INTDIR}/Plugins/declarative")
ELSE()
SET(QT_COMPONENTS_OUTPUT_DIR "${CMAKE_BINARY_DIR}/TelldusCenter/Plugins/declarative")
ENDIF()
INCLUDE( ${CMAKE_SOURCE_DIR}/3rdparty/qt-components-desktop.cmake NO_POLICY_SCOPE )