Plugin extra files should be a custom command and not built after linking. This fixes the issue that the plugin needed to be relinked for new files to be copied to destination

This commit is contained in:
Micke Prag 2012-01-13 15:29:55 +01:00
parent cc0b37e179
commit 69b16f0baf
2 changed files with 21 additions and 26 deletions

View file

@ -63,6 +63,21 @@ ELSE (UPDATE_TRANSLATIONS)
LIST(APPEND Plugin_FILES ${Plugin_QM})
ENDIF (UPDATE_TRANSLATIONS)
IF(Plugin_PATH)
FOREACH(_FILE ${Plugin_FILES})
GET_FILENAME_COMPONENT(_FILENAME ${_FILE} NAME)
ADD_CUSTOM_COMMAND( OUTPUT ${Plugin_PATH}/${_FILENAME}
COMMAND ${CMAKE_COMMAND} -E copy ${_FILE} ${Plugin_PATH}/${_FILENAME}
DEPENDS ${_FILE}
COMMENT "Copy ${_FILENAME} for plugin ${Plugin_NAME}"
)
LIST(APPEND Plugin_TARGET_FILES "${Plugin_PATH}/${_FILENAME}")
IF (NOT APPLE)
INSTALL(FILES ${_FILE} DESTINATION "${PLUGIN_LIB_FULL_PATH}/script/${Plugin_PATH_relative}")
ENDIF ()
ENDFOREACH(_FILE)
ENDIF(Plugin_PATH)
IF(Plugin_SRCS)
ADD_LIBRARY(${Plugin_NAME} SHARED
${Plugin_SRCS}
@ -74,6 +89,7 @@ IF(Plugin_SRCS)
${Plugin_FILES}
${Plugin_TS}
${Plugin_QM}
${Plugin_TARGET_FILES}
)
TARGET_LINK_LIBRARIES( ${Plugin_NAME} ${Plugin_LIBRARIES} )
@ -123,27 +139,6 @@ IF(Plugin_SRCS)
SIGN(${Plugin_NAME})
ELSE(Plugin_SRCS)
ADD_CUSTOM_TARGET(${Plugin_NAME} ALL
SOURCES ${Plugin_FILES}
SOURCES ${Plugin_FILES} ${Plugin_TARGET_FILES}
)
ENDIF(Plugin_SRCS)
IF(Plugin_PATH)
ADD_CUSTOM_COMMAND( TARGET ${Plugin_NAME}
POST_BUILD
COMMAND ${CMAKE_COMMAND} -E make_directory ${Plugin_PATH}
COMMENT "Creating plugin directory ${Plugin_NAME}"
)
FOREACH(_FILE ${Plugin_FILES})
GET_FILENAME_COMPONENT(_FILENAME ${_FILE} NAME)
ADD_CUSTOM_COMMAND( TARGET ${Plugin_NAME}
POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy ${_FILE} ${Plugin_PATH}
COMMENT "Copy ${_FILENAME} for plugin ${Plugin_NAME}"
)
IF (NOT APPLE)
INSTALL(FILES ${_FILE} DESTINATION "${PLUGIN_LIB_FULL_PATH}/script/${Plugin_PATH_relative}")
ENDIF ()
ENDFOREACH(_FILE)
ENDIF(Plugin_PATH)