|
7 | 7 | # NOTE: regular project 'make install' is unaffected
|
8 | 8 |
|
9 | 9 | FILE(WRITE ${CMAKE_BINARY_DIR}/stagecount 0)
|
10 |
| -SET(PYTHON_BINARY_TOPDIR ${CMAKE_CURRENT_BINARY_DIR}) |
11 | 10 |
|
12 | 11 | MACRO (PLUGIN_INSTALL plugin subdir )
|
| 12 | + FILE(READ ${CMAKE_BINARY_DIR}/stagecount n) |
| 13 | + MATH(EXPR n "${n}+1") |
| 14 | + FILE(WRITE ${CMAKE_BINARY_DIR}/stagecount ${n}) |
| 15 | + |
13 | 16 | # regular project build's install command and target
|
14 | 17 | INSTALL(FILES ${ARGN} DESTINATION ${QGIS_DATA_DIR}/python/plugins/${plugin}/${subdir})
|
15 | 18 |
|
16 |
| - SET(_cmake ${PYTHON_BINARY_TOPDIR}/${plugin}-stageinstall.cmake) |
17 |
| - |
18 |
| - IF(NOT TARGET ${plugin}-stageinstall) |
19 |
| - FILE(WRITE ${_cmake} "") |
20 |
| - ENDIF(NOT TARGET ${plugin}-stageinstall) |
21 |
| - |
22 |
| - SET(_out "FILE(MAKE_DIRECTORY \"${PYTHON_OUTPUT_DIRECTORY}/plugins/${plugin}/${subdir}\") |
23 |
| -") |
24 |
| - |
25 |
| - FOREACH(file ${ARGN}) |
26 |
| - GET_FILENAME_COMPONENT(_file "${file}" ABSOLUTE) |
27 |
| - SET(_out "${_out}FILE(COPY \"${_file}\" DESTINATION \"${PYTHON_OUTPUT_DIRECTORY}/plugins/${plugin}/${subdir}\") |
28 |
| -") |
29 |
| - ENDFOREACH(file) |
30 |
| - |
31 |
| - FILE(APPEND ${_cmake} "${_out}") |
| 19 | + SET(_cmake ${CMAKE_BINARY_DIR}/python/plugins/${plugin}/stageinstall.cmake) |
32 | 20 |
|
33 |
| - IF(NOT TARGET ${plugin}-stageinstall) |
34 |
| - # for staged plugin install (to run from build directory) |
35 |
| - ADD_CUSTOM_TARGET(${plugin}-stageinstall) |
| 21 | + IF(NOT TARGET zzz-${plugin}-stageinstall) |
| 22 | + ADD_CUSTOM_TARGET(zzz-${plugin}-stageinstall) |
| 23 | + ADD_CUSTOM_TARGET(zzz-${plugin}-depend) |
| 24 | + ADD_DEPENDENCIES(zzz-${plugin}-stageinstall zzz-${plugin}-depend) |
36 | 25 |
|
37 |
| - ADD_CUSTOM_COMMAND(TARGET ${plugin}-stageinstall |
38 |
| - POST_BUILD |
39 |
| - COMMAND ${CMAKE_COMMAND} -P ${_cmake} |
40 |
| - WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} |
| 26 | + ADD_CUSTOM_COMMAND(TARGET zzz-${plugin}-stageinstall |
| 27 | + COMMAND ${CMAKE_COMMAND} -P ${_cmake} |
41 | 28 | )
|
42 |
| - ADD_DEPENDENCIES(staged-plugins ${plugin}-stageinstall) |
43 |
| - ENDIF(NOT TARGET ${plugin}-stageinstall) |
44 | 29 |
|
45 |
| - IF(TARGET staged-${plugin}) |
46 |
| - ADD_DEPENDENCIES(staged-${plugin} ${plugin}-stageinstall) |
47 |
| - ELSE(TARGET staged-${plugin}) |
48 |
| - ADD_CUSTOM_TARGET(staged-${plugin} DEPENDS ${plugin}-stageinstall) |
49 | 30 | ADD_CUSTOM_TARGET(clean-staged-${plugin}
|
50 | 31 | COMMAND ${CMAKE_COMMAND} -E remove_directory ${PYTHON_OUTPUT_DIRECTORY}/plugins/${plugin}
|
51 | 32 | )
|
52 |
| - ENDIF(TARGET staged-${plugin}) |
53 | 33 |
|
| 34 | + ADD_DEPENDENCIES(staged-plugins zzz-${plugin}-stageinstall) |
| 35 | + ADD_CUSTOM_TARGET(staged-${plugin} DEPENDS zzz-${plugin}-stageinstall) |
| 36 | + ENDIF(NOT TARGET zzz-${plugin}-stageinstall) |
| 37 | + |
| 38 | + ADD_CUSTOM_TARGET(zzz-${plugin}-${n}-depend DEPENDS ${ARGN}) |
| 39 | + ADD_DEPENDENCIES(zzz-${plugin}-depend zzz-${plugin}-${n}-depend) |
| 40 | + |
| 41 | + FILE(APPEND ${_cmake} "FILE(MAKE_DIRECTORY \"${PYTHON_OUTPUT_DIRECTORY}/plugins/${plugin}/${subdir}\") |
| 42 | +") |
| 43 | + |
| 44 | + FOREACH(file ${ARGN}) |
| 45 | + GET_FILENAME_COMPONENT(_file "${file}" ABSOLUTE) |
| 46 | + FILE(APPEND ${_cmake} "FILE(COPY \"${_file}\" DESTINATION \"${PYTHON_OUTPUT_DIRECTORY}/plugins/${plugin}/${subdir}\") |
| 47 | +") |
| 48 | + ENDFOREACH(file) |
54 | 49 | ENDMACRO (PLUGIN_INSTALL)
|
55 | 50 |
|
56 | 51 | ADD_SUBDIRECTORY(fTools)
|
|
0 commit comments