@ -1,6 +1,390 @@
# D e f a u l t o u t p u t f i l e s w i l l b e C P a c k C o n f i g . c m a k e a n d C P a c k S o u r c e C o n f i g . c m a k e .
# T h i s c a n b e o v e r w r i t t e n w i t h C P A C K _ O U T P U T _ C O N F I G _ F I L E a n d
# C P A C K _ S O U R C E _ O U T P U T _ C O N F I G _ F I L E .
# - B u i l d b i n a r y a n d s o u r c e p a c k a g e i n s t a l l e r s
#
# T h e C P a c k m o d u l e g e n e r a t e s b i n a r y a n d s o u r c e i n s t a l l e r s i n a v a r i e t y
# o f f o r m a t s u s i n g t h e c p a c k p r o g r a m . I n c l u s i o n o f t h e C P a c k m o d u l e
# a d d s t w o n e w t a r g e t s t o t h e r e s u l t i n g m a k e f i l e s , p a c k a g e a n d
# p a c k a g e _ s o u r c e , w h i c h b u i l d t h e b i n a r y a n d s o u r c e i n s t a l l e r s ,
# r e s p e c t i v e l y . T h e g e n e r a t e d b i n a r y i n s t a l l e r s c o n t a i n e v e r y t h i n g
# i n s t a l l e d v i a C M a k e ' s I N S T A L L command ( and the deprecated
# I N S T A L L _ F I L E S , I N S T A L L _ P R O G R A M S , a n d I N S T A L L _ T A R G E T S c o m m a n d s ) .
#
# F o r c e r t a i n k i n d s o f b i n a r y installers ( including the graphical
# i n s t a l l e r s o n M a c O S X a n d W i n d o w s ) , C P a c k g e n e r a t e s i n s t a l l e r s t h a t
# a l l o w u s e r s t o s e l e c t i n d i v i d u a l a p p l i c a t i o n c o m p o n e n t s t o
# i n s t a l l . T h e c o n t e n t s o f e a c h o f t h e c o m p o n e n t s a r e i d e n t i f i e d b y
# t h e C O M P O N E N T a r g u m e n t o f C M a k e ' s I N S T A L L c o m m a n d . T h e s e c o m p o n e n t s
# c a n b e a n n o t a t e d w i t h u s e r - f r i e n d l y n a m e s a n d d e s c r i p t i o n s ,
# i n t e r - c o m p o n e n t d e p e n d e n c i e s , e t c . , a n d g r o u p e d i n v a r i o u s w a y s t o
# c u s t o m i z e t h e r e s u l t i n g i n s t a l l e r . S e e t h e c p a c k _ a d d _ * c o m m a n d s ,
# d e s c r i b e d b e l o w , f o r m o r e i n f o r m a t i o n a b o u t c o m p o n e n t - s p e c i f i c
# i n s t a l l a t i o n s .
#
# B e f o r e i n c l u d i n g t h e C P a c k m o d u l e , t h e r e a r e a v a r i e t y o f v a r i a b l e s
# t h a t c a n b e s e t t o c u s t o m i z e t h e r e s u l t i n g i n s t a l l e r s . T h e m o s t
# c o m m o n l y - u s e d v a r i a b l e s a r e :
#
# C P A C K _ P A C K A G E _ N A M E - T h e n a m e o f t h e package ( or application ) . I f
# n o t s p e c i f i e d , d e f a u l t s t o t h e p r o j e c t n a m e .
#
# C P A C K _ P A C K A G E _ V E N D O R - T h e n a m e o f t h e p a c k a g e vendor ( e.g.,
# " K i t w a r e " ) .
#
# C P A C K _ P A C K A G E _ V E R S I O N _ M A J O R - P a c k a g e m a j o r V e r s i o n
#
# C P A C K _ P A C K A G E _ V E R S I O N _ M I N O R - P a c k a g e m i n o r V e r s i o n
#
# C P A C K _ P A C K A G E _ V E R S I O N _ P A T C H - P a c k a g e p a t c h V e r s i o n
#
# C P A C K _ P A C K A G E _ D E S C R I P T I O N _ F I L E - A t e x t f i l e u s e d t o d e s c r i b e t h e
# p r o j e c t . U s e d , f o r e x a m p l e , t h e i n t r o d u c t i o n s c r e e n o f a
# C P a c k - g e n e r a t e d W i n d o w s i n s t a l l e r t o d e s c r i b e t h e p r o j e c t .
#
# C P A C K _ P A C K A G E _ D E S C R I P T I O N _ S U M M A R Y - S h o r t d e s c r i p t i o n o f t h e
# project ( only a few words ) .
#
# C P A C K _ P A C K A G E _ F I L E _ N A M E - T h e n a m e o f t h e p a c k a g e f i l e t o g e n e r a t e ,
# n o t i n c l u d i n g t h e e x t e n s i o n . F o r e x a m p l e , c m a k e - 2 . 6 . 1 - L i n u x - i 6 8 6 .
#
# C P A C K _ P A C K A G E _ I N S T A L L _ D I R E C T O R Y - I n s t a l l a t i o n d i r e c t o r y o n t h e
# t a r g e t s y s t e m , e . g . , " C M a k e 2 . 5 " .
#
# C P A C K _ R E S O U R C E _ F I L E _ L I C E N S E - L i c e n s e f i l e f o r t h e p r o j e c t , w h i c h
# w i l l t y p i c a l l y b e d i s p l a y e d t o t h e user ( often with an explicit
# " A c c e p t " b u t t o n , f o r g r a p h i c a l i n s t a l l e r s ) p r i o r t o i n s t a l l a t i o n .
#
# C P A C K _ R E S O U R C E _ F I L E _ R E A D M E - R e a d M e f i l e f o r t h e p r o j e c t , w h i c h
# t y p i c a l l y d e s c r i b e s i n s o m e d e t a i l
#
# C P A C K _ R E S O U R C E _ F I L E _ W E L C O M E - W e l c o m e f i l e f o r t h e p r o j e c t , w h i c h
# w e l c o m e s u s e r s t o t h i s i n s t a l l e r . T y p i c a l l y u s e d i n t h e g r a p h i c a l
# i n s t a l l e r s o n W i n d o w s a n d M a c O S X .
#
# C P A C K _ M O N O L I T H I C _ I N S T A L L - D i s a b l e s t h e c o m p o n e n t - b a s e d
# i n s t a l l a t i o n m e c h a n i s m , s o t h a t a l l c o m p o n e n t s a r e a l w a y s i n s t a l l e d .
#
# C P A C K _ G E N E R A T O R - L i s t o f C P a c k g e n e r a t o r s t o u s e . I f n o t
# s p e c i f i e d , C P a c k w i l l c r e a t e a s e t o f options ( e.g.,
# C P A C K _ B I N A R Y _ N S I S ) a l l o w i n g t h e u s e r t o e n a b l e / d i s a b l e i n d i v i d u a l
# g e n e r a t o r s .
#
# C P A C K _ O U T P U T _ C O N F I G _ F I L E - T h e n a m e o f t h e C P a c k c o n f i g u r a t i o n f i l e
# f o r b i n a r y i n s t a l l e r s t h a t w i l l b e g e n e r a t e d b y t h e C P a c k
# m o d u l e . D e f a u l t s t o C P a c k C o n f i g . c m a k e .
#
# C P A C K _ P A C K A G E _ E X E C U T A B L E S - L i s t s e a c h o f t h e e x e c u t a b l e s a l o n g
# w i t h a t e x t l a b e l , t o b e u s e d t o c r e a t e S t a r t M e n u s h o r t c u t s o n
# W i n d o w s . F o r e x a m p l e , s e t t i n g t h i s t o t h e l i s t c c m a k e ; C M a k e w i l l
# c r e a t e a s h o r t c u t n a m e d " C M a k e " t h a t w i l l e x e c u t e t h e i n s t a l l e d
# e x e c u t a b l e c c m a k e .
#
# C P A C K _ S T R I P _ F I L E S - L i s t o f f i l e s t o b e s t r i p p e d . S t a r t i n g w i t h
# C M a k e 2 . 6 . 0 C P A C K _ S T R I P _ F I L E S w i l l b e a b o o l e a n v a r i a b l e w h i c h
# e n a b l e s s t r i p p i n g o f a l l files ( a list of files evaluates to TRUE
# i n C M a k e , s o t h i s c h a n g e i s c o m p a t i b l e ) .
#
# T h e f o l l o w i n g C P a c k v a r i a b l e s a r e s p e c i f i c t o s o u r c e p a c k a g e s , a n d
# w i l l n o t a f f e c t b i n a r y p a c k a g e s :
#
# C P A C K _ S O U R C E _ P A C K A G E _ F I L E _ N A M E - T h e n a m e o f t h e s o u r c e p a c k a g e ,
# e . g . , c m a k e - 2 . 6 . 1
#
# C P A C K _ S O U R C E _ S T R I P _ F I L E S - L i s t o f f i l e s i n t h e s o u r c e t r e e t h a t
# w i l l b e s t r i p p e d . S t a r t i n g w i t h C M a k e 2 . 6 . 0
# C P A C K _ S O U R C E _ S T R I P _ F I L E S w i l l b e a b o o l e a n v a r i a b l e w h i c h e n a b l e s
# s t r i p p i n g o f a l l files ( a list of files evaluates to TRUE in CMake,
# s o t h i s c h a n g e i s c o m p a t i b l e ) .
#
# C P A C K _ S O U R C E _ G E N E R A T O R - L i s t o f g e n e r a t o r s u s e d f o r t h e s o u r c e
# p a c k a g e s . A s w i t h C P A C K _ G E N E R A T O R , i f t h i s i s n o t s p e c i f i e d t h e n
# C P a c k w i l l c r e a t e a s e t o f options ( e.g., CPACK_SOURCE_ZIP )
# a l l o w i n g u s e r s t o s e l e c t w h i c h p a c k a g e s w i l l b e g e n e r a t e d .
#
# C P A C K _ S O U R C E _ O U T P U T _ C O N F I G _ F I L E - T h e n a m e o f t h e C P a c k
# c o n f i g u r a t i o n f i l e f o r s o u r c e i n s t a l l e r s t h a t w i l l b e g e n e r a t e d b y
# t h e C P a c k m o d u l e . D e f a u l t s t o C P a c k S o u r c e C o n f i g . c m a k e .
#
# C P A C K _ S O U R C E _ I G N O R E _ F I L E S - P a t t e r n o f f i l e s i n t h e s o u r c e t r e e
# t h a t w o n ' t b e p a c k a g e d w h e n b u i l d i n g a s o u r c e p a c k a g e . T h i s i s a
# l i s t o f p a t t e r n s , e . g . , / C V S / ; / \ \ . s v n / ; \ \ . s w p $ ; \ \ . # ; / # ; . * ~ ; c s c o p e . *
#
# T h e f o l l o w i n g v a r i a b l e s a r e s p e c i f i c t o t h e g r a p h i c a l i n s t a l l e r s b u i l t
# o n W i n d o w s u s i n g t h e N u l l s o f t I n s t a l l a t i o n S y s t e m .
#
# C P A C K _ P A C K A G E _ I N S T A L L _ R E G I S T R Y _ K E Y - R e g i s t r y k e y u s e d w h e n
# i n s t a l l i n g t h i s p r o j e c t .
#
# C P A C K _ N S I S _ M U I _ I C O N - T h e i c o n file ( .ico ) f o r t h e g e n e r a t e d
# i n s t a l l p r o g r a m .
#
# C P A C K _ N S I S _ M U I _ U N I I C O N - T h e i c o n file ( .ico ) f o r t h e g e n e r a t e d
# u n i n s t a l l p r o g r a m .
#
# C P A C K _ P A C K A G E _ I C O N - A b r a n d i n g i m a g e t h a t w i l l b e d i s p l a y e d i n s i d e
# t h e i n s t a l l e r .
#
# C P A C K _ N S I S _ E X T R A _ I N S T A L L _ C O M M A N D S - E x t r a N S I S c o m m a n d s t h a t w i l l
# b e a d d e d t o t h e i n s t a l l S e c t i o n .
#
# C P A C K _ N S I S _ E X T R A _ U N I N S T A L L _ C O M M A N D S - E x t r a N S I S c o m m a n d s t h a t w i l l
# b e a d d e d t o t h e u n i n s t a l l S e c t i o n .
#
# C P A C K _ N S I S _ C O M P R E S S O R - T h e a r g u m e n t s t h a t w i l l b e p a s s e d t o t h e
# N S I S S e t C o m p r e s s o r c o m m a n d .
#
# C P A C K _ N S I S _ M O D I F Y _ P A T H - I f t h i s i s s e t t o " O N " , t h e n a n e x t r a p a g e
# w i l l a p p e a r i n t h e i n s t a l l e r t h a t w i l l a l l o w t h e u s e r t o c h o o s e
# w h e t h e r t h e p r o g r a m d i r e c t o r y s h o u l d b e a d d e d t o t h e s y s t e m P A T H
# v a r i a b l e .
#
# C P A C K _ N S I S _ D I S P L A Y _ N A M E - T h e t i t l e d i s p l a y e d a t t h e t o p o f t h e
# i n s t a l l e r .
#
# C P A C K _ N S I S _ I N S T A L L E D _ I C O N _ N A M E - A p a t h t o t h e e x e c u t a b l e t h a t
# c o n t a i n s t h e i n s t a l l e r i c o n .
#
# C P A C K _ N S I S _ H E L P _ L I N K - U R L t o a w e b s i t e p r o v i d i n g a s s i s t a n c e i n
# i n s t a l l i n g y o u r a p p l i c a t i o n .
#
# C P A C K _ N S I S _ U R L _ I N F O _ A B O U T - U R L t o a w e b s i t e p r o v i d i n g m o r e
# i n f o r m a t i o n a b o u t y o u r a p p l i c a t i o n .
#
# C P A C K _ N S I S _ C O N T A C T - C o n t a c t i n f o r m a t i o n f o r q u e s t i o n s a n d c o m m e n t s
# a b o u t t h e i n s t a l l a t i o n p r o c e s s .
#
# C P A C K _ N S I S _ C R E A T E _ I C O N S _ E X T R A - A d d i t i o n a l N S I S c o m m a n d s f o r
# c r e a t i n g s t a r t m e n u s h o r t c u t s .
#
# C P A C K _ N S I S _ D E L E T E _ I C O N S _ E X T R A - A d d i t i o n a l N S I S c o m m a n d s t o
# u n i n s t a l l s t a r t m e n u s h o r t c u t s .
#
# T h e f o l l o w i n g v a r i a b l e i s s p e c i f i c t o i n s t a l l e r s b u i l d o n M a c O S X
# u s i n g P a c k a g e M a k e r :
#
# C P A C K _ O S X _ P A C K A G E _ V E R S I O N - T h e v e r s i o n o f M a c O S X t h a t t h e
# r e s u l t i n g P a c k a g e M a k e r a r c h i v e s h o u l d b e c o m p a t i b l e
# w i t h . D i f f e r e n t v e r s i o n s o f M a c O S X s u p p o r t d i f f e r e n t
# f e a t u r e s . F o r e x a m p l e , C P a c k c a n o n l y b u i l d c o m p o n e n t - b a s e d
# i n s t a l l e r s f o r M a c O S X 1 0 . 4 o r n e w e r , a n d c a n o n l y b u i l d
# i n s t a l l e r s t h a t d o w n l o a d c o m p o n e n t s o n - t h e - f l y f o r M a c O S X 1 0 . 5
# o r n e w e r . I f l e f t b l a n k , t h i s v a l u e w i l l b e s e t t o t h e m i n i m u m
# v e r s i o n o f M a c O S X t h a t s u p p o r t s t h e r e q u e s t e d f e a t u r e s . S e t t h i s
# v a r i a b l e t o s o m e value ( e.g., 10.4 ) o n l y i f y o u w a n t t o g u a r a n t e e
# t h a t y o u r i n s t a l l e r w i l l w o r k o n t h a t v e r s i o n o f M a c O S X , a n d
# d o n ' t m i n d m i s s i n g e x t r a f e a t u r e s a v a i l a b l e i n t h e i n s t a l l e r
# s h i p p i n g w i t h l a t e r v e r s i o n s o f M a c O S X .
#
# T h e f o l l o w i n g v a r i a b l e s a r e f o r a d v a n c e d u s e s o f C P a c k :
#
# C P A C K _ C M A K E _ G E N E R A T O R - W h a t C M a k e g e n e r a t o r s h o u l d b e u s e d i f t h e
# p r o j e c t i s C M a k e p r o j e c t . D e f a u l t s t o t h e v a l u e o f C M A K E _ G E N E R A T O R ;
# f e w u s e r s w i l l w a n t t o c h a n g e t h i s s e t t i n g .
#
# C P A C K _ I N S T A L L _ C M A K E _ P R O J E C T S - L i s t o f f o u r v a l u e s t h a t s p e c i f y
# w h a t p r o j e c t t o i n s t a l l . T h e f o u r v a l u e s a r e : B u i l d d i r e c t o r y ,
# P r o j e c t N a m e , P r o j e c t C o m p o n e n t , D i r e c t o r y . I f o m i t t e d , C P a c k w i l l
# b u i l d a n i n s t a l l e r t h a t i n s t a l l e r s e v e r y t h i n g .
#
# C P A C K _ S Y S T E M _ N A M E - S y s t e m n a m e , d e f a u l t s t o t h e v a l u e o f
# $ { C M A K E _ S Y S T E M _ N A M E } .
#
# C P A C K _ P A C K A G E _ V E R S I O N - P a c k a g e f u l l v e r s i o n , u s e d i n t e r n a l l y . B y
# d e f a u l t , t h i s i s b u i l t f r o m C P A C K _ P A C K A G E _ V E R S I O N _ M A J O R ,
# C P A C K _ P A C K A G E _ V E R S I O N _ M I N O R , a n d C P A C K _ P A C K A G E _ V E R S I O N _ P A T C H .
#
# C P A C K _ T O P L E V E L _ T A G - D i r e c t o r y f o r t h e i n s t a l l e d f i l e s .
#
# C P A C K _ I N S T A L L _ C O M M A N D S - E x t r a c o m m a n d s t o i n s t a l l c o m p o n e n t s .
#
# C P A C K _ I N S T A L L _ D I R E C T O R I E S - E x t r a d i r e c t o r i e s t o i n s t a l l .
#
# C o m p o n e n t - s p e c i f i c i n s t a l l a t i o n a l l o w s u s e r s t o s e l e c t s p e c i f i c s e t s
# o f c o m p o n e n t s t o i n s t a l l d u r i n g t h e i n s t a l l p r o c e s s . I n s t a l l a t i o n
# c o m p o n e n t s a r e i d e n t i f i e d b y t h e C O M P O N E N T a r g u m e n t o f C M a k e ' s
# I N S T A L L c o m m a n d s , a n d s h o u l d b e f u r t h e r d e s c r i b e d b y t h e f o l l o w i n g
# C P a c k c o m m a n d s :
#
# c p a c k _ a d d _ c o m p o n e n t - D e s c r i b e s a C P a c k i n s t a l l a t i o n c o m p o n e n t
# n a m e d b y t h e C O M P O N E N T a r g u m e n t t o a C M a k e I N S T A L L c o m m a n d .
#
# cpack_add_component ( compname
# [ D I S P L A Y _ N A M E n a m e ]
# [ D E S C R I P T I O N d e s c r i p t i o n ]
# [ H I D D E N | R E Q U I R E D | D I S A B L E D ]
# [ G R O U P g r o u p ]
# [ D E P E N D S c o m p 1 c o m p 2 . . . ]
# [ I N S T A L L _ T Y P E S t y p e 1 t y p e 2 . . . ]
# [ D O W N L O A D E D ]
# [ A R C H I V E _ F I L E f i l e n a m e ] )
#
# T h e c m a k e _ a d d _ c o m p o n e n t c o m m a n d d e s c r i b e s a n i n s t a l l a t i o n
# c o m p o n e n t , w h i c h t h e u s e r c a n o p t t o i n s t a l l o r r e m o v e a s p a r t o f
# t h e g r a p h i c a l i n s t a l l a t i o n p r o c e s s . c o m p n a m e i s t h e n a m e o f t h e
# c o m p o n e n t , a s p r o v i d e d t o t h e C O M P O N E N T a r g u m e n t o f o n e o r m o r e
# C M a k e I N S T A L L c o m m a n d s .
#
# D I S P L A Y _ N A M E i s t h e d i s p l a y e d n a m e o f t h e c o m p o n e n t , u s e d i n
# g r a p h i c a l i n s t a l l e r s t o d i s p l a y t h e c o m p o n e n t n a m e . T h i s v a l u e c a n
# b e a n y s t r i n g .
#
# D E S C R I P T I O N i s a n e x t e n d e d d e s c r i p t i o n o f t h e c o m p o n e n t , u s e d i n
# g r a p h i c a l i n s t a l l e r s t o g i v e t h e u s e r a d d i t i o n a l i n f o r m a t i o n a b o u t
# t h e c o m p o n e n t . D e s c r i p t i o n s c a n s p a n m u l t i p l e l i n e s u s i n g " \ n " a s
# t h e l i n e s e p a r a t o r . T y p i c a l l y , t h e s e d e s c r i p t i o n s s h o u l d b e n o
# m o r e t h a n a f e w l i n e s l o n g .
#
# H I D D E N i n d i c a t e s t h a t t h i s c o m p o n e n t w i l l b e h i d d e n i n t h e
# g r a p h i c a l i n s t a l l e r , s o t h a t t h e u s e r c a n n o t d i r e c t l y c h a n g e
# w h e t h e r i t i s i n s t a l l e d o r n o t .
#
# R E Q U I R E D i n d i c a t e s t h a t t h i s c o m p o n e n t i s r e q u i r e d , a n d t h e r e f o r e
# w i l l a l w a y s b e i n s t a l l e d . I t w i l l b e v i s i b l e i n t h e g r a p h i c a l
# i n s t a l l e r , b u t i t c a n n o t b e u n s e l e c t e d . ( T y p i c a l l y , r e q u i r e d
# c o m p o n e n t s a r e s h o w n g r e y e d o u t ) .
#
# D I S A B L E D i n d i c a t e s t h a t t h i s c o m p o n e n t s h o u l d b e d i s a b l e d
# ( u n s e l e c t e d ) b y d e f a u l t . T h e u s e r i s f r e e t o s e l e c t t h i s c o m p o n e n t
# f o r i n s t a l l a t i o n , u n l e s s i t i s a l s o H I D D E N .
#
# D E P E N D S l i s t s t h e c o m p o n e n t s o n w h i c h t h i s c o m p o n e n t d e p e n d s . I f
# t h i s c o m p o n e n t i s s e l e c t e d , t h e n e a c h o f t h e c o m p o n e n t s l i s t e d
# m u s t a l s o b e s e l e c t e d . T h e d e p e n d e n c y i n f o r m a t i o n i s e n c o d e d
# w i t h i n t h e i n s t a l l e r i t s e l f , s o t h a t u s e r s c a n n o t i n s t a l l
# i n c o n s i t e n t s e t s o f c o m p o n e n t s .
#
# G R O U P n a m e s t h e c o m p o n e n t g r o u p o f w h i c h t h i s c o m p o n e n t i s a
# p a r t . I f n o t p r o v i d e d , t h e c o m p o n e n t w i l l b e a s t a n d a l o n e
# c o m p o n e n t , n o t p a r t o f a n y c o m p o n e n t g r o u p . C o m p o n e n t g r o u p s a r e
# d e s c r i b e d w i t h t h e c p a c k _ a d d _ c o m p o n e n t _ g r o u p c o m m a n d , d e t a i l e d
# b e l o w .
#
# I N S T A L L _ T Y P E S l i s t s t h e i n s t a l l a t i o n t y p e s o f w h i c h t h i s c o m p o n e n t
# i s a p a r t . W h e n o n e o f t h e s e i n s t a l l a t i o n s t y p e s i s s e l e c t e d , t h i s
# c o m p o n e n t w i l l a u t o m a t i c a l l y b e s e l e c t e d . I n s t a l l a t i o n t y p e s a r e
# d e s c r i b e d w i t h t h e c p a c k _ a d d _ i n s t a l l _ t y p e c o m m a n d , d e t a i l e d b e l o w .
#
# D O W N L O A D E D i n d i c a t e s t h a t t h i s c o m p o n e n t s h o u l d b e d o w n l o a d e d
# o n - t h e - f l y b y t h e i n s t a l l e r , r a t h e r t h a n p a c k a g e d i n w i t h t h e
# i n s t a l l e r i t s e l f . F o r m o r e i n f o r m a t i o n , s e e t h e c p a c k _ c o n f i g u r e _ d o w n l o a d s
# c o m m a n d .
#
# A R C H I V E _ F I L E p r o v i d e s a n a m e f o r t h e a r c h i v e f i l e c r e a t e d b y C P a c k
# t o b e u s e d f o r d o w n l o a d e d c o m p o n e n t s . I f n o t s u p p l i e d , C P a c k w i l l
# c r e a t e a f i l e w i t h s o m e n a m e b a s e d o n C P A C K _ P A C K A G E _ F I L E _ N A M E a n d
# t h e n a m e o f t h e c o m p o n e n t . S e e c p a c k _ c o n f i g u r e _ d o w n l o a d s f o r m o r e
# i n f o r m a t i o n .
#
# c p a c k _ a d d _ c o m p o n e n t _ g r o u p - D e s c r i b e s a g r o u p o f r e l a t e d C P a c k
# i n s t a l l a t i o n c o m p o n e n t s .
#
# cpack_add_component_group ( groupname
# [ D I S P L A Y _ N A M E n a m e ]
# [ D E S C R I P T I O N d e s c r i p t i o n ]
# [ P A R E N T _ G R O U P p a r e n t ]
# [ E X P A N D E D ]
# [ B O L D _ T I T L E ] )
#
# T h e c p a c k _ a d d _ c o m p o n e n t _ g r o u p d e s c r i b e s a g r o u p o f i n s t a l l a t i o n
# c o m p o n e n t s , w h i c h w i l l b e p l a c e d t o g e t h e r w i t h i n t h e l i s t i n g o f
# o p t i o n s . T y p i c a l l y , c o m p o n e n t g r o u p s a l l o w t h e u s e r t o
# s e l e c t / d e s e l e c t a l l o f t h e c o m p o n e n t s w i t h i n a s i n g l e g r o u p v i a a
# s i n g l e g r o u p - l e v e l o p t i o n . U s e c o m p o n e n t g r o u p s t o r e d u c e t h e
# c o m p l e x i t y o f i n s t a l l e r s w i t h m a n y o p t i o n s . g r o u p n a m e i s a n
# a r b i t r a r y n a m e u s e d t o i d e n t i f y t h e g r o u p i n t h e G R O U P a r g u m e n t o f
# t h e c p a c k _ a d d _ c o m p o n e n t c o m m a n d , w h i c h i s u s e d t o p l a c e a
# c o m p o n e n t i n a g r o u p . T h e n a m e o f t h e g r o u p m u s t n o t c o n f l i c t w i t h
# t h e n a m e o f a n y c o m p o n e n t .
#
# D I S P L A Y _ N A M E i s t h e d i s p l a y e d n a m e o f t h e c o m p o n e n t g r o u p , u s e d i n
# g r a p h i c a l i n s t a l l e r s t o d i s p l a y t h e c o m p o n e n t g r o u p n a m e . T h i s
# v a l u e c a n b e a n y s t r i n g .
#
# D E S C R I P T I O N i s a n e x t e n d e d d e s c r i p t i o n o f t h e c o m p o n e n t g r o u p ,
# u s e d i n g r a p h i c a l i n s t a l l e r s t o g i v e t h e u s e r a d d i t i o n a l
# i n f o r m a t i o n a b o u t t h e c o m p o n e n t s w i t h i n t h a t g r o u p . D e s c r i p t i o n s
# c a n s p a n m u l t i p l e l i n e s u s i n g " \ n " a s t h e l i n e
# s e p a r a t o r . T y p i c a l l y , t h e s e d e s c r i p t i o n s s h o u l d b e n o m o r e t h a n a
# f e w l i n e s l o n g .
#
# P A R E N T _ G R O U P , i f s u p p l i e d , n a m e s t h e p a r e n t g r o u p o f t h i s g r o u p .
# P a r e n t g r o u p s a r e u s e d t o e s t a b l i s h a h i e r a r c h y o f g r o u p s ,
# p r o v i d i n g a n a r b i t r a r y h i e r a r c h y o f g r o u p s .
#
# E X P A N D E D i n d i c a t e s t h a t , b y d e f a u l t , t h e g r o u p s h o u l d s h o w u p a s
# " e x p a n d e d " , s o t h a t t h e u s e r i m m e d i a t e l y s e e s a l l o f t h e
# c o m p o n e n t s w i t h i n t h e g r o u p . O t h e r w i s e , t h e g r o u p w i l l i n i t i a l l y
# s h o w u p a s a s i n g l e e n t r y .
#
# B O L D _ T I T L E i n d i c a t e s t h a t t h e g r o u p t i t l e s h o u l d a p p e a r i n b o l d ,
# t o c a l l t h e u s e r ' s a t t e n t i o n t o t h e g r o u p .
#
# c p a c k _ a d d _ i n s t a l l _ t y p e - A d d a n e w i n s t a l l a t i o n t y p e c o n t a i n i n g a
# s e t o f p r e d e f i n e d c o m p o n e n t s e l e c t i o n s t o t h e g r a p h i c a l i n s t a l l e r .
#
# cpack_add_install_type ( typename
# [ D I S P L A Y _ N A M E n a m e ] )
#
# T h e c p a c k _ a d d _ i n s t a l l _ t y p e c o m m a n d i d e n t i f i e s a s e t o f p r e s e l e c t e d
# c o m p o n e n t s t h a t r e p r e s e n t s a c o m m o n u s e c a s e f o r a n
# a p p l i c a t i o n . F o r e x a m p l e , a " D e v e l o p e r " i n s t a l l t y p e m i g h t i n c l u d e
# a n a p p l i c a t i o n a l o n g w i t h i t s h e a d e r a n d l i b r a r y f i l e s , w h i l e a n
# " E n d u s e r " i n s t a l l t y p e m i g h t j u s t i n c l u d e t h e a p p l i c a t i o n ' s
# e x e c u t a b l e . E a c h c o m p o n e n t i d e n t i f i e s i t s e l f w i t h o n e o r m o r e
# i n s t a l l t y p e s v i a t h e I N S T A L L _ T Y P E S a r g u m e n t t o
# c p a c k _ a d d _ c o m p o n e n t .
#
# D I S P L A Y _ N A M E i s t h e d i s p l a y e d n a m e o f t h e i n s t a l l t y p e , w h i c h w i l l
# t y p i c a l l y s h o w u p i n a d r o p - d o w n b o x w i t h i n a g r a p h i c a l
# i n s t a l l e r . T h i s v a l u e c a n b e a n y s t r i n g .
#
# c p a c k _ c o n f i g u r e _ d o w n l o a d s - C o n f i g u r e C P a c k t o d o w n l o a d s e l e c t e d
# c o m p o n e n t s o n - t h e - f l y a s p a r t o f t h e i n s t a l l a t i o n p r o c e s s .
#
# cpack_configure_downloads ( site
# [ U P L O A D _ D I R E C T O R Y d i r n a m e ]
# [ A L L ]
# [ A D D _ R E M O V E | N O _ A D D _ R E M O V E ] )
#
# T h e c p a c k _ c o n f i g u r e _ d o w n l o a d s c o m m a n d c o n f i g u r e s i n s t a l l a t i o n - t i m e
# d o w n l o a d s o f s e l e c t e d c o m p o n e n t s . F o r e a c h d o w n l o a d a b l e c o m p o n e n t ,
# C P a c k w i l l c r e a t e a n a r c h i v e c o n t a i n i n g t h e c o n t e n t s o f t h a t
# c o m p o n e n t , w h i c h s h o u l d b e u p l o a d e d t o t h e g i v e n s i t e . W h e n t h e
# u s e r s e l e c t s t h a t c o m p o n e n t f o r i n s t a l l a t i o n , t h e i n s t a l l e r w i l l
# d o w n l o a d a n d e x t r a c t t h e c o m p o n e n t i n p l a c e . T h i s f e a t u r e i s
# u s e f u l f o r c r e a t i n g s m a l l i n s t a l l e r s t h a t o n l y d o w n l o a d t h e
# r e q u e s t e d c o m p o n e n t s , s a v i n g b a n d w i d t h . A d d i t i o n a l l y , t h e
# i n s t a l l e r s a r e s m a l l e n o u g h t h a t t h e y w i l l b e i n s t a l l e d a s p a r t o f
# t h e n o r m a l i n s t a l l a t i o n p r o c e s s , a n d t h e " C h a n g e " b u t t o n i n
# W i n d o w s A d d / R e m o v e P r o g r a m s c o n t r o l p a n e l w i l l a l l o w o n e t o a d d o r
# r e m o v e p a r t s o f t h e a p p l i c a t i o n a f t e r t h e o r i g i n a l
# i n s t a l l a t i o n . O n W i n d o w s , t h e d o w n l o a d e d - c o m p o n e n t s f u n c t i o n a l i t y
# r e q u i r e s t h e Z i p D L L p l u g - i n f o r N S I S , a v a i l a b l e a t :
#
# h t t p : / / n s i s . s o u r c e f o r g e . n e t / Z i p D L L _ p l u g - i n
#
# O n M a c O S X , i n s t a l l e r s t h a t d o w n l o a d c o m p o n e n t s o n - t h e - f l y c a n
# o n l y b e b u i l t a n d i n s t a l l e d o n s y s t e m u s i n g M a c O S X 1 0 . 5 o r
# l a t e r .
#
# T h e s i t e a r g u m e n t i s a U R L w h e r e t h e a r c h i v e s f o r d o w n l o a d a b l e
# c o m p o n e n t s w i l l r e s i d e , e . g . , h t t p : / / w w w . c m a k e . o r g / f i l e s / 2 . 6 . 1 / i n s t a l l e r /
# A l l o f t h e a r c h i v e s p r o d u c e d b y C P a c k s h o u l d b e u p l o a d e d t o t h a t l o c a t i o n .
#
# U P L O A D _ D I R E C T O R Y i s t h e l o c a l d i r e c t o r y w h e r e C P a c k w i l l c r e a t e t h e
# v a r i o u s a r c h i v e s f o r e a c h o f t h e c o m p o n e n t s . T h e c o n t e n t s o f t h i s
# d i r e c t o r y s h o u l d b e u p l o a d e d t o a l o c a t i o n a c c e s s i b l e b y t h e U R L g i v e n
# i n t h e s i t e a r g u m e n t . I f o m i t t e d , C P a c k w i l l u s e t h e d i r e c t o r y C P a c k U p l o a d s
# i n s i d e t h e C M a k e b i n a r y d i r e c t o r y t o s t o r e t h e g e n e r a t e d a r c h i v e s .
#
# T h e A L L f l a g i n d i c a t e s t h a t a l l c o m p o n e n t s b e d o w n l o a d e d . O t h e r w i s e , o n l y
# t h o s e c o m p o n e n t s e x p l i c i t l y m a r k e d a s D O W N L O A D E D o r t h a t h a v e a s p e c i f i e d
# A R C H I V E _ F I L E w i l l b e d o w n l o a d e d . A d d i t i o n a l l y , t h e A L L o p t i o n i m p l i e s
# ADD_REMOVE ( unless NO_ADD_REMOVE is specified ) .
#
# A D D _ R E M O V E i n d i c a t e s t h a t C P a c k s h o u l d i n s t a l l a c o p y o f t h e i n s t a l l e r
# t h a t c a n b e c a l l e d f r o m W i n d o w s ' A d d / R e m o v e P r o g r a m s dialog ( via the
# " M o d i f y " b u t t o n ) t o c h a n g e t h e s e t o f i n s t a l l e d c o m p o n e n t s . N O _ A D D _ R E M O V E
# t u r n s o f f t h i s b e h a v i o r . T h i s o p t i o n i s i g n o r e d o n M a c O S X .
# P i c k a c o n f i g u r a t i o n f i l e
SET ( cpack_input_file "${CMAKE_ROOT}/Templates/CPackConfig.cmake.in" )
@ -12,6 +396,215 @@ IF(EXISTS "${CMAKE_SOURCE_DIR}/CPackSourceConfig.cmake.in")
SET ( cpack_source_input_file "${CMAKE_SOURCE_DIR}/CPackSourceConfig.cmake.in" )
ENDIF ( EXISTS "${CMAKE_SOURCE_DIR}/CPackSourceConfig.cmake.in" )
# A r g u m e n t - p a r s i n g m a c r o f r o m h t t p : / / w w w . c m a k e . o r g / W i k i / C M a k e M a c r o P a r s e A r g u m e n t s
MACRO ( cpack_parse_arguments prefix arg_names option_names )
SET ( ${ prefix } _DEFAULT_ARGS )
FOREACH ( arg_name ${ arg_names } )
SET ( ${ prefix } _ ${ arg_name } )
ENDFOREACH ( arg_name )
FOREACH ( option ${ option_names } )
SET ( ${ prefix } _ ${ option } FALSE )
ENDFOREACH ( option )
SET ( current_arg_name DEFAULT_ARGS )
SET ( current_arg_list )
FOREACH ( arg ${ ARGN } )
SET ( larg_names ${ arg_names } )
LIST ( FIND larg_names "${arg}" is_arg_name )
IF ( is_arg_name GREATER -1 )
SET ( ${ prefix } _ ${ current_arg_name } ${ current_arg_list } )
SET ( current_arg_name ${ arg } )
SET ( current_arg_list )
ELSE ( is_arg_name GREATER -1 )
SET ( loption_names ${ option_names } )
LIST ( FIND loption_names "${arg}" is_option )
IF ( is_option GREATER -1 )
SET ( ${ prefix } _ ${ arg } TRUE )
ELSE ( is_option GREATER -1 )
SET ( current_arg_list ${ current_arg_list } ${ arg } )
ENDIF ( is_option GREATER -1 )
ENDIF ( is_arg_name GREATER -1 )
ENDFOREACH ( arg )
SET ( ${ prefix } _ ${ current_arg_name } ${ current_arg_list } )
ENDMACRO ( cpack_parse_arguments )
# M a c r o t h a t a p p e n d s a S E T c o m m a n d f o r t h e g i v e n v a r i a b l e name ( var )
# t o t h e m a c r o n a m e d s t r v a r , b u t o n l y i f t h e v a r i a b l e n a m e d " v a r "
# h a s b e e n d e f i n e d . T h e s t r i n g w i l l e v e n t u a l l y b e a p p e n d e d t o a C P a c k
# c o n f i g u r a t i o n f i l e .
MACRO ( cpack_append_variable_set_command var strvar )
IF ( DEFINED ${ var } )
SET ( ${ strvar } "${${strvar}}SET(${var}" )
FOREACH ( APPENDVAL ${ ${var } } )
SET ( ${ strvar } "${${strvar}} ${APPENDVAL}" )
ENDFOREACH ( APPENDVAL )
SET ( ${ strvar } "${${strvar}})\n" )
ENDIF ( DEFINED ${ var } )
ENDMACRO ( cpack_append_variable_set_command )
# M a c r o t h a t a p p e n d s a S E T c o m m a n d f o r t h e g i v e n v a r i a b l e name ( var )
# t o t h e m a c r o n a m e d s t r v a r , b u t o n l y i f t h e v a r i a b l e n a m e d " v a r "
# h a s b e e n d e f i n e d a n d i s a s t r i n g . T h e s t r i n g w i l l e v e n t u a l l y b e
# a p p e n d e d t o a C P a c k c o n f i g u r a t i o n f i l e .
MACRO ( cpack_append_string_variable_set_command var strvar )
IF ( DEFINED ${ var } )
LIST ( LENGTH ${ var } CPACK_APP_VALUE_LEN )
IF ( ${ CPACK_APP_VALUE_LEN } EQUAL 1 )
SET ( ${ strvar } "${${strvar}}SET(${var} \" ${ ${var } }\ ")\n" )
ENDIF ( ${ CPACK_APP_VALUE_LEN } EQUAL 1 )
ENDIF ( DEFINED ${ var } )
ENDMACRO ( cpack_append_string_variable_set_command )
# M a c r o t h a t a p p e n d s a S E T c o m m a n d f o r t h e g i v e n v a r i a b l e name ( var )
# t o t h e m a c r o n a m e d s t r v a r , b u t o n l y i f t h e v a r i a b l e n a m e d " v a r "
# h a s b e e n s e t t o t r u e . T h e s t r i n g w i l l e v e n t u a l l y b e
# a p p e n d e d t o a C P a c k c o n f i g u r a t i o n f i l e .
MACRO ( cpack_append_option_set_command var strvar )
IF ( ${ var } )
LIST ( LENGTH ${ var } CPACK_APP_VALUE_LEN )
IF ( ${ CPACK_APP_VALUE_LEN } EQUAL 1 )
SET ( ${ strvar } "${${strvar}}SET(${var} TRUE)\n" )
ENDIF ( ${ CPACK_APP_VALUE_LEN } EQUAL 1 )
ENDIF ( ${ var } )
ENDMACRO ( cpack_append_option_set_command )
# M a c r o t h a t a d d s a c o m p o n e n t t o t h e C P a c k i n s t a l l e r
MACRO ( cpack_add_component compname )
STRING ( TOUPPER ${ compname } CPACK_ADDCOMP_UNAME )
cpack_parse_arguments ( CPACK_COMPONENT_ ${ CPACK_ADDCOMP_UNAME }
" D I S P L A Y _ N A M E ; D E S C R I P T I O N ; G R O U P ; D E P E N D S ; I N S T A L L _ T Y P E S ; A R C H I V E _ F I L E "
" H I D D E N ; R E Q U I R E D ; D I S A B L E D ; D O W N L O A D E D "
$ { A R G N }
)
if ( CPACK_COMPONENT_ ${ CPACK_ADDCOMP_UNAME } _DOWNLOADED )
SET ( CPACK_ADDCOMP_STR "\n# Configuration for downloaded component \" ${ compname } \"\n")
else ( )
SET ( CPACK_ADDCOMP_STR "\n# Configuration for component \" ${ compname } \"\n")
endif ( )
IF ( NOT CPACK_MONOLITHIC_INSTALL )
# I f t h e u s e r d i d n ' t s e t C P A C K _ C O M P O N E N T S _ A L L e x p l i c i t l y , u p d a t e t h e
# v a l u e o f C P A C K _ C O M P O N E N T S _ A L L i n t h e c o n f i g u r a t i o n f i l e . T h i s w i l l
# t a k e c a r e o f a n y c o m p o n e n t s t h a t h a v e b e e n a d d e d a f t e r t h e C P a c k
# m o d u l e d w a s i n c l u d e d .
IF ( NOT CPACK_COMPONENTS_ALL_SET_BY_USER )
GET_CMAKE_PROPERTY ( CPACK_ADDCOMP_COMPONENTS COMPONENTS )
SET ( CPACK_ADDCOMP_STR "${CPACK_ADDCOMP_STR}\nSET(CPACK_COMPONENTS_ALL" )
FOREACH ( COMP ${ CPACK_ADDCOMP_COMPONENTS } )
SET ( CPACK_ADDCOMP_STR "${CPACK_ADDCOMP_STR} ${COMP}" )
ENDFOREACH ( COMP )
SET ( CPACK_ADDCOMP_STR "${CPACK_ADDCOMP_STR})\n" )
ENDIF ( NOT CPACK_COMPONENTS_ALL_SET_BY_USER )
ENDIF ( NOT CPACK_MONOLITHIC_INSTALL )
cpack_append_string_variable_set_command (
C P A C K _ C O M P O N E N T _ $ { C P A C K _ A D D C O M P _ U N A M E } _ D I S P L A Y _ N A M E
C P A C K _ A D D C O M P _ S T R )
cpack_append_string_variable_set_command (
C P A C K _ C O M P O N E N T _ $ { C P A C K _ A D D C O M P _ U N A M E } _ D E S C R I P T I O N
C P A C K _ A D D C O M P _ S T R )
cpack_append_variable_set_command (
C P A C K _ C O M P O N E N T _ $ { C P A C K _ A D D C O M P _ U N A M E } _ G R O U P
C P A C K _ A D D C O M P _ S T R )
cpack_append_variable_set_command (
C P A C K _ C O M P O N E N T _ $ { C P A C K _ A D D C O M P _ U N A M E } _ D E P E N D S
C P A C K _ A D D C O M P _ S T R )
cpack_append_variable_set_command (
C P A C K _ C O M P O N E N T _ $ { C P A C K _ A D D C O M P _ U N A M E } _ I N S T A L L _ T Y P E S
C P A C K _ A D D C O M P _ S T R )
cpack_append_string_variable_set_command (
C P A C K _ C O M P O N E N T _ $ { C P A C K _ A D D C O M P _ U N A M E } _ A R C H I V E _ F I L E
C P A C K _ A D D C O M P _ S T R )
cpack_append_option_set_command (
C P A C K _ C O M P O N E N T _ $ { C P A C K _ A D D C O M P _ U N A M E } _ H I D D E N
C P A C K _ A D D C O M P _ S T R )
cpack_append_option_set_command (
C P A C K _ C O M P O N E N T _ $ { C P A C K _ A D D C O M P _ U N A M E } _ R E Q U I R E D
C P A C K _ A D D C O M P _ S T R )
cpack_append_option_set_command (
C P A C K _ C O M P O N E N T _ $ { C P A C K _ A D D C O M P _ U N A M E } _ D I S A B L E D
C P A C K _ A D D C O M P _ S T R )
cpack_append_option_set_command (
C P A C K _ C O M P O N E N T _ $ { C P A C K _ A D D C O M P _ U N A M E } _ D O W N L O A D E D
C P A C K _ A D D C O M P _ S T R )
FILE ( APPEND "${CPACK_OUTPUT_CONFIG_FILE}" "${CPACK_ADDCOMP_STR}" )
ENDMACRO ( cpack_add_component )
# M a c r o t h a t a d d s a c o m p o n e n t g r o u p t o t h e C P a c k i n s t a l l e r
MACRO ( cpack_add_component_group grpname )
STRING ( TOUPPER ${ grpname } CPACK_ADDGRP_UNAME )
cpack_parse_arguments ( CPACK_COMPONENT_GROUP_ ${ CPACK_ADDGRP_UNAME }
" D I S P L A Y _ N A M E ; D E S C R I P T I O N "
" E X P A N D E D ; B O L D _ T I T L E "
$ { A R G N }
)
SET ( CPACK_ADDGRP_STR "\n# Configuration for component group \" ${ grpname } \"\n")
cpack_append_string_variable_set_command (
C P A C K _ C O M P O N E N T _ G R O U P _ $ { C P A C K _ A D D G R P _ U N A M E } _ D I S P L A Y _ N A M E
C P A C K _ A D D G R P _ S T R )
cpack_append_string_variable_set_command (
C P A C K _ C O M P O N E N T _ G R O U P _ $ { C P A C K _ A D D G R P _ U N A M E } _ D E S C R I P T I O N
C P A C K _ A D D G R P _ S T R )
cpack_append_option_set_command (
C P A C K _ C O M P O N E N T _ G R O U P _ $ { C P A C K _ A D D G R P _ U N A M E } _ E X P A N D E D
C P A C K _ A D D G R P _ S T R )
cpack_append_option_set_command (
C P A C K _ C O M P O N E N T _ G R O U P _ $ { C P A C K _ A D D G R P _ U N A M E } _ B O L D _ T I T L E
C P A C K _ A D D G R P _ S T R )
FILE ( APPEND "${CPACK_OUTPUT_CONFIG_FILE}" "${CPACK_ADDGRP_STR}" )
ENDMACRO ( cpack_add_component_group )
# M a c r o t h a t a d d s a n i n s t a l l a t i o n t y p e t o t h e C P a c k i n s t a l l e r
MACRO ( cpack_add_install_type insttype )
STRING ( TOUPPER ${ insttype } CPACK_INSTTYPE_UNAME )
cpack_parse_arguments ( CPACK_INSTALL_TYPE_ ${ CPACK_INSTTYPE_UNAME }
" D I S P L A Y _ N A M E "
" "
$ { A R G N }
)
SET ( CPACK_INSTTYPE_STR
" \ n # C o n f i g u r a t i o n f o r i n s t a l l a t i o n t y p e \ " $ { i n s t t y p e } \ " \ n " )
SET ( CPACK_INSTTYPE_STR
" $ { C P A C K _ I N S T T Y P E _ S T R } LIST ( APPEND CPACK_ALL_INSTALL_TYPES ${ insttype } ) \ n " )
cpack_append_string_variable_set_command (
C P A C K _ I N S T A L L _ T Y P E _ $ { C P A C K _ I N S T T Y P E _ U N A M E } _ D I S P L A Y _ N A M E
C P A C K _ I N S T T Y P E _ S T R )
FILE ( APPEND "${CPACK_OUTPUT_CONFIG_FILE}" "${CPACK_INSTTYPE_STR}" )
ENDMACRO ( cpack_add_install_type )
MACRO ( cpack_configure_downloads site )
cpack_parse_arguments ( CPACK_DOWNLOAD
" U P L O A D _ D I R E C T O R Y "
" A L L ; A D D _ R E M O V E ; N O _ A D D _ R E M O V E "
$ { A R G N }
)
SET ( CPACK_CONFIG_DL_STR
" \ n # D o w n l o a d e d c o m p o n e n t s c o n f i g u r a t i o n \ n " )
SET ( CPACK_UPLOAD_DIRECTORY ${ CPACK_DOWNLOAD_UPLOAD_DIRECTORY } )
SET ( CPACK_DOWNLOAD_SITE ${ site } )
cpack_append_string_variable_set_command (
C P A C K _ D O W N L O A D _ S I T E
C P A C K _ C O N F I G _ D L _ S T R )
cpack_append_string_variable_set_command (
C P A C K _ U P L O A D _ D I R E C T O R Y
C P A C K _ C O N F I G _ D L _ S T R )
cpack_append_option_set_command (
C P A C K _ D O W N L O A D _ A L L
C P A C K _ C O N F I G _ D L _ S T R )
IF ( ${ CPACK_DOWNLOAD_ALL } AND NOT ${ CPACK_DOWNLOAD_NO_ADD_REMOVE } )
SET ( CPACK_DOWNLOAD_ADD_REMOVE ON )
ENDIF ( ${ CPACK_DOWNLOAD_ALL } AND NOT ${ CPACK_DOWNLOAD_NO_ADD_REMOVE } )
SET ( CPACK_ADD_REMOVE ${ CPACK_DOWNLOAD_ADD_REMOVE } )
cpack_append_option_set_command (
C P A C K _ A D D _ R E M O V E
C P A C K _ C O N F I G _ D L _ S T R )
FILE ( APPEND "${CPACK_OUTPUT_CONFIG_FILE}" "${CPACK_CONFIG_DL_STR}" )
ENDMACRO ( cpack_configure_downloads )
# M a c r o f o r s e t t i n g v a l u e s i f a u s e r d i d n o t o v e r w r i t e t h e m
MACRO ( cpack_set_if_not_set name value )
IF ( NOT DEFINED "${name}" )
@ -114,6 +707,7 @@ if(NOT CPACK_GENERATOR)
option ( CPACK_BINARY_CYGWIN "Enable to build Cygwin binary packages" ON )
else ( CYGWIN )
if ( APPLE )
option ( CPACK_BINARY_BUNDLE "Enable to build OSX bundles" OFF )
option ( CPACK_BINARY_PACKAGEMAKER "Enable to build PackageMaker packages" ON )
option ( CPACK_BINARY_OSXX11 "Enable to build OSX X11 packages" OFF )
else ( APPLE )
@ -131,6 +725,7 @@ if(NOT CPACK_GENERATOR)
option ( CPACK_BINARY_ZIP "Enable to build ZIP packages" ON )
endif ( UNIX )
cpack_optional_append ( CPACK_GENERATOR CPACK_BINARY_BUNDLE Bundle )
cpack_optional_append ( CPACK_GENERATOR CPACK_BINARY_PACKAGEMAKER PackageMaker )
cpack_optional_append ( CPACK_GENERATOR CPACK_BINARY_OSXX11 OSXX11 )
cpack_optional_append ( CPACK_GENERATOR CPACK_BINARY_CYGWIN CygwinBinary )
@ -171,7 +766,7 @@ endif(NOT CPACK_SOURCE_GENERATOR)
mark_as_advanced ( CPACK_BINARY_CYGWIN CPACK_BINARY_PACKAGEMAKER CPACK_BINARY_OSXX11
C P A C K _ B I N A R Y _ S T G Z C P A C K _ B I N A R Y _ T G Z C P A C K _ B I N A R Y _ T B Z 2
C P A C K _ B I N A R Y _ D E B C P A C K _ B I N A R Y _ R P M C P A C K _ B I N A R Y _ T Z
C P A C K _ B I N A R Y _ N S I S C P A C K _ B I N A R Y _ Z I P
C P A C K _ B I N A R Y _ N S I S C P A C K _ B I N A R Y _ Z I P C P A C K _ B I N A R Y _ B U N D L E
C P A C K _ S O U R C E _ C Y G W I N C P A C K _ S O U R C E _ T B Z 2 C P A C K _ S O U R C E _ T G Z
C P A C K _ S O U R C E _ T Z C P A C K _ S O U R C E _ Z I P )
@ -195,6 +790,39 @@ cpack_set_if_not_set(CPACK_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}")
cpack_set_if_not_set ( CPACK_NSIS_INSTALLER_ICON_CODE "" )
cpack_set_if_not_set ( CPACK_NSIS_INSTALLER_MUI_ICON_CODE "" )
IF ( DEFINED CPACK_COMPONENTS_ALL )
IF ( CPACK_MONOLITHIC_INSTALL )
MESSAGE ( "CPack warning: both CPACK_COMPONENTS_ALL and CPACK_MONOLITHIC_INSTALL have been set.\nDefaulting to a monolithic installation." )
SET ( CPACK_COMPONENTS_ALL )
ELSE ( CPACK_MONOLITHIC_INSTALL )
# T h e u s e r h a s p r o v i d e d t h e s e t o f c o m p o n e n t s t o b e i n s t a l l e d a s
# p a r t o f a c o m p o n e n t - b a s e d i n s t a l l a t i o n ; t r u s t h e r .
SET ( CPACK_COMPONENTS_ALL_SET_BY_USER TRUE )
ENDIF ( CPACK_MONOLITHIC_INSTALL )
ELSE ( DEFINED CPACK_COMPONENTS_ALL )
# I f t h e u s e r h a s n o t s p e c i f i c a l l y r e q u e s t e d a m o n o l i t h i c i n s t a l l e r
# b u t h a s s p e c i f i e d c o m p o n e n t s i n v a r i o u s " i n s t a l l " c o m m a n d s , t e l l
# C P a c k a b o u t t h o s e c o m p o n e n t s .
IF ( NOT CPACK_MONOLITHIC_INSTALL )
GET_CMAKE_PROPERTY ( CPACK_COMPONENTS_ALL COMPONENTS )
LIST ( LENGTH CPACK_COMPONENTS_ALL CPACK_COMPONENTS_LEN )
IF ( CPACK_COMPONENTS_LEN EQUAL 1 )
# O n l y o n e c o m p o n e n t : t h i s i s n o t a c o m p o n e n t - b a s e d i n s t a l l a t i o n
# ( a t l e a s t , i t i s n ' t a c o m p o n e n t - b a s e d i n s t a l l a t i o n , b u t m a y
# b e c o m e o n e l a t e r i f t h e u s e r u s e s t h e c p a c k _ a d d _ * c o m m a n d s ) .
SET ( CPACK_COMPONENTS_ALL )
ENDIF ( CPACK_COMPONENTS_LEN EQUAL 1 )
SET ( CPACK_COMPONENTS_LEN )
ENDIF ( NOT CPACK_MONOLITHIC_INSTALL )
ENDIF ( DEFINED CPACK_COMPONENTS_ALL )
# C M a k e a l w a y s g e n e r a t e s a c o m p o n e n t n a m e d " U n s p e c i f i e d " , w h i c h i s
# u s e d t o i n s t a l l e v e r y t h i n g t h a t d o e s n ' t h a v e a n e x p l i c i t l y - p r o v i d e d
# c o m p o n e n t . S i n c e t h e s e f i l e s s h o u l d a l w a y s b e i n s t a l l e d , w e ' l l m a k e
# t h e m h i d d e n a n d r e q u i r e d .
set ( CPACK_COMPONENT_UNSPECIFIED_HIDDEN TRUE )
set ( CPACK_COMPONENT_UNSPECIFIED_REQUIRED TRUE )
cpack_encode_variables ( )
configure_file ( "${cpack_input_file}" "${CPACK_OUTPUT_CONFIG_FILE}" @ONLY IMMEDIATE )