mirror of
				https://github.com/qgis/QGIS.git
				synced 2025-11-04 00:04:25 -05:00 
			
		
		
		
	
		
			
				
	
	
		
			64 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			CMake
		
	
	
	
	
	
			
		
		
	
	
			64 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			CMake
		
	
	
	
	
	
# See ../CMakeLists.txt for info on staged-plugins* and clean-staged-plugins targets
 | 
						|
#
 | 
						|
# When developing on a plugin, use the following make targets:
 | 
						|
#   staged-[plugin_dir_name] - stage specific plugin, regenerating any changed resources
 | 
						|
#   clean-staged-[plugin_dir_name] - removes the plugin directory and its contents
 | 
						|
#
 | 
						|
# NOTE: regular project 'make install' is unaffected
 | 
						|
 | 
						|
FILE(WRITE ${CMAKE_BINARY_DIR}/stagecount 0)
 | 
						|
 | 
						|
MACRO (PLUGIN_INSTALL plugin subdir )
 | 
						|
  IF(MSVC)
 | 
						|
    FILE(READ ${CMAKE_BINARY_DIR}/stagecount n)
 | 
						|
    MATH(EXPR n "${n}+1")
 | 
						|
    FILE(WRITE ${CMAKE_BINARY_DIR}/stagecount ${n})
 | 
						|
  ELSE(MSVC)
 | 
						|
    STRING(REPLACE "/" "_" n "${subdir}")
 | 
						|
  ENDIF(MSVC)
 | 
						|
 | 
						|
  # regular project build's install command and target
 | 
						|
  INSTALL(FILES ${ARGN} DESTINATION ${QGIS_DATA_DIR}/python/plugins/${plugin}/${subdir})
 | 
						|
  IF(WITH_STAGED_PLUGINS)
 | 
						|
    ADD_CUSTOM_TARGET(${plugin}-${n} DEPENDS ${ARGN})
 | 
						|
  ELSE(WITH_STAGED_PLUGINS)
 | 
						|
    ADD_CUSTOM_TARGET(${plugin}-${n} ALL DEPENDS ${ARGN})
 | 
						|
  ENDIF(WITH_STAGED_PLUGINS)
 | 
						|
 | 
						|
  # for staged plugin install (to run from build directory)
 | 
						|
  ADD_CUSTOM_TARGET(${plugin}-${n}-stageinstall DEPENDS ${ARGN})
 | 
						|
  ADD_CUSTOM_COMMAND(TARGET ${plugin}-${n}-stageinstall
 | 
						|
    POST_BUILD
 | 
						|
    COMMAND ${CMAKE_COMMAND} -E make_directory ${PYTHON_OUTPUT_DIRECTORY}/plugins/${plugin}/${subdir}
 | 
						|
    WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
 | 
						|
  )
 | 
						|
  FOREACH(file ${ARGN})
 | 
						|
    ADD_CUSTOM_COMMAND(TARGET ${plugin}-${n}-stageinstall
 | 
						|
      POST_BUILD
 | 
						|
      COMMAND ${CMAKE_COMMAND} -E copy_if_different \"${file}\" ${PYTHON_OUTPUT_DIRECTORY}/plugins/${plugin}/${subdir}
 | 
						|
      WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
 | 
						|
      #COMMENT "copying ${file} to ${PYTHON_OUTPUT_DIRECTORY}/plugins/${plugin}/${subdir}"
 | 
						|
    )
 | 
						|
  ENDFOREACH(file)
 | 
						|
  ADD_DEPENDENCIES(staged-plugins ${plugin}-${n}-stageinstall)
 | 
						|
 | 
						|
  IF(TARGET staged-${plugin})
 | 
						|
    ADD_DEPENDENCIES(staged-${plugin} ${plugin}-${n}-stageinstall)
 | 
						|
  ELSE(TARGET staged-${plugin})
 | 
						|
    ADD_CUSTOM_TARGET(staged-${plugin} DEPENDS ${plugin}-${n}-stageinstall)
 | 
						|
    ADD_CUSTOM_TARGET(clean-staged-${plugin}
 | 
						|
      COMMAND ${CMAKE_COMMAND} -E remove_directory ${PYTHON_OUTPUT_DIRECTORY}/plugins/${plugin}
 | 
						|
    )
 | 
						|
  ENDIF(TARGET staged-${plugin})
 | 
						|
 | 
						|
ENDMACRO (PLUGIN_INSTALL)
 | 
						|
 | 
						|
 | 
						|
ADD_SUBDIRECTORY(fTools)
 | 
						|
ADD_SUBDIRECTORY(GdalTools)
 | 
						|
ADD_SUBDIRECTORY(db_manager)
 | 
						|
ADD_SUBDIRECTORY(processing)
 | 
						|
ADD_SUBDIRECTORY(MetaSearch)
 | 
						|
 | 
						|
PY_COMPILE(staged-plugins "${PYTHON_OUTPUT_DIRECTORY}/plugins")
 |