@@ -8,35 +8,59 @@ ENDIF (WITH_PYSPATIALITE)
8
8
9
9
MACRO (EXT_PYLIB lib )
10
10
STRING (TOUPPER ${lib} ulib )
11
- SET (WITH_INTERNAL_${ulib} TRUE CACHE BOOL "Determines whether ${ulib } should be included" )
11
+ SET (WITH_INTERNAL_${ulib} TRUE CACHE BOOL "Determines whether python ${lib } should be included" )
12
12
IF (WITH_INTERNAL_${ulib} )
13
13
INSTALL (DIRECTORY ${lib} DESTINATION "${QGIS_PYTHON_DIR} " )
14
14
15
- ADD_CUSTOM_TARGET (py${lib} ALL )
16
- FILE (GLOB_RECURSE files RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} ${lib} /* )
17
- FOREACH (file ${files} )
15
+ IF (WITH_STAGED_PLUGINS )
16
+ ADD_CUSTOM_TARGET (py${lib} ALL )
17
+
18
+ FILE (GLOB_RECURSE files RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} ${lib} /* )
18
19
ADD_CUSTOM_COMMAND (TARGET py${lib}
19
20
POST_BUILD
20
- COMMAND ${CMAKE_COMMAND} -E copy_if_different ${file } "${PYTHON_OUTPUT_DIRECTORY} /${file } "
21
+ COMMAND ${CMAKE_COMMAND} -E copy_directory ${lib } "${PYTHON_OUTPUT_DIRECTORY} /${lib } "
21
22
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
22
- COMMENT "Copy ${file} => ${PYTHON_OUTPUT_DIRECTORY} /${file} "
23
- DEPENDS ${file}
23
+ DEPENDS ${files}
24
24
)
25
- ENDFOREACH (file )
25
+
26
+ IF (WITH_PY_COMPILE )
27
+ ADD_CUSTOM_TARGET (pycompile-py${lib} ALL
28
+ COMMAND ${PYTHON_EXECUTABLE} -m compileall -q "${PYTHON_OUTPUT_DIRECTORY} /${lib} "
29
+ WORKING_DIRECTORY "${CMAKE_BINARY_DIR} "
30
+ COMMENT "Byte-compiling staged extension ${lib} ..."
31
+ DEPENDS py${lib}
32
+ )
33
+ ENDIF (WITH_PY_COMPILE )
34
+ ENDIF (WITH_STAGED_PLUGINS )
26
35
ENDIF (WITH_INTERNAL_${ulib} )
27
36
ENDMACRO (EXT_PYLIB lib )
28
37
29
38
FOREACH (pkg httplib2 jinja2 markupsafe owslib pygments dateutil pytz )
30
39
EXT_PYLIB (${pkg} )
31
40
ENDFOREACH (pkg )
32
41
42
+ SET (WITH_INTERNAL_SIX TRUE CACHE BOOL "Determines whether python six should be included" )
33
43
IF (WITH_INTERNAL_SIX )
34
44
INSTALL (FILES six.py DESTINATION "${QGIS_PYTHON_DIR} " )
35
45
36
- ADD_CUSTOM_COMMAND (TARGET pyutils
37
- POST_BUILD
38
- COMMAND ${CMAKE_COMMAND} -E copy six.py "${PYTHON_OUTPUT_DIRECTORY} "
39
- WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
40
- DEPENDS six.py
41
- )
46
+ IF (WITH_STAGED_PLUGINS )
47
+ ADD_CUSTOM_TARGET (pysix ALL )
48
+
49
+ ADD_CUSTOM_COMMAND (TARGET pysix
50
+ POST_BUILD
51
+ COMMAND ${CMAKE_COMMAND} -E copy six.py "${PYTHON_OUTPUT_DIRECTORY} "
52
+ WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
53
+ DEPENDS six.py
54
+ )
55
+
56
+ IF (WITH_PY_COMPILE )
57
+ ADD_CUSTOM_TARGET (pycompile-pysix ALL
58
+ COMMAND ${PYTHON_EXECUTABLE} -m compileall -q "${PYTHON_OUTPUT_DIRECTORY} /${lib} "
59
+ WORKING_DIRECTORY "${CMAKE_BINARY_DIR} "
60
+ COMMENT "Byte-compiling staged extension ${lib} ..."
61
+ DEPENDS pysix
62
+ )
63
+ ENDIF (WITH_PY_COMPILE )
64
+ ENDIF (WITH_STAGED_PLUGINS )
42
65
ENDIF (WITH_INTERNAL_SIX )
66
+
0 commit comments