Skip to content

Commit df2d00c

Browse files
committed
fix plugin staging
1 parent d7d5977 commit df2d00c

File tree

1 file changed

+26
-31
lines changed

1 file changed

+26
-31
lines changed

python/plugins/CMakeLists.txt

+26-31
Original file line numberDiff line numberDiff line change
@@ -7,50 +7,45 @@
77
# NOTE: regular project 'make install' is unaffected
88

99
FILE(WRITE ${CMAKE_BINARY_DIR}/stagecount 0)
10-
SET(PYTHON_BINARY_TOPDIR ${CMAKE_CURRENT_BINARY_DIR})
1110

1211
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+
1316
# regular project build's install command and target
1417
INSTALL(FILES ${ARGN} DESTINATION ${QGIS_DATA_DIR}/python/plugins/${plugin}/${subdir})
1518

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)
3220

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)
3625

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}
4128
)
42-
ADD_DEPENDENCIES(staged-plugins ${plugin}-stageinstall)
43-
ENDIF(NOT TARGET ${plugin}-stageinstall)
4429

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)
4930
ADD_CUSTOM_TARGET(clean-staged-${plugin}
5031
COMMAND ${CMAKE_COMMAND} -E remove_directory ${PYTHON_OUTPUT_DIRECTORY}/plugins/${plugin}
5132
)
52-
ENDIF(TARGET staged-${plugin})
5333

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)
5449
ENDMACRO (PLUGIN_INSTALL)
5550

5651
ADD_SUBDIRECTORY(fTools)

0 commit comments

Comments
 (0)