2014-05-20 18:17:23 -06:00
|
|
|
# See ../CMakeLists.txt for info on staged-plugins* and clean-staged-plugins targets
|
|
|
|
|
2014-05-17 11:29:36 +02:00
|
|
|
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)
|
|
|
|
|
2016-04-07 03:02:59 +02:00
|
|
|
MACRO(EXT_PYLIB lib)
|
2014-05-17 11:29:36 +02:00
|
|
|
STRING(TOUPPER ${lib} ulib)
|
2014-05-18 15:31:55 +02:00
|
|
|
SET (WITH_INTERNAL_${ulib} TRUE CACHE BOOL "Determines whether python ${lib} should be included")
|
2014-05-17 11:29:36 +02:00
|
|
|
IF(WITH_INTERNAL_${ulib})
|
2016-04-07 03:02:59 +02:00
|
|
|
INSTALL(DIRECTORY ${lib} DESTINATION "${QGIS_PYTHON_DIR}")
|
2014-05-17 11:29:36 +02:00
|
|
|
|
2014-05-20 18:17:23 -06:00
|
|
|
ADD_CUSTOM_TARGET(py${lib})
|
|
|
|
|
|
|
|
FILE(GLOB_RECURSE files RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} ${lib}/*)
|
|
|
|
ADD_CUSTOM_COMMAND(TARGET py${lib}
|
|
|
|
POST_BUILD
|
2016-04-07 03:02:59 +02:00
|
|
|
COMMAND ${CMAKE_COMMAND} -E copy_directory ${lib} "${PYTHON_OUTPUT_DIRECTORY}/${lib}"
|
2014-05-20 18:17:23 -06:00
|
|
|
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
|
|
|
|
DEPENDS ${files}
|
|
|
|
)
|
2016-04-07 03:02:59 +02:00
|
|
|
PY_COMPILE(py${lib} "${PYTHON_OUTPUT_DIRECTORY}/${lib}")
|
2014-05-18 15:31:55 +02:00
|
|
|
|
2014-05-20 18:17:23 -06:00
|
|
|
ADD_DEPENDENCIES(staged-plugins py${lib})
|
|
|
|
ADD_CUSTOM_COMMAND(TARGET clean-staged-plugins
|
2016-04-07 03:02:59 +02:00
|
|
|
COMMAND ${CMAKE_COMMAND} -E remove_directory "${PYTHON_OUTPUT_DIRECTORY}/${lib}"
|
2014-05-20 18:17:23 -06:00
|
|
|
)
|
2014-05-18 15:31:55 +02:00
|
|
|
|
2014-05-17 11:29:36 +02:00
|
|
|
ENDIF(WITH_INTERNAL_${ulib})
|
|
|
|
ENDMACRO(EXT_PYLIB lib)
|
|
|
|
|
2016-07-31 20:55:06 -04:00
|
|
|
FOREACH(pkg httplib2 jinja2 markupsafe owslib pygments dateutil pytz yaml nose2 requests)
|
2016-04-07 03:02:59 +02:00
|
|
|
EXT_PYLIB(${pkg})
|
2014-05-17 11:29:36 +02:00
|
|
|
ENDFOREACH(pkg)
|
|
|
|
|
2016-03-25 10:41:37 +01:00
|
|
|
IF(NOT ENABLE_PYTHON3)
|
2016-04-07 03:02:59 +02:00
|
|
|
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})
|
2016-04-08 19:10:39 +02:00
|
|
|
INSTALL(DIRECTORY future/${item} DESTINATION "${QGIS_PYTHON_DIR}")
|
2016-04-07 03:02:59 +02:00
|
|
|
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}/"
|
|
|
|
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
|
|
|
|
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)
|
2016-03-25 10:41:37 +01:00
|
|
|
ENDIF(NOT ENABLE_PYTHON3)
|
2016-03-25 00:56:59 +01:00
|
|
|
|
2014-05-18 15:31:55 +02:00
|
|
|
SET (WITH_INTERNAL_SIX TRUE CACHE BOOL "Determines whether python six should be included")
|
2014-05-17 11:29:36 +02:00
|
|
|
IF(WITH_INTERNAL_SIX)
|
|
|
|
INSTALL(FILES six.py DESTINATION "${QGIS_PYTHON_DIR}")
|
|
|
|
|
2014-05-20 18:17:23 -06:00
|
|
|
ADD_CUSTOM_TARGET(pysix)
|
2014-05-18 15:31:55 +02:00
|
|
|
|
2014-05-20 18:17:23 -06:00
|
|
|
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"
|
|
|
|
)
|
2014-05-18 15:31:55 +02:00
|
|
|
|
2014-05-17 11:29:36 +02:00
|
|
|
ENDIF(WITH_INTERNAL_SIX)
|
2014-05-18 15:31:55 +02:00
|
|
|
|