@@ -16,43 +16,66 @@ if(NOT CPACK_DEB_COMPONENT_INSTALL)
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				   set ( CPACK_DEB_COMPONENT_INSTALL  ON ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				endif ( ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				# Если имя компонента по умолчанию не определено, то устанавливается MAIN 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				if ( NOT  CMAKE_INSTALL_DEFAULT_COMPONENT_NAME ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				   set ( CMAKE_INSTALL_DEFAULT_COMPONENT_NAME  MAIN ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				endif ( ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				option ( CMLIB_CPACK_DEFAULT_SCHEME  "Use packaging default scheme"  ON ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				# В   списке компонентов обязательно должны быть MAIN и DEV 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				list ( APPEND  CPACK_COMPONENTS_ALL  MAIN  DEV ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				list ( REMOVE_DUPLICATES  CPACK _COMPONENTS_ALL ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				# Правило формирования имени пакета и файла для компонента MAIN 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				set ( CPACK_DEBIAN_MAIN_PACKAGE_NAME  "${CMLIB_PROJECT_NAME_LOWER}" ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				set ( CPACK_DEBIAN_MAIN_FILE_NAME 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    "${CMLIB_PROJECT_NAME_LOWER}_${CPACK_PACKAGE_VERSION}_${CPACK_TARGET_ARCH}.deb" ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				# Правило формирования имени пакета и файла для остальных компонентов 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				foreach ( C  ${ CPACK_COMPONENTS_ALL } ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				   if ( NOT  "${C}"  STREQUAL  "MAIN" ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				     string ( TOLOWER  "${C}"  cl ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				     set ( CPACK_DEBIAN_ ${ C } _PACKAGE_NAME  "${CMLIB_PROJECT_NAME_LOWER}-${cl}" ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				     set ( CPACK_DEBIAN_ ${ C } _FILE_NAME 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				        "${CMLIB_PROJECT_NAME_LOWER}-${cl}_${CPACK_PACKAGE_VERSION}_${CPACK_TARGET_ARCH}.deb" ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				if ( CMLIB_CPACK_DEFAULT_SCHEME ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				   # Если имя компонента по умолчанию не определено, то устанавливается MAIN 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				   if ( NOT  CMAKE_INSTALL_DEFAULT _COMPONENT_NAME ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    set ( CMAKE_INSTALL_DEFAULT_COMPONENT_NAME  main )  
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				   endif ( ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				endforeach ( ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				# Если в каталоге ${CMAKE_SOURCE_DIR}/cmake/deb находятся сценарии сопровождающего  
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				# postinst, preinst, postrm и prerm, то они будут добавлены к пакету. 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				if ( EXISTS  "${CMAKE_SOURCE_DIR}/cmake/deb/preinst" ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				   list ( APPEND  CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA  "${CMAKE_SOURCE_DIR}/cmake/deb/preinst" ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				endif ( ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				if ( EXISTS  "${CMAKE_SOURCE_DIR}/cmake/deb/postinst" ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    list ( APPEND  CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA  "${CMAKE_SOURCE_DIR}/cmake/deb/postinst" ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				endif ( ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				if ( EXISTS  "${CMAKE_SOURCE_DIR}/cmake/deb/prerm" ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				  list ( APPEND  CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA  "${CMAKE_SOURCE_DIR}/cmake/deb/prerm" )  
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				endif ( ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				if ( EXISTS  "${CMAKE_SOURCE_DIR}/cmake/deb/postrm ") 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				   li st( APPEND   CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA  "${CMAKE_SOURCE_DIR}/cmake/deb/postrm" ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				   # В   списке компонентов обязательно должны быть main, base-dev, libs-dev и doc 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				  list (  
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    APPEND  
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    CPACK_COMPONENTS_ALL  
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    main  
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    base-dev  
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				      libs-dev 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				    doc  ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				  list ( REMOVE_DUPLICATES  CPACK_COMPONENTS_ALL  ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				  # Правило формирования имени пакета и файла для компонента main  
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				   set ( CPACK_DEBIAN_MAIN_PACKAGE_NAME  "${CMLIB_PROJECT_NAME_LOWER} ") 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				   se t ( CPACK_DEBIAN_MAIN_FILE_NAME  
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				      ${ CMLIB_PROJECT_NAME_LOWER } _ ${ CPACK_PACKAGE_VERSION } _ ${ CPACK_TARGET_ARCH } .deb ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				   # Правило формирования имени пакета и файла для компонента base-dev 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				   set ( CPACK_DEBIAN_BASE-DEV_PACKAGE_NAME  "${CMLIB_PROJECT_NAME_LOWER}-base-dev" ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				   set ( CPACK_DEBIAN_BASE-DEV_FILE_NAME 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				      ${ CMLIB_PROJECT_NAME_LOWER } -base-dev_ ${ CPACK_PACKAGE_VERSION } _ ${ CPACK_TARGET_ARCH } .deb ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				   # Правило формирования имени пакета и файла для компонента libs-dev 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				   set ( CPACK_DEBIAN_LIBS-DEV_PACKAGE_NAME  ${ CMLIB_PROJECT_NAME_LOWER } -dev ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				   set ( CPACK_DEBIAN_LIBS-DEV_FILE_NAME 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				      ${ CMLIB_PROJECT_NAME_LOWER } -dev_ ${ CPACK_PACKAGE_VERSION } _ ${ CPACK_TARGET_ARCH } .deb ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				   set ( CPACK_DEBIAN_LIBS-DEV_PACKAGE_DEPENDS  "${CMLIB_PROJECT_NAME_LOWER}-base-dev" ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				   foreach ( _C  ${ CPACK_COMPONENTS_ALL } ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				     string ( TOLOWER  ${ _C }  _cl ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				     string ( TOUPPER  ${ _C }  _cu ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				     # Правила формирования имени пакета и файла для остальных компонентов 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				     if ( NOT  ${ _cl }  STREQUAL  main  AND  NOT  ${ _cl }  STREQUAL  base-dev  AND  NOT  ${ _cl }  STREQUAL  libs-dev ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				       set ( CPACK_DEBIAN_ ${ _cu } _PACKAGE_NAME  "${CMLIB_PROJECT_NAME_LOWER}-${_cl}" ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				       set ( CPACK_DEBIAN_ ${ _cu } _FILE_NAME 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				          "${CMLIB_PROJECT_NAME_LOWER}-${_cl}_${CPACK_PACKAGE_VERSION}_${CPACK_TARGET_ARCH}.deb" ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				     endif ( ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				     # Если в каталоге ${CMAKE_SOURCE_DIR}/cmake/deb/${_cl} находятся сценарии сопровождающего 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				     # postinst, preinst, postrm и prerm, то они будут добавлены к пакету. 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				     if ( EXISTS  "${CMAKE_SOURCE_DIR}/cmake/deb/${_cl}/preinst" ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				       list ( APPEND  CPACK_DEBIAN_ ${ _cu } _PACKAGE_CONTROL_EXTRA  "${CMAKE_SOURCE_DIR}/cmake/deb/${_cl}/preinst" ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				     endif ( ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				     if ( EXISTS  "${CMAKE_SOURCE_DIR}/cmake/deb/${_cl}/postinst" ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				       list ( APPEND  CPACK_DEBIAN_ ${ _cu } _PACKAGE_CONTROL_EXTRA  "${CMAKE_SOURCE_DIR}/cmake/deb/${_cl}/postinst" ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				     endif ( ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				     if ( EXISTS  "${CMAKE_SOURCE_DIR}/cmake/deb/${_cl}/prerm" ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				       list ( APPEND  CPACK_DEBIAN_ ${ _cu } _PACKAGE_CONTROL_EXTRA  "${CMAKE_SOURCE_DIR}/cmake/deb/${_cl}/prerm" ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				     endif ( ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				     if ( EXISTS  "${CMAKE_SOURCE_DIR}/cmake/deb/${_cl}/postrm" ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				       list ( APPEND  CPACK_DEBIAN_ ${ _cu } _PACKAGE_CONTROL_EXTRA  "${CMAKE_SOURCE_DIR}/cmake/deb/${_cl}/postrm" ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				     endif ( ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				   endforeach ( ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				endif ( ) 
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				
 
			
		 
		
	
		
			
				 
				 
			
			 
			 
			
				if ( UNIX  AND  NOT  TARGET  deb )