1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87
|
# See ../CMakeLists.txt for info on staged-plugins* and clean-staged-plugins targets
SET (QGIS_PYTHON_DIR ${QGIS_DATA_DIR}/python)
SET (PYTHON_OUTPUT_DIRECTORY ${QGIS_OUTPUT_DIRECTORY}/python)
SET (WITH_PYSPATIALITE FALSE CACHE BOOL "Determines whether PYSPATIALITE should be built")
IF (WITH_PYSPATIALITE)
ADD_SUBDIRECTORY(pyspatialite)
ENDIF (WITH_PYSPATIALITE)
MACRO(EXT_PYLIB lib)
STRING(TOUPPER ${lib} ulib)
SET (WITH_INTERNAL_${ulib} TRUE CACHE BOOL "Determines whether python ${lib} should be included")
IF(WITH_INTERNAL_${ulib})
INSTALL(DIRECTORY ${lib} DESTINATION "${QGIS_PYTHON_DIR}")
ADD_CUSTOM_TARGET(py${lib})
FILE(GLOB_RECURSE files RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} ${lib}/*)
ADD_CUSTOM_COMMAND(TARGET py${lib}
POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_directory ${lib} "${PYTHON_OUTPUT_DIRECTORY}/${lib}"
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
DEPENDS ${files}
)
PY_COMPILE(py${lib} "${PYTHON_OUTPUT_DIRECTORY}/${lib}")
ADD_DEPENDENCIES(staged-plugins py${lib})
ADD_CUSTOM_COMMAND(TARGET clean-staged-plugins
COMMAND ${CMAKE_COMMAND} -E remove_directory "${PYTHON_OUTPUT_DIRECTORY}/${lib}"
)
ENDIF(WITH_INTERNAL_${ulib})
ENDMACRO(EXT_PYLIB lib)
FOREACH(pkg markupsafe owslib dateutil pytz yaml nose2)
EXT_PYLIB(${pkg})
ENDFOREACH(pkg)
IF(NOT ENABLE_PYTHON3)
SET (WITH_INTERNAL_FUTURE TRUE CACHE BOOL "Determines whether python future should be included")
IF(WITH_INTERNAL_FUTURE)
ADD_CUSTOM_TARGET(pyfuture)
FILE(GLOB items RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}/future future/*)
FOREACH(item ${items})
INSTALL(DIRECTORY future/${item} DESTINATION "${QGIS_PYTHON_DIR}")
FILE(GLOB_RECURSE files RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}/future future/*)
ADD_CUSTOM_COMMAND(TARGET pyfuture
POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_directory ${item} "${PYTHON_OUTPUT_DIRECTORY}/${item}"
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/future
DEPENDS ${files}
)
PY_COMPILE(pyfuture "${PYTHON_OUTPUT_DIRECTORY}/${item}")
ADD_CUSTOM_COMMAND(TARGET clean-staged-plugins
COMMAND ${CMAKE_COMMAND} -E remove_directory "${PYTHON_OUTPUT_DIRECTORY}/${item}"
)
ENDFOREACH(item ${items})
ADD_DEPENDENCIES(staged-plugins pyfuture)
ENDIF(WITH_INTERNAL_FUTURE)
ENDIF(NOT ENABLE_PYTHON3)
SET (WITH_INTERNAL_SIX TRUE CACHE BOOL "Determines whether python six should be included")
IF(WITH_INTERNAL_SIX)
INSTALL(FILES six.py DESTINATION "${QGIS_PYTHON_DIR}")
ADD_CUSTOM_TARGET(pysix)
ADD_CUSTOM_COMMAND(TARGET pysix
POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy six.py "${PYTHON_OUTPUT_DIRECTORY}"
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
DEPENDS six.py
)
PY_COMPILE(pysix "${PYTHON_OUTPUT_DIRECTORY}/six.py")
ADD_DEPENDENCIES(staged-plugins pysix)
ADD_CUSTOM_COMMAND(TARGET clean-staged-plugins
COMMAND ${CMAKE_COMMAND} -E remove "${PYTHON_OUTPUT_DIRECTORY}/six.py"
)
ENDIF(WITH_INTERNAL_SIX)
|