mirror of
https://github.com/qgis/QGIS.git
synced 2025-02-25 00:58:06 -05:00
77 lines
2.9 KiB
CMake
77 lines
2.9 KiB
CMake
# 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)
|
|
|
|
IF(ENABLE_QT5)
|
|
# The target port-plugins acts as a container for all port-plugin-XXX targets
|
|
# Each port-plugin-XXX target will run scripts/2to3 on a plugin and migrate
|
|
# Python 3 and Qt 5 code.
|
|
SET (PORT_PLUGINS FALSE CACHE BOOL "Determines whether python plugins in staged or installed locations should be migrated to Python 3 and Qt 5")
|
|
IF(PORT_PLUGINS)
|
|
ADD_CUSTOM_TARGET(port-plugins ALL)
|
|
ELSE(PORT_PLUGINS)
|
|
ADD_CUSTOM_TARGET(port-plugins)
|
|
ENDIF(PORT_PLUGINS)
|
|
ENDIF(ENABLE_QT5)
|
|
|
|
MACRO (PLUGIN_INSTALL plugin subdir )
|
|
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})
|
|
|
|
SET(_cmake ${CMAKE_BINARY_DIR}/python/plugins/${plugin}/stageinstall.cmake)
|
|
|
|
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)
|
|
|
|
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}
|
|
)
|
|
|
|
ADD_DEPENDENCIES(staged-plugins zzz-${plugin}-stageinstall)
|
|
ADD_CUSTOM_TARGET(staged-${plugin} DEPENDS zzz-${plugin}-stageinstall)
|
|
FILE(WRITE ${_cmake} "")
|
|
|
|
IF(ENABLE_QT5)
|
|
ADD_CUSTOM_TARGET(port-plugin-${plugin})
|
|
PY_2TO3(port-plugin-${plugin} ${PYTHON_OUTPUT_DIRECTORY}/plugins/${plugin})
|
|
ADD_DEPENDENCIES(port-plugins port-plugin-${plugin})
|
|
ADD_DEPENDENCIES(port-plugin-${plugin} staged-${plugin})
|
|
ENDIF(ENABLE_QT5)
|
|
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)
|
|
|
|
ADD_SUBDIRECTORY(GdalTools)
|
|
ADD_SUBDIRECTORY(db_manager)
|
|
ADD_SUBDIRECTORY(processing)
|
|
ADD_SUBDIRECTORY(MetaSearch)
|
|
|
|
PY_COMPILE(staged-plugins "${PYTHON_OUTPUT_DIRECTORY}/plugins")
|