QGIS/python/plugins/CMakeLists.txt

57 lines
2.1 KiB
CMake
Raw Normal View History

# See ../CMakeLists.txt for info on staged-plugins* and clean-staged-plugins targets
#
# When developing on a plugin, use the following make targets:
# staged-[plugin_dir_name] - stage specific plugin, regenerating any changed resources
# clean-staged-[plugin_dir_name] - removes the plugin directory and its contents
#
# NOTE: regular project 'make install' is unaffected
FILE(WRITE ${CMAKE_BINARY_DIR}/stagecount 0)
MACRO (PLUGIN_INSTALL plugin subdir )
2015-07-10 21:05:27 +02:00
FILE(READ ${CMAKE_BINARY_DIR}/stagecount n)
MATH(EXPR n "${n}+1")
FILE(WRITE ${CMAKE_BINARY_DIR}/stagecount ${n})
# regular project build's install command and target
INSTALL(FILES ${ARGN} DESTINATION ${QGIS_DATA_DIR}/python/plugins/${plugin}/${subdir})
2015-07-09 00:03:27 +02:00
2015-07-10 21:05:27 +02:00
SET(_cmake ${CMAKE_BINARY_DIR}/python/plugins/${plugin}/stageinstall.cmake)
2015-07-09 00:03:27 +02:00
2015-07-10 21:05:27 +02:00
IF(NOT TARGET zzz-${plugin}-stageinstall)
ADD_CUSTOM_TARGET(zzz-${plugin}-stageinstall)
ADD_CUSTOM_TARGET(zzz-${plugin}-depend)
ADD_DEPENDENCIES(zzz-${plugin}-stageinstall zzz-${plugin}-depend)
2015-07-09 00:03:27 +02:00
2015-07-10 21:05:27 +02:00
ADD_CUSTOM_COMMAND(TARGET zzz-${plugin}-stageinstall
COMMAND ${CMAKE_COMMAND} -P ${_cmake}
)
ADD_CUSTOM_TARGET(clean-staged-${plugin}
COMMAND ${CMAKE_COMMAND} -E remove_directory ${PYTHON_OUTPUT_DIRECTORY}/plugins/${plugin}
)
2015-07-10 21:05:27 +02:00
ADD_DEPENDENCIES(staged-plugins zzz-${plugin}-stageinstall)
ADD_CUSTOM_TARGET(staged-${plugin} DEPENDS zzz-${plugin}-stageinstall)
2015-07-30 09:31:28 +02:00
FILE(WRITE ${_cmake} "")
2015-07-10 21:05:27 +02:00
ENDIF(NOT TARGET zzz-${plugin}-stageinstall)
ADD_CUSTOM_TARGET(zzz-${plugin}-${n}-depend DEPENDS ${ARGN})
ADD_DEPENDENCIES(zzz-${plugin}-depend zzz-${plugin}-${n}-depend)
FILE(APPEND ${_cmake} "FILE(MAKE_DIRECTORY \"${PYTHON_OUTPUT_DIRECTORY}/plugins/${plugin}/${subdir}\")
")
FOREACH(file ${ARGN})
GET_FILENAME_COMPONENT(_file "${file}" ABSOLUTE)
FILE(APPEND ${_cmake} "FILE(COPY \"${_file}\" DESTINATION \"${PYTHON_OUTPUT_DIRECTORY}/plugins/${plugin}/${subdir}\")
")
ENDFOREACH(file)
ENDMACRO (PLUGIN_INSTALL)
2012-04-16 13:19:40 +02:00
ADD_SUBDIRECTORY(db_manager)
ADD_SUBDIRECTORY(processing)
ADD_SUBDIRECTORY(MetaSearch)
PY_COMPILE(staged-plugins "${PYTHON_OUTPUT_DIRECTORY}/plugins")