2014-07-10 22:31:24 +00:00
project ( gui )
2021-11-08 12:31:50 +00:00
find_package ( Qt5 REQUIRED COMPONENTS Widgets Svg Qml Quick QuickControls2 Xml Network )
2022-07-20 15:23:43 +00:00
find_package ( KF5Archive REQUIRED )
2021-12-29 16:44:40 +00:00
if ( QUICK_COMPILER )
find_package ( Qt5QuickCompiler )
set_package_properties ( Qt5QuickCompiler PROPERTIES
D E S C R I P T I O N " C o m p i l e Q M L a t b u i l d t i m e "
2022-01-05 11:42:47 +00:00
T Y P E R E Q U I R E D
2021-12-29 16:44:40 +00:00
)
endif ( )
2021-11-08 12:31:50 +00:00
if ( NOT TARGET Qt5::GuiPrivate )
message ( FATAL_ERROR "Could not find GuiPrivate component of Qt5. It might be shipped as a separate package, please check that." )
endif ( )
2020-03-09 00:48:07 +00:00
2020-11-23 16:09:44 +00:00
if ( CMAKE_BUILD_TYPE MATCHES Debug )
add_definitions ( -DQT_QML_DEBUG )
endif ( )
2020-03-09 00:48:07 +00:00
IF ( BUILD_UPDATER )
add_subdirectory ( updater )
endif ( )
2014-07-10 22:31:24 +00:00
2021-06-02 15:13:40 +00:00
configure_file ( ${ CMAKE_SOURCE_DIR } /theme.qrc.in ${ CMAKE_SOURCE_DIR } /theme.qrc )
set ( theme_dir ${ CMAKE_SOURCE_DIR } /theme )
2020-01-19 19:13:12 +00:00
2017-12-14 14:10:33 +00:00
set ( client_UI_SRCS
2014-07-10 22:31:24 +00:00
a c c o u n t s e t t i n g s . u i
2020-10-07 15:51:18 +00:00
c o n f l i c t d i a l o g . u i
2021-09-06 13:09:29 +00:00
i n v a l i d f i l e n a m e d i a l o g . u i
2022-11-30 09:34:49 +00:00
c a s e c l a s h f i l e n a m e d i a l o g . u i
2021-01-29 18:00:21 +00:00
f o l d e r c r e a t i o n d i a l o g . u i
2014-07-10 22:31:24 +00:00
f o l d e r w i z a r d s o u r c e p a g e . u i
f o l d e r w i z a r d t a r g e t p a g e . u i
g e n e r a l s e t t i n g s . u i
2018-08-02 06:36:03 +00:00
l e g a l n o t i c e . u i
2014-07-10 22:31:24 +00:00
i g n o r e l i s t e d i t o r . u i
2019-08-14 21:09:19 +00:00
i g n o r e l i s t t a b l e w i d g e t . u i
2014-07-10 22:31:24 +00:00
n e t w o r k s e t t i n g s . u i
s e t t i n g s d i a l o g . u i
2017-04-04 13:05:08 +00:00
s h a r e u s e r l i n e . u i
2014-07-10 22:31:24 +00:00
s s l e r r o r d i a l o g . u i
2014-11-18 15:44:14 +00:00
a d d c e r t i f i c a t e d i a l o g . u i
2022-01-05 10:14:23 +00:00
p a s s w o r d i n p u t d i a l o g . u i
2015-07-16 12:21:51 +00:00
p r o x y a u t h d i a l o g . u i
2018-06-21 17:57:51 +00:00
m n e m o n i c d i a l o g . u i
2019-12-23 05:51:46 +00:00
w i z a r d / f l o w 2 a u t h w i d g e t . u i
2014-07-10 22:31:24 +00:00
w i z a r d / o w n c l o u d a d v a n c e d s e t u p p a g e . u i
2015-02-02 21:29:21 +00:00
w i z a r d / o w n c l o u d c o n n e c t i o n m e t h o d d i a l o g . u i
2014-07-10 22:31:24 +00:00
w i z a r d / o w n c l o u d h t t p c r e d s p a g e . u i
2017-06-07 14:19:34 +00:00
w i z a r d / o w n c l o u d o a u t h c r e d s p a g e . u i
2014-07-10 22:31:24 +00:00
w i z a r d / o w n c l o u d s e t u p n o c r e d s p a g e . u i
2017-11-28 21:25:35 +00:00
w i z a r d / w e b v i e w . u i
2021-02-16 09:20:04 +00:00
w i z a r d / w e l c o m e p a g e . u i
2014-07-10 22:31:24 +00:00
)
2021-12-29 16:44:40 +00:00
if ( QUICK_COMPILER )
qtquick_compiler_add_resources ( client_UI_SRCS ../../resources.qrc ${ CMAKE_SOURCE_DIR } /theme.qrc )
else ( )
2022-01-07 11:00:02 +00:00
qt_add_resources ( client_UI_SRCS ../../resources.qrc ${ CMAKE_SOURCE_DIR } /theme.qrc )
2021-12-29 16:44:40 +00:00
endif ( )
2014-11-09 21:30:05 +00:00
set ( client_SRCS
2022-02-07 12:48:52 +00:00
a c c o u n t m a n a g e r . h
2015-04-09 14:19:17 +00:00
a c c o u n t m a n a g e r . c p p
2022-02-07 12:48:52 +00:00
a c c o u n t s e t t i n g s . h
2014-07-10 22:31:24 +00:00
a c c o u n t s e t t i n g s . c p p
2022-12-29 17:28:28 +00:00
a c c o u n t s e t u p f r o m c o m m a n d l i n e j o b . h
a c c o u n t s e t u p f r o m c o m m a n d l i n e j o b . c p p
2022-12-29 11:50:17 +00:00
a c c o u n t s e t u p c o m m a n d l i n e m a n a g e r . h
a c c o u n t s e t u p c o m m a n d l i n e m a n a g e r . c p p
2022-02-07 12:48:52 +00:00
a p p l i c a t i o n . h
2014-07-10 22:31:24 +00:00
a p p l i c a t i o n . c p p
2022-02-07 12:48:52 +00:00
i n v a l i d f i l e n a m e d i a l o g . h
2021-09-06 13:09:29 +00:00
i n v a l i d f i l e n a m e d i a l o g . c p p
2022-11-30 09:34:49 +00:00
c a s e c l a s h f i l e n a m e d i a l o g . h
c a s e c l a s h f i l e n a m e d i a l o g . c p p
2022-06-24 09:49:38 +00:00
c a l l s t a t e c h e c k e r . h
c a l l s t a t e c h e c k e r . c p p
2022-02-07 12:48:52 +00:00
c o n f l i c t d i a l o g . h
2020-10-07 15:51:18 +00:00
c o n f l i c t d i a l o g . c p p
2022-02-07 12:48:52 +00:00
c o n f l i c t s o l v e r . h
2020-10-07 14:30:43 +00:00
c o n f l i c t s o l v e r . c p p
2022-02-07 12:48:52 +00:00
c o n n e c t i o n v a l i d a t o r . h
2018-02-21 14:03:55 +00:00
c o n n e c t i o n v a l i d a t o r . c p p
2022-10-29 11:21:56 +00:00
e d i t l o c a l l y j o b . h
e d i t l o c a l l y j o b . c p p
2022-10-28 17:40:06 +00:00
e d i t l o c a l l y m a n a g e r . h
e d i t l o c a l l y m a n a g e r . c p p
2023-04-10 11:27:31 +00:00
f i l e t a g m o d e l . h
f i l e t a g m o d e l . c p p
2022-02-07 12:48:52 +00:00
f o l d e r . h
2014-07-10 22:31:24 +00:00
f o l d e r . c p p
2022-02-07 12:48:52 +00:00
f o l d e r c r e a t i o n d i a l o g . h
2021-01-29 18:00:21 +00:00
f o l d e r c r e a t i o n d i a l o g . c p p
2022-02-07 12:48:52 +00:00
f o l d e r m a n . h
2014-07-10 22:31:24 +00:00
f o l d e r m a n . c p p
2022-02-07 12:48:52 +00:00
f o l d e r s t a t u s m o d e l . h
2014-07-10 22:31:24 +00:00
f o l d e r s t a t u s m o d e l . c p p
2022-02-07 12:48:52 +00:00
f o l d e r s t a t u s d e l e g a t e . h
2015-06-15 12:16:21 +00:00
f o l d e r s t a t u s d e l e g a t e . c p p
2022-02-07 12:48:52 +00:00
f o l d e r s t a t u s v i e w . h
2018-10-30 19:35:35 +00:00
f o l d e r s t a t u s v i e w . c p p
2022-02-07 12:48:52 +00:00
f o l d e r w a t c h e r . h
2014-07-10 22:31:24 +00:00
f o l d e r w a t c h e r . c p p
2022-02-07 12:48:52 +00:00
f o l d e r w i z a r d . h
2014-07-10 22:31:24 +00:00
f o l d e r w i z a r d . c p p
2022-02-07 12:48:52 +00:00
g e n e r a l s e t t i n g s . h
2014-07-10 22:31:24 +00:00
g e n e r a l s e t t i n g s . c p p
2022-02-07 12:48:52 +00:00
l e g a l n o t i c e . h
2018-08-02 06:36:03 +00:00
l e g a l n o t i c e . c p p
2022-02-07 12:48:52 +00:00
i g n o r e l i s t e d i t o r . h
2014-07-10 22:31:24 +00:00
i g n o r e l i s t e d i t o r . c p p
2022-02-07 12:48:52 +00:00
i g n o r e l i s t t a b l e w i d g e t . h
2019-08-14 21:09:19 +00:00
i g n o r e l i s t t a b l e w i d g e t . c p p
2022-02-07 12:48:52 +00:00
l o c k w a t c h e r . h
2016-04-29 14:14:18 +00:00
l o c k w a t c h e r . c p p
2022-02-07 12:48:52 +00:00
l o g b r o w s e r . h
2014-07-10 22:31:24 +00:00
l o g b r o w s e r . c p p
2022-02-07 12:48:52 +00:00
n a v i g a t i o n p a n e h e l p e r . h
2017-10-04 11:49:42 +00:00
n a v i g a t i o n p a n e h e l p e r . c p p
2022-02-07 12:48:52 +00:00
n e t w o r k s e t t i n g s . h
2014-07-10 22:31:24 +00:00
n e t w o r k s e t t i n g s . c p p
2022-02-07 12:48:52 +00:00
o c s n a v i g a t i o n a p p s j o b . h
2018-02-20 18:33:25 +00:00
o c s n a v i g a t i o n a p p s j o b . c p p
2022-02-07 12:48:52 +00:00
o c s j o b . h
2018-01-26 12:11:35 +00:00
o c s j o b . c p p
2022-02-07 12:48:52 +00:00
o c s s h a r e j o b . h
2015-09-07 11:50:01 +00:00
o c s s h a r e j o b . c p p
2022-02-07 12:48:52 +00:00
o c s s h a r e e j o b . h
2015-11-01 21:23:22 +00:00
o c s s h a r e e j o b . c p p
2022-02-07 12:48:52 +00:00
o p e n f i l e m a n a g e r . h
2014-07-10 22:31:24 +00:00
o p e n f i l e m a n a g e r . c p p
2022-02-07 12:48:52 +00:00
o w n c l o u d g u i . h
2014-07-10 22:31:24 +00:00
o w n c l o u d g u i . c p p
2022-02-07 12:48:52 +00:00
o w n c l o u d s e t u p w i z a r d . h
2014-07-10 22:31:24 +00:00
o w n c l o u d s e t u p w i z a r d . c p p
2022-02-07 12:48:52 +00:00
p a s s w o r d i n p u t d i a l o g . h
2022-01-05 10:14:23 +00:00
p a s s w o r d i n p u t d i a l o g . c p p
2022-02-07 12:48:52 +00:00
s e l e c t i v e s y n c d i a l o g . h
2014-08-26 12:33:21 +00:00
s e l e c t i v e s y n c d i a l o g . c p p
2022-02-07 12:48:52 +00:00
s e t t i n g s d i a l o g . h
2014-07-10 22:31:24 +00:00
s e t t i n g s d i a l o g . c p p
2022-02-07 12:48:52 +00:00
s h a r e m a n a g e r . h
2016-09-14 13:31:05 +00:00
s h a r e m a n a g e r . c p p
2022-02-07 12:48:52 +00:00
p r o f i l e p a g e w i d g e t . h
2021-10-22 09:16:38 +00:00
p r o f i l e p a g e w i d g e t . c p p
2022-02-07 12:48:52 +00:00
s h a r e e . h
2015-11-01 21:23:22 +00:00
s h a r e e . c p p
2022-02-07 12:48:52 +00:00
s s l b u t t o n . h
2014-07-10 22:31:24 +00:00
s s l b u t t o n . c p p
2022-02-07 12:48:52 +00:00
s s l e r r o r d i a l o g . h
2014-07-10 22:31:24 +00:00
s s l e r r o r d i a l o g . c p p
2022-02-07 12:48:52 +00:00
s y n c r u n f i l e l o g . h
2014-07-10 22:31:24 +00:00
s y n c r u n f i l e l o g . c p p
2022-02-07 12:48:52 +00:00
s y s t r a y . h
2014-07-10 22:31:24 +00:00
s y s t r a y . c p p
2022-02-07 12:48:52 +00:00
t h u m b n a i l j o b . h
2015-09-07 11:50:01 +00:00
t h u m b n a i l j o b . c p p
2022-02-07 12:48:52 +00:00
u s e r i n f o . h
2020-02-14 01:10:01 +00:00
u s e r i n f o . c p p
2022-02-07 12:48:52 +00:00
a c c o u n t s t a t e . h
2014-12-17 13:09:57 +00:00
a c c o u n t s t a t e . c p p
2022-02-07 12:48:52 +00:00
a d d c e r t i f i c a t e d i a l o g . h
2014-11-18 15:44:14 +00:00
a d d c e r t i f i c a t e d i a l o g . c p p
2022-02-07 12:48:52 +00:00
a u t h e n t i c a t i o n d i a l o g . h
2015-06-15 13:53:45 +00:00
a u t h e n t i c a t i o n d i a l o g . c p p
2022-02-07 12:48:52 +00:00
p r o x y a u t h h a n d l e r . h
2015-07-16 12:21:51 +00:00
p r o x y a u t h h a n d l e r . c p p
2022-02-07 12:48:52 +00:00
p r o x y a u t h d i a l o g . h
2015-07-16 12:21:51 +00:00
p r o x y a u t h d i a l o g . c p p
2022-02-07 12:48:52 +00:00
t o o l t i p u p d a t e r . h
2016-01-21 10:32:27 +00:00
t o o l t i p u p d a t e r . c p p
2022-02-07 12:48:52 +00:00
n o t i f i c a t i o n c o n f i r m j o b . h
2016-03-04 16:41:57 +00:00
n o t i f i c a t i o n c o n f i r m j o b . c p p
2022-02-07 12:48:52 +00:00
g u i u t i l i t y . h
2017-05-10 07:37:10 +00:00
g u i u t i l i t y . c p p
2022-02-07 12:48:52 +00:00
e l i d e d l a b e l . h
2017-07-11 13:50:56 +00:00
e l i d e d l a b e l . c p p
2022-02-07 12:48:52 +00:00
i c o n u t i l s . h
2021-08-17 13:39:18 +00:00
i c o n u t i l s . c p p
2022-02-07 12:48:52 +00:00
r e m o t e w i p e . h
2019-07-24 11:56:21 +00:00
r e m o t e w i p e . c p p
2022-02-07 12:48:52 +00:00
u s e r s t a t u s s e l e c t o r m o d e l . h
2021-09-09 09:18:22 +00:00
u s e r s t a t u s s e l e c t o r m o d e l . c p p
2022-02-07 12:48:52 +00:00
e m o j i m o d e l . h
2021-09-09 09:18:22 +00:00
e m o j i m o d e l . c p p
2023-05-02 11:55:17 +00:00
s y n c c o n f l i c t s m o d e l . h
s y n c c o n f l i c t s m o d e l . c p p
2022-02-07 12:48:52 +00:00
f i l e a c t i v i t y l i s t m o d e l . h
2021-08-20 13:17:06 +00:00
f i l e a c t i v i t y l i s t m o d e l . c p p
2022-07-25 16:57:18 +00:00
f i l e d e t a i l s / f i l e d e t a i l s . h
f i l e d e t a i l s / f i l e d e t a i l s . c p p
f i l e d e t a i l s / s h a r e m o d e l . h
f i l e d e t a i l s / s h a r e m o d e l . c p p
f i l e d e t a i l s / s h a r e e m o d e l . h
f i l e d e t a i l s / s h a r e e m o d e l . c p p
f i l e d e t a i l s / s o r t e d s h a r e m o d e l . h
f i l e d e t a i l s / s o r t e d s h a r e m o d e l . c p p
2022-02-07 12:48:52 +00:00
t r a y / s v g i m a g e p r o v i d e r . h
2021-10-29 07:05:51 +00:00
t r a y / s v g i m a g e p r o v i d e r . c p p
2022-02-07 12:48:52 +00:00
t r a y / s y n c s t a t u s s u m m a r y . h
2021-09-14 11:17:03 +00:00
t r a y / s y n c s t a t u s s u m m a r y . c p p
2022-02-07 12:48:52 +00:00
t r a y / a c t i v i t y d a t a . h
2021-10-25 09:37:58 +00:00
t r a y / a c t i v i t y d a t a . c p p
2022-02-07 12:48:52 +00:00
t r a y / a c t i v i t y l i s t m o d e l . h
2021-10-25 09:37:58 +00:00
t r a y / a c t i v i t y l i s t m o d e l . c p p
2022-02-07 12:48:52 +00:00
t r a y / u n i f i e d s e a r c h r e s u l t . h
2022-01-20 11:54:36 +00:00
t r a y / a s y n c i m a g e r e s p o n s e . c p p
2021-09-09 11:33:57 +00:00
t r a y / u n i f i e d s e a r c h r e s u l t . c p p
2022-02-07 12:48:52 +00:00
t r a y / u n i f i e d s e a r c h r e s u l t s l i s t m o d e l . h
2022-01-20 11:54:36 +00:00
t r a y / t r a y i m a g e p r o v i d e r . c p p
2021-09-09 11:33:57 +00:00
t r a y / u n i f i e d s e a r c h r e s u l t s l i s t m o d e l . c p p
2022-02-07 12:48:52 +00:00
t r a y / u s e r m o d e l . h
2021-10-25 09:37:58 +00:00
t r a y / u s e r m o d e l . c p p
2022-02-07 12:48:52 +00:00
t r a y / n o t i f i c a t i o n h a n d l e r . h
2021-10-25 09:37:58 +00:00
t r a y / n o t i f i c a t i o n h a n d l e r . c p p
2022-09-13 23:03:56 +00:00
t r a y / s o r t e d a c t i v i t y l i s t m o d e l . h
t r a y / s o r t e d a c t i v i t y l i s t m o d e l . c p p
2022-02-07 12:48:52 +00:00
c r e d s / c r e d e n t i a l s f a c t o r y . h
2022-01-23 18:10:16 +00:00
t r a y / t a l k r e p l y . c p p
2015-06-15 13:53:45 +00:00
c r e d s / c r e d e n t i a l s f a c t o r y . c p p
2022-02-07 12:48:52 +00:00
c r e d s / h t t p c r e d e n t i a l s g u i . h
2015-06-15 13:53:45 +00:00
c r e d s / h t t p c r e d e n t i a l s g u i . c p p
2022-02-07 12:48:52 +00:00
c r e d s / o a u t h . h
2017-03-28 08:31:38 +00:00
c r e d s / o a u t h . c p p
2022-02-07 12:48:52 +00:00
c r e d s / f l o w 2 a u t h . h
2019-08-17 00:37:04 +00:00
c r e d s / f l o w 2 a u t h . c p p
2022-02-07 12:48:52 +00:00
c r e d s / w e b f l o w c r e d e n t i a l s . h
2017-11-25 19:19:25 +00:00
c r e d s / w e b f l o w c r e d e n t i a l s . c p p
2022-02-07 12:48:52 +00:00
c r e d s / w e b f l o w c r e d e n t i a l s d i a l o g . h
2017-11-28 21:25:35 +00:00
c r e d s / w e b f l o w c r e d e n t i a l s d i a l o g . c p p
2022-02-07 12:48:52 +00:00
w i z a r d / p o s t f i x l i n e e d i t . h
2016-03-22 09:20:20 +00:00
w i z a r d / p o s t f i x l i n e e d i t . c p p
2022-02-07 12:48:52 +00:00
w i z a r d / a b s t r a c t c r e d s w i z a r d p a g e . h
2014-07-10 22:31:24 +00:00
w i z a r d / a b s t r a c t c r e d s w i z a r d p a g e . c p p
2022-02-07 12:48:52 +00:00
w i z a r d / o w n c l o u d a d v a n c e d s e t u p p a g e . h
2014-07-10 22:31:24 +00:00
w i z a r d / o w n c l o u d a d v a n c e d s e t u p p a g e . c p p
2022-02-07 12:48:52 +00:00
w i z a r d / o w n c l o u d c o n n e c t i o n m e t h o d d i a l o g . h
2015-02-02 21:29:21 +00:00
w i z a r d / o w n c l o u d c o n n e c t i o n m e t h o d d i a l o g . c p p
2022-02-07 12:48:52 +00:00
w i z a r d / o w n c l o u d h t t p c r e d s p a g e . h
2014-07-10 22:31:24 +00:00
w i z a r d / o w n c l o u d h t t p c r e d s p a g e . c p p
2022-02-07 12:48:52 +00:00
w i z a r d / o w n c l o u d o a u t h c r e d s p a g e . h
2017-03-28 08:31:38 +00:00
w i z a r d / o w n c l o u d o a u t h c r e d s p a g e . c p p
2022-02-07 12:48:52 +00:00
w i z a r d / f l o w 2 a u t h c r e d s p a g e . h
2019-08-17 00:37:04 +00:00
w i z a r d / f l o w 2 a u t h c r e d s p a g e . c p p
2022-02-07 12:48:52 +00:00
w i z a r d / f l o w 2 a u t h w i d g e t . h
2019-08-24 14:21:44 +00:00
w i z a r d / f l o w 2 a u t h w i d g e t . c p p
2022-02-07 12:48:52 +00:00
w i z a r d / o w n c l o u d s e t u p p a g e . h
2014-07-10 22:31:24 +00:00
w i z a r d / o w n c l o u d s e t u p p a g e . c p p
2022-02-07 12:48:52 +00:00
w i z a r d / o w n c l o u d w i z a r d c o m m o n . h
2014-07-10 22:31:24 +00:00
w i z a r d / o w n c l o u d w i z a r d c o m m o n . c p p
2022-02-07 12:48:52 +00:00
w i z a r d / o w n c l o u d w i z a r d . h
2014-07-10 22:31:24 +00:00
w i z a r d / o w n c l o u d w i z a r d . c p p
2022-02-07 12:48:52 +00:00
w i z a r d / s l i d e s h o w . h
2018-10-29 10:17:04 +00:00
w i z a r d / s l i d e s h o w . c p p
2022-02-07 12:48:52 +00:00
w i z a r d / w e l c o m e p a g e . h
2021-02-16 09:20:04 +00:00
w i z a r d / w e l c o m e p a g e . c p p
2022-02-07 12:48:52 +00:00
w i z a r d / l i n k l a b e l . h
2021-02-16 09:20:04 +00:00
w i z a r d / l i n k l a b e l . c p p
2021-06-22 10:01:18 +00:00
)
2021-06-24 07:54:54 +00:00
if ( Qt5WebEngine_FOUND AND Qt5WebEngineWidgets_FOUND )
2021-06-22 10:01:18 +00:00
list ( APPEND client_SRCS
2022-02-07 12:48:52 +00:00
w i z a r d / w e b v i e w p a g e . h
2021-06-22 10:01:18 +00:00
w i z a r d / w e b v i e w p a g e . c p p
2022-02-07 12:48:52 +00:00
w i z a r d / w e b v i e w . h
2021-06-22 10:01:18 +00:00
w i z a r d / w e b v i e w . c p p
)
endif ( )
2014-07-10 22:31:24 +00:00
2020-03-09 00:48:07 +00:00
IF ( BUILD_UPDATER )
set ( updater_SRCS
2022-02-07 12:48:52 +00:00
u p d a t e r / o c u p d a t e r . h
2020-03-09 00:48:07 +00:00
u p d a t e r / o c u p d a t e r . c p p
2022-02-07 12:48:52 +00:00
u p d a t e r / u p d a t e i n f o . h
2020-03-09 00:48:07 +00:00
u p d a t e r / u p d a t e i n f o . c p p
2022-02-07 12:48:52 +00:00
u p d a t e r / u p d a t e r . h
2020-03-09 00:48:07 +00:00
u p d a t e r / u p d a t e r . c p p
)
endif ( )
2014-07-10 22:31:24 +00:00
IF ( APPLE )
2014-11-09 21:30:05 +00:00
list ( APPEND client_SRCS cocoainitializer_mac.mm )
2015-02-07 17:23:09 +00:00
list ( APPEND client_SRCS systray.mm )
2023-03-15 10:04:19 +00:00
if ( BUILD_FILE_PROVIDER_MODULE )
list ( APPEND client_SRCS
m a c O S / f i l e p r o v i d e r . h
m a c O S / f i l e p r o v i d e r _ m a c . m m
m a c O S / f i l e p r o v i d e r d o m a i n m a n a g e r . h
m a c O S / f i l e p r o v i d e r d o m a i n m a n a g e r _ m a c . m m
m a c O S / f i l e p r o v i d e r s o c k e t c o n t r o l l e r . h
m a c O S / f i l e p r o v i d e r s o c k e t c o n t r o l l e r . c p p
m a c O S / f i l e p r o v i d e r s o c k e t s e r v e r . h
m a c O S / f i l e p r o v i d e r s o c k e t s e r v e r . c p p
m a c O S / f i l e p r o v i d e r s o c k e t s e r v e r _ m a c . m m )
endif ( )
2014-07-10 22:31:24 +00:00
2020-03-09 00:48:07 +00:00
if ( SPARKLE_FOUND AND BUILD_UPDATER )
2020-11-25 08:43:59 +00:00
# Define this, we need to check in updater.cpp
add_definitions ( -DHAVE_SPARKLE )
list ( APPEND updater_SRCS updater/sparkleupdater_mac.mm updater/sparkleupdater.h )
list ( APPEND updater_DEPS ${ SPARKLE_LIBRARY } )
# Sparkle.framework is installed from here because macdeployqt's CopyFramework breaks on this bundle
# as its logic is tightly tailored around Qt5 frameworks
install ( DIRECTORY "${SPARKLE_LIBRARY}"
D E S T I N A T I O N " $ { O W N C L O U D _ O S X _ B U N D L E } / C o n t e n t s / F r a m e w o r k s " U S E _ S O U R C E _ P E R M I S S I O N S )
2014-07-10 22:31:24 +00:00
endif ( )
ENDIF ( )
IF ( NOT WIN32 AND NOT APPLE )
2014-11-09 21:58:24 +00:00
set ( client_SRCS ${ client_SRCS } folderwatcher_linux.cpp )
2014-07-10 22:31:24 +00:00
ENDIF ( )
IF ( WIN32 )
2022-07-04 12:36:06 +00:00
set ( client_SRCS ${ client_SRCS } folderwatcher_win.cpp shellextensionsserver.cpp ${ CMAKE_SOURCE_DIR } /src/common/shellextensionutils.cpp )
2014-07-10 22:31:24 +00:00
ENDIF ( )
IF ( APPLE )
2014-11-09 21:30:05 +00:00
list ( APPEND client_SRCS folderwatcher_mac.cpp )
2014-07-10 22:31:24 +00:00
ENDIF ( )
set ( 3rdparty_SRC
2022-02-07 12:48:52 +00:00
. . / 3 r d p a r t y / Q P r o g r e s s I n d i c a t o r / Q P r o g r e s s I n d i c a t o r . h
2014-07-10 22:31:24 +00:00
. . / 3 r d p a r t y / Q P r o g r e s s I n d i c a t o r / Q P r o g r e s s I n d i c a t o r . c p p
2022-02-07 12:48:52 +00:00
. . / 3 r d p a r t y / q t l o c k e d f i l e / q t l o c k e d f i l e . h
2014-07-10 22:31:24 +00:00
. . / 3 r d p a r t y / q t l o c k e d f i l e / q t l o c k e d f i l e . c p p
2022-02-07 12:48:52 +00:00
. . / 3 r d p a r t y / q t s i n g l e a p p l i c a t i o n / q t l o c a l p e e r . h
2014-07-10 22:31:24 +00:00
. . / 3 r d p a r t y / q t s i n g l e a p p l i c a t i o n / q t l o c a l p e e r . c p p
2022-02-07 12:48:52 +00:00
. . / 3 r d p a r t y / q t s i n g l e a p p l i c a t i o n / q t s i n g l e a p p l i c a t i o n . h
2014-07-10 22:31:24 +00:00
. . / 3 r d p a r t y / q t s i n g l e a p p l i c a t i o n / q t s i n g l e a p p l i c a t i o n . c p p
2022-02-07 12:48:52 +00:00
. . / 3 r d p a r t y / q t s i n g l e a p p l i c a t i o n / q t s i n g l e c o r e a p p l i c a t i o n . h
2014-07-10 22:31:24 +00:00
. . / 3 r d p a r t y / q t s i n g l e a p p l i c a t i o n / q t s i n g l e c o r e a p p l i c a t i o n . c p p
2022-02-07 12:48:52 +00:00
. . / 3 r d p a r t y / k m e s s a g e w i d g e t / k m e s s a g e w i d g e t . h
2019-05-08 17:56:00 +00:00
. . / 3 r d p a r t y / k m e s s a g e w i d g e t / k m e s s a g e w i d g e t . c p p
2022-02-07 12:48:52 +00:00
. . / 3 r d p a r t y / k i r i g a m i / w h e e l h a n d l e r . h
2021-11-12 20:02:58 +00:00
. . / 3 r d p a r t y / k i r i g a m i / w h e e l h a n d l e r . c p p
2014-07-10 22:31:24 +00:00
)
2022-11-09 22:19:35 +00:00
set_property ( SOURCE ../3rdparty/kmessagewidget/kmessagewidget.cpp PROPERTY SKIP_UNITY_BUILD_INCLUSION ON )
set_property ( SOURCE ../3rdparty/kirigami/wheelhandler.cpp PROPERTY SKIP_UNITY_BUILD_INCLUSION ON )
2014-07-10 22:31:24 +00:00
if ( NOT WIN32 )
list ( APPEND 3rdparty_SRC ../3rdparty/qtlockedfile/qtlockedfile_unix.cpp )
2022-10-29 00:30:47 +00:00
set_property ( SOURCE ../3rdparty/qtlockedfile/qtlockedfile_unix.cpp PROPERTY SKIP_UNITY_BUILD_INCLUSION ON )
2014-07-10 22:31:24 +00:00
else ( )
list ( APPEND 3rdparty_SRC ../3rdparty/qtlockedfile/qtlockedfile_win.cpp )
2022-10-29 00:30:47 +00:00
set_property ( SOURCE ../3rdparty/qtlockedfile/qtlockedfile_win.cpp PROPERTY SKIP_UNITY_BUILD_INCLUSION ON )
2014-07-10 22:31:24 +00:00
endif ( )
2017-12-14 14:10:33 +00:00
find_package ( Qt5LinguistTools )
if ( Qt5LinguistTools_FOUND )
qt5_add_translation ( client_I18N ${ TRANSLATIONS } )
endif ( )
2014-07-10 22:31:24 +00:00
2015-04-01 11:45:04 +00:00
IF ( WIN32 )
configure_file (
$ { C M A K E _ C U R R E N T _ S O U R C E _ D I R } / v e r s i o n . r c . i n
$ { C M A K E _ C U R R E N T _ B I N A R Y _ D I R } / v e r s i o n . r c
@ O N L Y )
set ( client_version ${ CMAKE_CURRENT_BINARY_DIR } /version.rc )
2016-10-29 20:06:03 +00:00
IF ( NOT MSVC )
set ( client_manifest ${ CMAKE_CURRENT_SOURCE_DIR } /manifest-mingw.rc )
ENDIF ( )
2015-04-01 11:45:04 +00:00
ENDIF ( )
2014-07-10 22:31:24 +00:00
set ( final_src
2014-11-09 21:30:05 +00:00
$ { c l i e n t _ S R C S }
$ { c l i e n t _ U I _ S R C S }
2014-11-09 22:10:18 +00:00
$ { g u i M o c }
2014-11-09 21:30:05 +00:00
$ { c l i e n t _ I 1 8 N }
2014-07-10 22:31:24 +00:00
$ { 3 r d p a r t y _ S R C }
$ { 3 r d p a r t y _ M O C }
)
2020-10-29 12:24:20 +00:00
if ( Qt5Keychain_FOUND )
list ( APPEND libsync_LINK_TARGETS qt5keychain )
2015-06-15 13:53:45 +00:00
endif ( )
2014-07-10 22:31:24 +00:00
# add executable icon on windows and osx
2022-09-02 09:48:52 +00:00
include ( GenerateIconsUtils )
2014-07-10 22:31:24 +00:00
2017-03-27 09:12:28 +00:00
# For historical reasons we can not use the application_shortname
# for ownCloud but must rather set it manually.
if ( NOT DEFINED APPLICATION_ICON_NAME )
set ( APPLICATION_ICON_NAME ${ APPLICATION_SHORTNAME } )
2014-07-10 22:31:24 +00:00
endif ( )
2021-11-24 14:09:41 +00:00
if ( NOT DEFINED APPLICATION_FOLDER_ICON_INDEX )
set ( APPLICATION_FOLDER_ICON_INDEX 0 )
endif ( )
2022-06-08 09:44:39 +00:00
set ( STATE_ICONS_COLORS colored black white )
foreach ( state_icons_color ${ STATE_ICONS_COLORS } )
set ( STATE_ICONS_PATH "${theme_dir}/${state_icons_color}/" )
2022-07-05 09:54:00 +00:00
message ( "Generating state icons from SVG in path: ${STATE_ICONS_PATH}" )
2022-06-08 09:44:39 +00:00
file ( GLOB_RECURSE STATE_ICONS_SVG "${STATE_ICONS_PATH}/state-*.svg" )
foreach ( state_icon_svg ${ STATE_ICONS_SVG } )
get_filename_component ( status_icon_name_wle ${ state_icon_svg } NAME_WLE )
foreach ( size IN ITEMS 16;32;64;128;256 )
generate_sized_png_from_svg ( ${ state_icon_svg } ${ size } OUTPUT_ICON_FULL_NAME_WLE "${status_icon_name_wle}-${size}" )
endforeach ( )
endforeach ( )
endforeach ( )
2021-06-02 15:14:37 +00:00
if ( ( APPLICATION_ICON_SET MATCHES "PNG" )
A N D
( N O T E X I S T S " $ { t h e m e _ d i r } / c o l o r e d / $ { A P P L I C A T I O N _ I C O N _ N A M E } - i c o n . s v g " ) )
# We may have no svg application icon in when customers use PNG
# icons in brander, but theme.qrc expects a svg icon.
file ( TOUCH "${theme_dir}/colored/${APPLICATION_ICON_NAME}-icon.svg" )
endif ( )
if ( APPLE )
set ( MACOS_SIDEBAR_ICON_SVG "${theme_dir}/colored/${APPLICATION_ICON_NAME}-sidebar.svg" )
generate_sized_png_from_svg ( ${ MACOS_SIDEBAR_ICON_SVG } 16 )
generate_sized_png_from_svg ( ${ MACOS_SIDEBAR_ICON_SVG } 32 )
generate_sized_png_from_svg ( ${ MACOS_SIDEBAR_ICON_SVG } 64 )
generate_sized_png_from_svg ( ${ MACOS_SIDEBAR_ICON_SVG } 128 )
generate_sized_png_from_svg ( ${ MACOS_SIDEBAR_ICON_SVG } 256 )
endif ( )
if ( WIN32 )
set ( STARTMENU_ICON_SVG "${theme_dir}/colored/${APPLICATION_ICON_NAME}-w10startmenu.svg" )
generate_sized_png_from_svg ( ${ STARTMENU_ICON_SVG } 70 )
generate_sized_png_from_svg ( ${ STARTMENU_ICON_SVG } 150 )
endif ( )
set ( APP_ICON_SVG "${theme_dir}/colored/${APPLICATION_ICON_NAME}-icon.svg" )
2021-11-24 14:09:41 +00:00
# generate secondary icon if available (currently for Windows only)--------------------------------------
set ( APP_SECONDARY_ICONS "${theme_dir}/colored/icons" )
set ( APP_ICON_WIN_FOLDER_SVG "${APP_SECONDARY_ICONS}/${APPLICATION_ICON_NAME}-icon-win-folder.svg" )
set ( RC_DEPENDENCIES "" )
2021-12-14 15:45:13 +00:00
if ( WIN32 )
if ( EXISTS ${ APP_ICON_WIN_FOLDER_SVG } )
get_filename_component ( output_icon_name_win ${ APP_ICON_WIN_FOLDER_SVG } NAME_WLE )
# Product icon (for smallest size)
foreach ( size IN ITEMS 16;20 )
generate_sized_png_from_svg ( ${ APP_ICON_SVG } ${ size } OUTPUT_ICON_NAME ${ output_icon_name_win } OUTPUT_ICON_PATH "${APP_SECONDARY_ICONS}/" )
endforeach ( )
# Product icon with Windows folder (for sizes larger than 20)
foreach ( size IN ITEMS 24;32;40;48;64;128;256;512;1024 )
generate_sized_png_from_svg ( ${ APP_ICON_WIN_FOLDER_SVG } ${ size } OUTPUT_ICON_NAME ${ output_icon_name_win } OUTPUT_ICON_PATH "${APP_SECONDARY_ICONS}/" )
endforeach ( )
file ( GLOB_RECURSE OWNCLOUD_ICONS_WIN_FOLDER "${APP_SECONDARY_ICONS}/*-${APPLICATION_ICON_NAME}-icon*" )
set ( APP_ICON_WIN_FOLDER_ICO_NAME "${APPLICATION_ICON_NAME}-win-folder" )
set ( RC_DEPENDENCIES "${RC_DEPENDENCIES} ${APP_ICON_WIN_FOLDER_ICO_NAME}.ico" )
ecm_add_app_icon ( APP_ICON_WIN_FOLDER ICONS "${OWNCLOUD_ICONS_WIN_FOLDER}" SIDEBAR_ICONS "${OWNCLOUD_SIDEBAR_ICONS}" OUTFILE_BASENAME "${APP_ICON_WIN_FOLDER_ICO_NAME}" ICON_INDEX 2 )
endif ( )
2021-11-24 14:09:41 +00:00
endif ( )
# --------------------------------------
if ( NOT ${ RC_DEPENDENCIES } STREQUAL "" )
string ( STRIP ${ RC_DEPENDENCIES } RC_DEPENDENCIES )
endif ( )
# generate primary icon from SVG (due to Win .ico vs .rc dependency issues, primary icon must always be generated last)--------------------------------------
if ( WIN32 )
foreach ( size IN ITEMS 16;20;24;32;40;48;64;128;256;512;1024 )
generate_sized_png_from_svg ( ${ APP_ICON_SVG } ${ size } )
endforeach ( )
else ( )
foreach ( size IN ITEMS 16;24;32;48;64;128;256;512;1024 )
generate_sized_png_from_svg ( ${ APP_ICON_SVG } ${ size } )
endforeach ( )
endif ( )
2021-06-02 15:14:37 +00:00
2018-01-04 20:06:23 +00:00
file ( GLOB_RECURSE OWNCLOUD_ICONS "${theme_dir}/colored/*-${APPLICATION_ICON_NAME}-icon*" )
2021-11-24 14:09:41 +00:00
2018-01-04 20:06:23 +00:00
if ( APPLE )
file ( GLOB_RECURSE OWNCLOUD_SIDEBAR_ICONS "${theme_dir}/colored/*-${APPLICATION_ICON_NAME}-sidebar*" )
MESSAGE ( STATUS "OWNCLOUD_SIDEBAR_ICONS: ${APPLICATION_ICON_NAME}: ${OWNCLOUD_SIDEBAR_ICONS}" )
2016-09-11 14:14:08 +00:00
endif ( )
2021-11-24 14:09:41 +00:00
ecm_add_app_icon ( APP_ICON RC_DEPENDENCIES ${ RC_DEPENDENCIES } ICONS "${OWNCLOUD_ICONS}" SIDEBAR_ICONS "${OWNCLOUD_SIDEBAR_ICONS}" OUTFILE_BASENAME "${APPLICATION_ICON_NAME}" ICON_INDEX 1 )
# --------------------------------------
if ( WIN32 )
# merge *.rc.in files for Windows (multiple ICON resources must be placed in a single file, otherwise, this won't work de to a bug in Windows compiler https://developercommunity.visualstudio.com/t/visual-studio-2017-prof-1557-cvt1100-duplicate-res/363156)
function ( merge_files IN_FILE OUT_FILE )
file ( READ ${ IN_FILE } CONTENTS )
message ( "Merging ${IN_FILE} into ${OUT_FILE}" )
file ( APPEND ${ OUT_FILE } "${CONTENTS}" )
endfunction ( )
message ( "APP_ICON is: ${APP_ICON}" )
if ( APP_ICON )
get_filename_component ( RC_IN_FOLDER ${ APP_ICON } } DIRECTORY )
file ( GLOB_RECURSE RC_IN_FILES "${RC_IN_FOLDER}/*rc.in" )
foreach ( rc_in_file IN ITEMS ${ RC_IN_FILES } )
get_filename_component ( rc_in_file_name ${ rc_in_file } NAME )
get_filename_component ( app_icon_name "${APP_ICON}.in" NAME )
if ( NOT "${rc_in_file_name}" STREQUAL "${app_icon_name}" )
merge_files ( ${ rc_in_file } "${APP_ICON}.in" )
if ( DEFINED APPLICATION_FOLDER_ICON_INDEX )
MATH ( EXPR APPLICATION_FOLDER_ICON_INDEX "${APPLICATION_FOLDER_ICON_INDEX}+1" )
message ( "APPLICATION_FOLDER_ICON_INDEX is now set to: ${APPLICATION_FOLDER_ICON_INDEX}" )
endif ( )
endif ( )
endforeach ( )
endif ( )
endif ( )
# --------------------------------------
2014-07-10 22:31:24 +00:00
2017-09-20 16:26:06 +00:00
if ( UNIX AND NOT APPLE )
2017-10-06 12:34:22 +00:00
set ( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIE" )
set ( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIE" )
set ( CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -pie" )
2017-09-20 16:26:06 +00:00
endif ( )
2017-11-24 13:54:24 +00:00
if ( CMAKE_SYSTEM_NAME STREQUAL "FreeBSD" )
set ( CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -L/usr/local/lib" )
endif ( )
2021-01-14 22:07:32 +00:00
add_library ( nextcloudCore STATIC ${ final_src } )
target_link_libraries ( nextcloudCore
P U B L I C
2021-10-05 10:00:22 +00:00
N e x t c l o u d : : s y n c
2021-01-14 22:07:32 +00:00
Q t 5 : : W i d g e t s
Q t 5 : : G u i P r i v a t e
Q t 5 : : S v g
Q t 5 : : N e t w o r k
Q t 5 : : X m l
Q t 5 : : Q m l
Q t 5 : : Q u i c k
Q t 5 : : Q u i c k C o n t r o l s 2
2022-07-20 15:23:43 +00:00
K F 5 : : A r c h i v e
2021-06-22 10:01:18 +00:00
)
2021-02-17 14:41:32 +00:00
add_subdirectory ( socketapi )
2022-10-29 00:30:47 +00:00
# skip unity inclusion for files which cause problems with a CMake unity build
set_property ( SOURCE
$ { C M A K E _ C U R R E N T _ S O U R C E _ D I R } / s o c k e t a p i / s o c k e t a p i . c p p
$ { C M A K E _ C U R R E N T _ S O U R C E _ D I R } / s o c k e t a p i / s o c k e t u p l o a d j o b . c p p
P R O P E R T Y S K I P _ U N I T Y _ B U I L D _ I N C L U S I O N O N )
foreach ( FILE IN LISTS client_UI_SRCS )
set_property ( SOURCE ${ FILE } PROPERTY SKIP_UNITY_BUILD_INCLUSION ON )
endforeach ( )
2021-06-24 07:54:54 +00:00
if ( Qt5WebEngine_FOUND AND Qt5WebEngineWidgets_FOUND )
2021-06-22 10:01:18 +00:00
target_link_libraries ( nextcloudCore PUBLIC Qt5::WebEngineWidgets )
endif ( )
2021-01-14 22:07:32 +00:00
set_target_properties ( nextcloudCore
P R O P E R T I E S
A U T O U I C O N
A U T O M O C O N
)
target_include_directories ( nextcloudCore
P U B L I C
$ { C M A K E _ S O U R C E _ D I R } / s r c / 3 r d p a r t y / Q P r o g r e s s I n d i c a t o r
$ { C M A K E _ S O U R C E _ D I R } / s r c / 3 r d p a r t y / q t l o c k e d f i l e
2021-11-12 20:02:58 +00:00
$ { C M A K E _ S O U R C E _ D I R } / s r c / 3 r d p a r t y / k i r i g a m i
2021-01-14 22:07:32 +00:00
$ { C M A K E _ S O U R C E _ D I R } / s r c / 3 r d p a r t y / q t s i n g l e a p p l i c a t i o n
$ { C M A K E _ S O U R C E _ D I R } / s r c / 3 r d p a r t y / k m e s s a g e w i d g e t
$ { C M A K E _ C U R R E N T _ B I N A R Y _ D I R }
$ { C M A K E _ C U R R E N T _ S O U R C E _ D I R }
)
2014-07-11 10:36:01 +00:00
if ( NOT BUILD_OWNCLOUD_OSX_BUNDLE )
2014-07-10 22:31:24 +00:00
if ( NOT WIN32 )
2018-01-17 11:14:56 +00:00
file ( GLOB _icons "${theme_dir}/colored/*-${APPLICATION_ICON_NAME}-icon.png" )
foreach ( _file ${ _icons } )
string ( REPLACE "${theme_dir}/colored/" "" _res ${ _file } )
string ( REPLACE "-${APPLICATION_ICON_NAME}-icon.png" "" _res ${ _res } )
2021-04-14 23:06:52 +00:00
install ( FILES ${ _file } RENAME ${ APPLICATION_ICON_NAME } .png DESTINATION ${ CMAKE_INSTALL_DATADIR } /icons/hicolor/ ${ _res } x ${ _res } /apps )
2018-01-17 11:14:56 +00:00
endforeach ( _file )
2021-04-14 23:06:52 +00:00
install ( FILES ${ client_I18N } DESTINATION ${ CMAKE_INSTALL_DATADIR } / ${ APPLICATION_EXECUTABLE } /i18n )
2018-06-26 21:28:37 +00:00
else ( )
2019-09-06 06:35:46 +00:00
file ( GLOB_RECURSE VISUAL_ELEMENTS "${theme_dir}/colored/*-${APPLICATION_ICON_NAME}-w10startmenu*" )
2019-09-06 07:24:06 +00:00
install ( FILES ${ VISUAL_ELEMENTS } DESTINATION bin/visualelements )
install ( FILES "${theme_dir}/${APPLICATION_EXECUTABLE}.VisualElementsManifest.xml" DESTINATION bin )
2018-06-26 21:28:37 +00:00
install ( FILES ${ client_I18N } DESTINATION i18n )
endif ( )
2014-07-10 22:31:24 +00:00
# we may not add MACOSX_BUNDLE here, if not building one
2021-04-13 10:39:10 +00:00
add_executable ( nextcloud WIN32 main.cpp ${ client_version } ${ client_manifest } ${ APP_ICON } )
set_target_properties ( nextcloud PROPERTIES
O U T P U T _ N A M E " $ { A P P L I C A T I O N _ E X E C U T A B L E } "
)
2014-09-12 09:25:52 +00:00
else ( )
2014-10-22 08:20:38 +00:00
# set(CMAKE_INSTALL_PREFIX ".") # Examples use /Applications. hurmpf.
2018-09-05 09:57:26 +00:00
set ( MACOSX_BUNDLE_ICON_FILE "${APPLICATION_ICON_NAME}.icns" )
2014-07-10 22:31:24 +00:00
# we must add MACOSX_BUNDLE only if building a bundle
2021-04-13 10:39:10 +00:00
add_executable ( nextcloud WIN32 MACOSX_BUNDLE main.cpp ${ APP_ICON } )
2014-07-10 22:31:24 +00:00
2021-06-04 18:34:58 +00:00
if ( BUILD_OWNCLOUD_OSX_BUNDLE )
2021-04-13 10:39:10 +00:00
set_target_properties ( nextcloud PROPERTIES
2021-06-04 18:34:58 +00:00
O U T P U T _ N A M E " $ { A P P L I C A T I O N _ N A M E } " )
2021-04-13 10:39:10 +00:00
else ( )
set_target_properties ( nextcloud PROPERTIES
O U T P U T _ N A M E " $ { A P P L I C A T I O N _ E X E C U T A B L E } " )
2021-06-04 18:34:58 +00:00
endif ( )
2014-07-10 22:31:24 +00:00
set ( QM_DIR ${ OWNCLOUD_OSX_BUNDLE } /Contents/Resources/Translations )
2014-11-09 21:30:05 +00:00
install ( FILES ${ client_I18N } DESTINATION ${ QM_DIR } )
2014-10-22 08:20:38 +00:00
get_target_property ( _qmake Qt5::qmake LOCATION )
execute_process ( COMMAND ${ _qmake } -query QT_INSTALL_TRANSLATIONS
O U T P U T _ V A R I A B L E Q T _ T R A N S L A T I O N S _ D I R
O U T P U T _ S T R I P _ T R A I L I N G _ W H I T E S P A C E
)
2014-07-10 22:31:24 +00:00
file ( GLOB qt_I18N ${ QT_TRANSLATIONS_DIR } /qt_??.qm ${ QT_TRANSLATIONS_DIR } /qt_??_??.qm )
install ( FILES ${ qt_I18N } DESTINATION ${ QM_DIR } )
2014-10-22 08:20:38 +00:00
file ( GLOB qtbase_I18N ${ QT_TRANSLATIONS_DIR } /qtbase_??.qm ${ QT_TRANSLATIONS_DIR } /qt_??_??.qm )
install ( FILES ${ qtbase_I18N } DESTINATION ${ QM_DIR } )
2014-07-10 22:31:24 +00:00
file ( GLOB qtkeychain_I18N ${ QT_TRANSLATIONS_DIR } /qtkeychain*.qm )
install ( FILES ${ qtkeychain_I18N } DESTINATION ${ QM_DIR } )
endif ( )
2020-03-09 00:48:07 +00:00
IF ( BUILD_UPDATER )
add_library ( updater STATIC ${ updater_SRCS } )
2021-10-05 10:00:22 +00:00
target_link_libraries ( updater Nextcloud::sync ${ updater_DEPS } Qt5::Widgets Qt5::Svg Qt5::Network Qt5::Xml )
2020-03-09 00:48:07 +00:00
target_include_directories ( updater PUBLIC ${ CMAKE_CURRENT_SOURCE_DIR } )
2021-02-01 23:25:38 +00:00
set_target_properties ( updater PROPERTIES AUTOMOC ON )
2021-04-13 10:39:10 +00:00
target_link_libraries ( nextcloudCore PUBLIC updater )
2020-03-09 00:48:07 +00:00
endif ( )
2014-07-10 22:31:24 +00:00
2021-04-13 10:39:10 +00:00
set_target_properties ( nextcloud PROPERTIES
R U N T I M E _ O U T P U T _ D I R E C T O R Y $ { B I N _ O U T P U T _ D I R E C T O R Y }
2014-07-11 10:36:01 +00:00
)
2014-07-10 22:31:24 +00:00
2021-04-13 10:39:10 +00:00
target_link_libraries ( nextcloud PRIVATE nextcloudCore )
2021-01-14 22:07:32 +00:00
2021-04-01 17:46:56 +00:00
if ( TARGET PkgConfig::CLOUDPROVIDERS )
message ( "Building with libcloudproviderssupport" )
target_sources ( nextcloudCore PRIVATE cloudproviders/cloudprovidermanager.cpp cloudproviders/cloudproviderwrapper.cpp )
2017-07-23 18:58:00 +00:00
string ( TOLOWER "${APPLICATION_VENDOR}" DBUS_VENDOR )
string ( REGEX REPLACE "[^A-z0-9]" "" DBUS_VENDOR "${DBUS_VENDOR}" )
string ( REGEX REPLACE "[^A-z0-9]" "" DBUS_APPLICATION_NAME "${APPLICATION_SHORTNAME}" )
if ( NOT DBUS_PREFIX )
set ( DBUS_PREFIX "com" )
endif ( NOT DBUS_PREFIX )
set ( LIBCLOUDPROVIDERS_DBUS_BUS_NAME "${DBUS_PREFIX}.${DBUS_VENDOR}.${DBUS_APPLICATION_NAME}" )
set ( LIBCLOUDPROVIDERS_DBUS_OBJECT_PATH "/${DBUS_PREFIX}/${DBUS_VENDOR}/${DBUS_APPLICATION_NAME}" )
configure_file ( ${ CMAKE_CURRENT_SOURCE_DIR } /cloudproviders/cloudproviderconfig.h.in ${ CMAKE_CURRENT_BINARY_DIR } /cloudproviderconfig.h )
2021-04-01 17:46:56 +00:00
target_compile_definitions ( nextcloudCore PUBLIC -DWITH_LIBCLOUDPROVIDERS )
2021-01-14 22:07:32 +00:00
target_link_libraries ( nextcloudCore
2021-04-01 17:46:56 +00:00
P R I V A T E
P k g C o n f i g : : C L O U D P R O V I D E R S
P k g C o n f i g : : G L I B 2
P k g C o n f i g : : G I O
2021-01-14 22:07:32 +00:00
)
2023-09-06 14:04:15 +00:00
list ( APPEND LIBCLOUDPROVIDERS_DESKTOP_IMPLEMENTS "Implements=org.freedesktop.CloudProviders\n" )
list ( APPEND LIBCLOUDPROVIDERS_DESKTOP_IMPLEMENTS "[org.freedesktop.CloudProviders]" )
list ( APPEND LIBCLOUDPROVIDERS_DESKTOP_IMPLEMENTS "BusName=${LIBCLOUDPROVIDERS_DBUS_BUS_NAME}" )
list ( APPEND LIBCLOUDPROVIDERS_DESKTOP_IMPLEMENTS "ObjectPath=${LIBCLOUDPROVIDERS_DBUS_OBJECT_PATH}" )
list ( JOIN LIBCLOUDPROVIDERS_DESKTOP_IMPLEMENTS "\n" LIBCLOUDPROVIDERS_DESKTOP_IMPLEMENTS )
2021-04-01 17:46:56 +00:00
endif ( )
2017-07-23 18:58:00 +00:00
2017-12-14 14:10:33 +00:00
## handle DBUS for Fdo notifications
if ( UNIX AND NOT APPLE )
find_package ( Qt5 COMPONENTS DBus )
2021-01-14 22:07:32 +00:00
target_link_libraries ( nextcloudCore PUBLIC Qt5::DBus )
target_compile_definitions ( nextcloudCore PUBLIC "USE_FDO_NOTIFICATIONS" )
2017-12-14 14:10:33 +00:00
endif ( )
2018-01-04 19:47:54 +00:00
if ( APPLE )
find_package ( Qt5 COMPONENTS MacExtras )
2023-03-15 10:04:19 +00:00
if ( BUILD_FILE_PROVIDER_MODULE )
target_link_libraries ( nextcloudCore PUBLIC Qt5::MacExtras "-framework UserNotifications -framework FileProvider" )
else ( )
target_link_libraries ( nextcloudCore PUBLIC Qt5::MacExtras "-framework UserNotifications" )
endif ( )
2018-01-04 19:47:54 +00:00
endif ( )
2014-08-26 16:07:42 +00:00
if ( WITH_CRASHREPORTER )
2021-01-14 22:07:32 +00:00
target_link_libraries ( nextcloudCore PUBLIC crashreporter-handler )
2014-08-26 16:07:42 +00:00
if ( UNIX AND NOT MAC )
find_package ( Threads REQUIRED )
2021-04-13 11:19:40 +00:00
target_link_libraries ( nextcloudCore PUBLIC Threads::Threads )
2014-08-26 16:07:42 +00:00
endif ( )
endif ( )
2021-04-13 10:39:10 +00:00
install ( TARGETS nextcloud
2014-07-11 10:36:01 +00:00
R U N T I M E D E S T I N A T I O N b i n
L I B R A R Y D E S T I N A T I O N l i b
A R C H I V E D E S T I N A T I O N l i b
2014-10-22 08:20:38 +00:00
B U N D L E D E S T I N A T I O N " . "
2014-07-10 22:31:24 +00:00
)
2014-11-18 15:44:14 +00:00
2015-01-20 18:03:56 +00:00
# FIXME: The following lines are dup in src/gui and src/cmd because it needs to be done after both are installed
2014-07-10 22:31:24 +00:00
#FIXME: find a nice solution to make the second if(BUILD_OWNCLOUD_OSX_BUNDLE) unnecessary
# currently it needs to be done because the code right above needs to be executed no matter
# if building a bundle or not and the install_qt4_executable needs to be called afterwards
2020-06-06 17:53:48 +00:00
#
# OSX: Run macdeployqt for src/gui and for src/cmd using the -executable option
2014-10-22 08:20:38 +00:00
if ( BUILD_OWNCLOUD_OSX_BUNDLE AND NOT BUILD_LIBRARIES_ONLY )
2020-01-22 03:53:03 +00:00
get_target_property ( QT_QMAKE_EXECUTABLE Qt5::qmake IMPORTED_LOCATION )
get_filename_component ( QT_BIN_DIR "${QT_QMAKE_EXECUTABLE}" DIRECTORY )
find_program ( MACDEPLOYQT_EXECUTABLE macdeployqt HINTS "${QT_BIN_DIR}" )
2020-06-06 17:53:48 +00:00
set ( cmd_NAME ${ APPLICATION_EXECUTABLE } cmd )
2020-07-17 12:07:13 +00:00
if ( CMAKE_BUILD_TYPE MATCHES Debug )
set ( NO_STRIP "-no-strip" )
else ( )
set ( NO_STRIP "" )
endif ( )
2021-10-07 10:56:52 +00:00
add_custom_command ( TARGET nextcloud POST_BUILD
2020-01-22 03:53:03 +00:00
C O M M A N D " $ { M A C D E P L O Y Q T _ E X E C U T A B L E } "
2021-10-07 10:56:52 +00:00
" $ < T A R G E T _ F I L E _ D I R : n e x t c l o u d > / . . / . . "
2021-03-26 10:28:40 +00:00
- q m l d i r = $ { C M A K E _ S O U R C E _ D I R } / s r c / g u i
- a l w a y s - o v e r w r i t e
2021-10-07 10:56:52 +00:00
- e x e c u t a b l e = " $ < T A R G E T _ F I L E _ D I R : n e x t c l o u d > / $ { c m d _ N A M E } "
2021-03-26 10:28:40 +00:00
$ { N O _ S T R I P }
C O M M A N D " $ { C M A K E _ C O M M A N D } "
- E r m - r f " $ { B I N _ O U T P U T _ D I R E C T O R Y } / $ { O W N C L O U D _ O S X _ B U N D L E } / C o n t e n t s / P l u g I n s / b e a r e r "
2020-01-22 03:53:03 +00:00
C O M M E N T " R u n n i n g m a c d e p l o y q t . . . "
)
2014-07-10 22:31:24 +00:00
endif ( )
if ( NOT BUILD_OWNCLOUD_OSX_BUNDLE AND NOT WIN32 )
configure_file ( ${ CMAKE_SOURCE_DIR } /mirall.desktop.in
2019-09-30 07:45:41 +00:00
$ { C M A K E _ C U R R E N T _ B I N A R Y _ D I R } / $ { L I N U X _ A P P L I C A T I O N _ I D } . d e s k t o p )
2021-04-14 23:06:52 +00:00
install ( FILES ${ CMAKE_CURRENT_BINARY_DIR } / ${ LINUX_APPLICATION_ID } .desktop DESTINATION ${ CMAKE_INSTALL_DATADIR } /applications )
2018-01-15 18:43:33 +00:00
2018-01-25 15:20:35 +00:00
configure_file ( owncloud.xml.in ${ APPLICATION_EXECUTABLE } .xml )
2021-04-14 23:06:52 +00:00
install ( FILES ${ CMAKE_CURRENT_BINARY_DIR } / ${ APPLICATION_EXECUTABLE } .xml DESTINATION ${ CMAKE_INSTALL_DATADIR } /mime/packages )
2018-01-15 18:43:33 +00:00
find_package ( SharedMimeInfo )
if ( SharedMimeInfo_FOUND )
2021-04-14 23:06:52 +00:00
update_xdg_mimetypes ( ${ CMAKE_INSTALL_DATADIR } /mime/packages )
2018-01-15 18:43:33 +00:00
endif ( SharedMimeInfo_FOUND )
2014-07-10 22:31:24 +00:00
endif ( )
2021-11-24 14:09:41 +00:00
configure_file ( configgui.h.in ${ CMAKE_CURRENT_BINARY_DIR } /configgui.h )