2018-02-27 18:06:05 +01:00
# Strawberry Music Player
# Copyright 2013, Jonas Kvinge <jonas@strawbs.net>
#
# Strawberry is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# Strawberry is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with Strawberry. If not, see <http://www.gnu.org/licenses/>.
set ( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall" )
2018-05-15 00:25:30 +02:00
set ( CMAKE_CXX_STANDARD 11 )
2018-05-14 17:57:37 +02:00
set ( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Woverloaded-virtual -Wno-sign-compare -Wno-deprecated-declarations -Wno-unused-local-typedefs -fpermissive --std=c++11 -U__STRICT_ANSI__" )
2018-02-27 18:06:05 +01:00
option ( BUILD_WERROR "Build with -Werror" ON )
if ( BUILD_WERROR )
if ( LINUX )
set ( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror" )
endif ( LINUX )
endif ( BUILD_WERROR )
2018-05-15 00:25:30 +02:00
# Set up definitions and paths
2018-03-31 19:43:28 +02:00
2018-05-15 00:25:30 +02:00
include_directories ( ${ CMAKE_SOURCE_DIR } ${ CMAKE_CURRENT_BINARY_DIR } ${ CMAKE_CURRENT_SOURCE_DIR } )
2018-02-27 18:06:05 +01:00
2018-05-15 00:25:30 +02:00
add_definitions ( ${ QT_DEFINITIONS } )
2018-05-10 15:29:28 +02:00
add_definitions ( -DQT_USE_QSTRINGBUILDER )
2018-02-27 18:06:05 +01:00
add_definitions ( -DQT_NO_URL_CAST_FROM_STRING )
add_definitions ( -DBOOST_BIND_NO_PLACEHOLDERS )
include_directories ( ${ CMAKE_BINARY_DIR } )
include_directories ( ${ GLIB_INCLUDE_DIRS } )
2018-05-15 00:25:30 +02:00
include_directories ( ${ GLIBCONFIG_INCLUDE_DIRS } )
2018-02-27 18:06:05 +01:00
include_directories ( ${ GOBJECT_INCLUDE_DIRS } )
2018-05-15 00:25:30 +02:00
include_directories ( ${ Boost_INCLUDE_DIRS } )
2018-05-10 15:29:28 +02:00
include_directories ( ${ LIBXML_INCLUDE_DIRS } )
2018-05-15 00:25:30 +02:00
include_directories ( ${ CHROMAPRINT_INCLUDE_DIRS } )
include_directories ( ${ OPENGL_INCLUDE_DIR } )
if ( HAVE_GSTREAMER )
link_directories ( ${ GSTREAMER_LIBRARY_DIRS } )
include_directories ( ${ GSTREAMER_INCLUDE_DIRS } )
include_directories ( ${ GSTREAMER_APP_INCLUDE_DIRS } )
include_directories ( ${ GSTREAMER_AUDIO_INCLUDE_DIRS } )
include_directories ( ${ GSTREAMER_BASE_INCLUDE_DIRS } )
include_directories ( ${ GSTREAMER_TAG_INCLUDE_DIRS } )
endif ( )
if ( HAVE_PHONON )
include_directories ( ${ PHONON_INCLUDE_DIRS } )
endif ( )
2018-10-14 00:08:33 +02:00
if ( HAVE_LIBDEEZER )
include_directories ( ${ DEEZER_INCLUDE_DIRS } )
endif ( )
if ( HAVE_LIBDZMEDIA )
include_directories ( ${ DZMEDIA_INCLUDE_DIRS } )
endif ( )
2018-05-15 00:25:30 +02:00
link_directories ( ${ TAGLIB_LIBRARY_DIRS } )
include_directories ( ${ TAGLIB_INCLUDE_DIRS } )
2018-05-10 15:29:28 +02:00
include_directories ( ${ SHA2_INCLUDE_DIRS } )
2018-02-27 18:06:05 +01:00
include_directories ( ${ QTSINGLEAPPLICATION_INCLUDE_DIRS } )
include_directories ( ${ QXT_INCLUDE_DIRS } )
if ( HAVE_LIBLASTFM )
include_directories ( ${ LASTFM5_INCLUDE_DIRS } )
endif ( HAVE_LIBLASTFM )
include_directories ( ${ CMAKE_SOURCE_DIR } /ext/libstrawberry-common )
include_directories ( ${ CMAKE_SOURCE_DIR } /ext/libstrawberry-tagreader )
include_directories ( ${ CMAKE_BINARY_DIR } /ext/libstrawberry-tagreader )
set ( SOURCES
c o r e / m a i n w i n d o w . c p p
c o r e / a p p l i c a t i o n . c p p
c o r e / a p p e a r a n c e . c p p
c o r e / p l a y e r . c p p
c o r e / c o m m a n d l i n e o p t i o n s . c p p
c o r e / d a t a b a s e . c p p
c o r e / m e t a t y p e s . c p p
c o r e / d e l e t e f i l e s . c p p
c o r e / f i l e s y s t e m m u s i c s t o r a g e . c p p
c o r e / f i l e s y s t e m w a t c h e r i n t e r f a c e . c p p
c o r e / m e r g e d p r o x y m o d e l . c p p
c o r e / m u l t i s o r t f i l t e r p r o x y . c p p
c o r e / m u s i c s t o r a g e . c p p
c o r e / n e t w o r k . c p p
c o r e / n e t w o r k p r o x y f a c t o r y . c p p
c o r e / q t f s l i s t e n e r . c p p
c o r e / s e t t i n g s p r o v i d e r . c p p
c o r e / s i g n a l c h e c k e r . c p p
c o r e / s o n g . c p p
c o r e / s o n g l o a d e r . c p p
c o r e / s t y l e s h e e t l o a d e r . c p p
c o r e / t a g r e a d e r c l i e n t . c p p
c o r e / t a s k m a n a g e r . c p p
c o r e / t h r e a d . c p p
c o r e / u r l h a n d l e r . c p p
c o r e / u t i l i t i e s . c p p
c o r e / s c a n g i o m o d u l e p a t h . c p p
c o r e / i c o n l o a d e r . c p p
c o r e / q t s y s t e m t r a y i c o n . c p p
c o r e / s t a n d a r d i t e m i c o n l o a d e r . c p p
c o r e / s y s t e m t r a y i c o n . c p p
c o r e / w i n d o w s 7 t h u m b b a r . c p p
c o r e / s c r e e n s a v e r . c p p
c o r e / s c o p e d t r a n s a c t i o n . c p p
2018-10-02 00:38:52 +02:00
2018-02-27 18:06:05 +01:00
e n g i n e / e n g i n e t y p e . c p p
e n g i n e / e n g i n e b a s e . c p p
e n g i n e / e n g i n e d e v i c e . c p p
e n g i n e / d e v i c e f i n d e r . c p p
2018-10-02 00:38:52 +02:00
2018-02-27 18:06:05 +01:00
a n a l y z e r / f h t . c p p
a n a l y z e r / a n a l y z e r b a s e . c p p
a n a l y z e r / a n a l y z e r c o n t a i n e r . c p p
a n a l y z e r / b l o c k a n a l y z e r . c p p
2018-10-02 00:38:52 +02:00
2018-02-27 18:06:05 +01:00
e q u a l i z e r / e q u a l i z e r . c p p
e q u a l i z e r / e q u a l i z e r s l i d e r . c p p
2018-08-29 21:42:24 +02:00
c o n t e x t / c o n t e x t v i e w . c p p
c o n t e x t / c o n t e x t a l b u m s m o d e l . c p p
c o n t e x t / c o n t e x t a l b u m s v i e w . c p p
2018-02-27 18:06:05 +01:00
c o l l e c t i o n / c o l l e c t i o n . c p p
c o l l e c t i o n / c o l l e c t i o n m o d e l . c p p
c o l l e c t i o n / c o l l e c t i o n b a c k e n d . c p p
c o l l e c t i o n / c o l l e c t i o n w a t c h e r . c p p
c o l l e c t i o n / c o l l e c t i o n v i e w . c p p
c o l l e c t i o n / c o l l e c t i o n v i e w c o n t a i n e r . c p p
c o l l e c t i o n / c o l l e c t i o n d i r e c t o r y m o d e l . c p p
c o l l e c t i o n / c o l l e c t i o n f i l t e r w i d g e t . c p p
c o l l e c t i o n / c o l l e c t i o n p l a y l i s t i t e m . c p p
c o l l e c t i o n / c o l l e c t i o n q u e r y . c p p
c o l l e c t i o n / s q l r o w . c p p
c o l l e c t i o n / s a v e d g r o u p i n g m a n a g e r . c p p
c o l l e c t i o n / g r o u p b y d i a l o g . c p p
p l a y l i s t / p l a y l i s t . c p p
p l a y l i s t / p l a y l i s t b a c k e n d . c p p
p l a y l i s t / p l a y l i s t c o n t a i n e r . c p p
p l a y l i s t / p l a y l i s t d e l e g a t e s . c p p
p l a y l i s t / p l a y l i s t f i l t e r . c p p
p l a y l i s t / p l a y l i s t f i l t e r p a r s e r . c p p
p l a y l i s t / p l a y l i s t h e a d e r . c p p
p l a y l i s t / p l a y l i s t i t e m . c p p
p l a y l i s t / p l a y l i s t l i s t c o n t a i n e r . c p p
p l a y l i s t / p l a y l i s t l i s t m o d e l . c p p
p l a y l i s t / p l a y l i s t l i s t v i e w . c p p
p l a y l i s t / p l a y l i s t m a n a g e r . c p p
p l a y l i s t / p l a y l i s t s a v e o p t i o n s d i a l o g . c p p
p l a y l i s t / p l a y l i s t s e q u e n c e . c p p
p l a y l i s t / p l a y l i s t t a b b a r . c p p
p l a y l i s t / p l a y l i s t u n d o c o m m a n d s . c p p
p l a y l i s t / p l a y l i s t v i e w . c p p
p l a y l i s t / s o n g l o a d e r i n s e r t e r . c p p
p l a y l i s t / s o n g p l a y l i s t i t e m . c p p
2018-10-21 15:13:48 +02:00
q u e u e / q u e u e . c p p
q u e u e / q u e u e v i e w . c p p
2018-02-27 18:06:05 +01:00
p l a y l i s t p a r s e r s / a s x i n i p a r s e r . c p p
p l a y l i s t p a r s e r s / a s x p a r s e r . c p p
p l a y l i s t p a r s e r s / c u e p a r s e r . c p p
p l a y l i s t p a r s e r s / m 3 u p a r s e r . c p p
p l a y l i s t p a r s e r s / p a r s e r b a s e . c p p
p l a y l i s t p a r s e r s / p l a y l i s t p a r s e r . c p p
p l a y l i s t p a r s e r s / p l s p a r s e r . c p p
p l a y l i s t p a r s e r s / w p l p a r s e r . c p p
p l a y l i s t p a r s e r s / x m l p a r s e r . c p p
p l a y l i s t p a r s e r s / x s p f p a r s e r . c p p
2018-10-02 00:38:52 +02:00
2018-02-27 18:06:05 +01:00
c o v e r m a n a g e r / a l b u m c o v e r m a n a g e r . c p p
c o v e r m a n a g e r / a l b u m c o v e r m a n a g e r l i s t . c p p
c o v e r m a n a g e r / a l b u m c o v e r l o a d e r . c p p
c o v e r m a n a g e r / a l b u m c o v e r f e t c h e r . c p p
c o v e r m a n a g e r / a l b u m c o v e r f e t c h e r s e a r c h . c p p
c o v e r m a n a g e r / a l b u m c o v e r s e a r c h e r . c p p
c o v e r m a n a g e r / a l b u m c o v e r e x p o r t . c p p
c o v e r m a n a g e r / a l b u m c o v e r e x p o r t e r . c p p
c o v e r m a n a g e r / a l b u m c o v e r c h o i c e c o n t r o l l e r . c p p
c o v e r m a n a g e r / c o v e r p r o v i d e r . c p p
c o v e r m a n a g e r / c o v e r p r o v i d e r s . c p p
c o v e r m a n a g e r / c o v e r s e a r c h s t a t i s t i c s . c p p
c o v e r m a n a g e r / c o v e r s e a r c h s t a t i s t i c s d i a l o g . c p p
c o v e r m a n a g e r / c o v e r e x p o r t r u n n a b l e . c p p
c o v e r m a n a g e r / c u r r e n t a r t l o a d e r . c p p
c o v e r m a n a g e r / c o v e r f r o m u r l d i a l o g . c p p
c o v e r m a n a g e r / m u s i c b r a i n z c o v e r p r o v i d e r . c p p
c o v e r m a n a g e r / d i s c o g s c o v e r p r o v i d e r . c p p
2018-09-20 22:13:30 +02:00
l y r i c s / l y r i c s p r o v i d e r s . c p p
l y r i c s / l y r i c s p r o v i d e r . c p p
l y r i c s / l y r i c s f e t c h e r . c p p
l y r i c s / l y r i c s f e t c h e r s e a r c h . c p p
l y r i c s / a u d d l y r i c s p r o v i d e r . c p p
l y r i c s / a p i s e e d s l y r i c s p r o v i d e r . c p p
2018-02-27 18:06:05 +01:00
s e t t i n g s / s e t t i n g s d i a l o g . c p p
s e t t i n g s / s e t t i n g s p a g e . c p p
s e t t i n g s / b e h a v i o u r s e t t i n g s p a g e . c p p
s e t t i n g s / c o l l e c t i o n s e t t i n g s p a g e . c p p
s e t t i n g s / b a c k e n d s e t t i n g s p a g e . c p p
s e t t i n g s / p l a y b a c k s e t t i n g s p a g e . c p p
s e t t i n g s / p l a y l i s t s e t t i n g s p a g e . c p p
s e t t i n g s / n e t w o r k p r o x y s e t t i n g s p a g e . c p p
s e t t i n g s / s h o r t c u t s s e t t i n g s p a g e . c p p
s e t t i n g s / a p p e a r a n c e s e t t i n g s p a g e . c p p
s e t t i n g s / n o t i f i c a t i o n s s e t t i n g s p a g e . c p p
d i a l o g s / a b o u t . c p p
d i a l o g s / c o n s o l e . c p p
d i a l o g s / e r r o r d i a l o g . c p p
d i a l o g s / e d i t t a g d i a l o g . c p p
d i a l o g s / t r a c k s e l e c t i o n d i a l o g . c p p
w i d g e t s / a u t o e x p a n d i n g t r e e v i e w . c p p
w i d g e t s / b u s y i n d i c a t o r . c p p
w i d g e t s / c l i c k a b l e l a b e l . c p p
w i d g e t s / f a n c y t a b w i d g e t . c p p
w i d g e t s / f a v o r i t e w i d g e t . c p p
w i d g e t s / f i l e v i e w . c p p
w i d g e t s / f i l e v i e w l i s t . c p p
w i d g e t s / f o r c e s c r o l l p e r p i x e l . c p p
w i d g e t s / f r e e s p a c e b a r . c p p
w i d g e t s / g r o u p e d i c o n v i e w . c p p
w i d g e t s / l i n e e d i t . c p p
w i d g e t s / l i n e t e x t e d i t . c p p
w i d g e t s / m u l t i l o a d i n g i n d i c a t o r . c p p
w i d g e t s / p l a y i n g w i d g e t . c p p
w i d g e t s / o s d . c p p
w i d g e t s / o s d p r e t t y . c p p
w i d g e t s / r e n a m e t a b l i n e e d i t . c p p
w i d g e t s / s l i d e r w i d g e t . c p p
w i d g e t s / s t i c k y s l i d e r . c p p
w i d g e t s / s t r e t c h h e a d e r v i e w . c p p
w i d g e t s / s t y l e h e l p e r . c p p
w i d g e t s / t r a c k s l i d e r . c p p
w i d g e t s / t r a c k s l i d e r p o p u p . c p p
w i d g e t s / t r a c k s l i d e r s l i d e r . c p p
2018-08-09 18:10:03 +02:00
w i d g e t s / l o g i n s t a t e w i d g e t . c p p
2018-10-02 00:38:52 +02:00
2018-02-27 18:06:05 +01:00
m u s i c b r a i n z / a c o u s t i d c l i e n t . c p p
m u s i c b r a i n z / m u s i c b r a i n z c l i e n t . c p p
2018-10-02 00:38:52 +02:00
2018-02-27 18:06:05 +01:00
g l o b a l s h o r t c u t s / g l o b a l s h o r t c u t b a c k e n d . c p p
g l o b a l s h o r t c u t s / g l o b a l s h o r t c u t s . c p p
g l o b a l s h o r t c u t s / g n o m e g l o b a l s h o r t c u t b a c k e n d . c p p
g l o b a l s h o r t c u t s / q x t g l o b a l s h o r t c u t b a c k e n d . c p p
g l o b a l s h o r t c u t s / g l o b a l s h o r t c u t g r a b b e r . c p p
2018-08-09 18:10:03 +02:00
i n t e r n e t / i n t e r n e t m o d e l . c p p
i n t e r n e t / i n t e r n e t s e r v i c e . c p p
i n t e r n e t / i n t e r n e t p l a y l i s t i t e m . c p p
2018-10-17 21:18:39 +02:00
i n t e r n e t / i n t e r n e t s e a r c h . c p p
i n t e r n e t / i n t e r n e t s e a r c h v i e w . c p p
i n t e r n e t / i n t e r n e t s e a r c h m o d e l . c p p
i n t e r n e t / i n t e r n e t s e a r c h s o r t m o d e l . c p p
i n t e r n e t / i n t e r n e t s e a r c h i t e m d e l e g a t e . c p p
2018-10-14 00:08:33 +02:00
i n t e r n e t / l o c a l r e d i r e c t s e r v e r . c p p
2018-08-29 21:42:24 +02:00
2018-02-27 18:06:05 +01:00
)
set ( HEADERS
c o r e / m a i n w i n d o w . h
c o r e / a p p l i c a t i o n . h
c o r e / p l a y e r . h
c o r e / d a t a b a s e . h
c o r e / d e l e t e f i l e s . h
c o r e / f i l e s y s t e m w a t c h e r i n t e r f a c e . h
c o r e / m e r g e d p r o x y m o d e l . h
c o r e / n e t w o r k . h
c o r e / q t f s l i s t e n e r . h
c o r e / s o n g l o a d e r . h
c o r e / t a g r e a d e r c l i e n t . h
c o r e / t a s k m a n a g e r . h
c o r e / u r l h a n d l e r . h
c o r e / q t s y s t e m t r a y i c o n . h
c o r e / s t a n d a r d i t e m i c o n l o a d e r . h
c o r e / s y s t e m t r a y i c o n . h
c o r e / w i n d o w s 7 t h u m b b a r . h
c o r e / m i m e d a t a . h
2018-03-18 18:39:30 +01:00
2018-02-27 18:06:05 +01:00
e n g i n e / e n g i n e b a s e . h
e n g i n e / e n g i n e d e v i c e . h
a n a l y z e r / a n a l y z e r b a s e . h
a n a l y z e r / a n a l y z e r c o n t a i n e r . h
a n a l y z e r / b l o c k a n a l y z e r . h
2018-10-02 00:38:52 +02:00
2018-02-27 18:06:05 +01:00
e q u a l i z e r / e q u a l i z e r . h
e q u a l i z e r / e q u a l i z e r s l i d e r . h
2018-10-02 00:38:52 +02:00
2018-08-29 21:42:24 +02:00
c o n t e x t / c o n t e x t v i e w . h
c o n t e x t / c o n t e x t a l b u m s m o d e l . h
c o n t e x t / c o n t e x t a l b u m s v i e w . h
2018-02-27 18:06:05 +01:00
c o l l e c t i o n / c o l l e c t i o n . h
c o l l e c t i o n / c o l l e c t i o n m o d e l . h
c o l l e c t i o n / c o l l e c t i o n b a c k e n d . h
c o l l e c t i o n / c o l l e c t i o n w a t c h e r . h
c o l l e c t i o n / c o l l e c t i o n v i e w . h
c o l l e c t i o n / c o l l e c t i o n v i e w c o n t a i n e r . h
c o l l e c t i o n / c o l l e c t i o n d i r e c t o r y m o d e l . h
c o l l e c t i o n / c o l l e c t i o n f i l t e r w i d g e t . h
c o l l e c t i o n / s a v e d g r o u p i n g m a n a g e r . h
c o l l e c t i o n / g r o u p b y d i a l o g . h
p l a y l i s t / p l a y l i s t . h
p l a y l i s t / p l a y l i s t b a c k e n d . h
p l a y l i s t / p l a y l i s t c o n t a i n e r . h
p l a y l i s t / p l a y l i s t d e l e g a t e s . h
p l a y l i s t / p l a y l i s t f i l t e r . h
p l a y l i s t / p l a y l i s t h e a d e r . h
p l a y l i s t / p l a y l i s t l i s t c o n t a i n e r . h
p l a y l i s t / p l a y l i s t l i s t m o d e l . h
p l a y l i s t / p l a y l i s t l i s t v i e w . h
p l a y l i s t / p l a y l i s t m a n a g e r . h
p l a y l i s t / p l a y l i s t s a v e o p t i o n s d i a l o g . h
p l a y l i s t / p l a y l i s t s e q u e n c e . h
p l a y l i s t / p l a y l i s t t a b b a r . h
p l a y l i s t / p l a y l i s t v i e w . h
p l a y l i s t / p l a y l i s t i t e m m i m e d a t a . h
p l a y l i s t / s o n g l o a d e r i n s e r t e r . h
p l a y l i s t / s o n g m i m e d a t a . h
2018-10-21 15:13:48 +02:00
q u e u e / q u e u e . h
q u e u e / q u e u e v i e w . h
2018-02-27 18:06:05 +01:00
p l a y l i s t p a r s e r s / a s x i n i p a r s e r . h
p l a y l i s t p a r s e r s / a s x p a r s e r . h
p l a y l i s t p a r s e r s / c u e p a r s e r . h
p l a y l i s t p a r s e r s / m 3 u p a r s e r . h
p l a y l i s t p a r s e r s / p a r s e r b a s e . h
p l a y l i s t p a r s e r s / p l a y l i s t p a r s e r . h
p l a y l i s t p a r s e r s / p l s p a r s e r . h
p l a y l i s t p a r s e r s / x s p f p a r s e r . h
2018-10-02 00:38:52 +02:00
2018-02-27 18:06:05 +01:00
c o v e r m a n a g e r / a l b u m c o v e r m a n a g e r . h
c o v e r m a n a g e r / a l b u m c o v e r m a n a g e r l i s t . h
c o v e r m a n a g e r / a l b u m c o v e r l o a d e r . h
c o v e r m a n a g e r / a l b u m c o v e r f e t c h e r . h
c o v e r m a n a g e r / a l b u m c o v e r f e t c h e r s e a r c h . h
c o v e r m a n a g e r / a l b u m c o v e r s e a r c h e r . h
c o v e r m a n a g e r / a l b u m c o v e r e x p o r t . h
c o v e r m a n a g e r / a l b u m c o v e r e x p o r t e r . h
c o v e r m a n a g e r / a l b u m c o v e r c h o i c e c o n t r o l l e r . h
c o v e r m a n a g e r / c o v e r p r o v i d e r . h
c o v e r m a n a g e r / c o v e r p r o v i d e r s . h
c o v e r m a n a g e r / c o v e r s e a r c h s t a t i s t i c s d i a l o g . h
c o v e r m a n a g e r / c o v e r e x p o r t r u n n a b l e . h
c o v e r m a n a g e r / c u r r e n t a r t l o a d e r . h
c o v e r m a n a g e r / c o v e r f r o m u r l d i a l o g . h
c o v e r m a n a g e r / m u s i c b r a i n z c o v e r p r o v i d e r . h
c o v e r m a n a g e r / d i s c o g s c o v e r p r o v i d e r . h
2018-09-20 22:13:30 +02:00
l y r i c s / l y r i c s p r o v i d e r s . h
l y r i c s / l y r i c s p r o v i d e r . h
l y r i c s / l y r i c s f e t c h e r . h
l y r i c s / l y r i c s f e t c h e r s e a r c h . h
l y r i c s / a u d d l y r i c s p r o v i d e r . h
l y r i c s / a p i s e e d s l y r i c s p r o v i d e r . h
2018-08-09 18:10:03 +02:00
2018-02-27 18:06:05 +01:00
s e t t i n g s / s e t t i n g s d i a l o g . h
s e t t i n g s / s e t t i n g s p a g e . h
s e t t i n g s / b e h a v i o u r s e t t i n g s p a g e . h
s e t t i n g s / c o l l e c t i o n s e t t i n g s p a g e . h
s e t t i n g s / b a c k e n d s e t t i n g s p a g e . h
s e t t i n g s / p l a y b a c k s e t t i n g s p a g e . h
s e t t i n g s / p l a y l i s t s e t t i n g s p a g e . h
s e t t i n g s / n e t w o r k p r o x y s e t t i n g s p a g e . h
s e t t i n g s / s h o r t c u t s s e t t i n g s p a g e . h
s e t t i n g s / a p p e a r a n c e s e t t i n g s p a g e . h
s e t t i n g s / n o t i f i c a t i o n s s e t t i n g s p a g e . h
2018-08-09 18:10:03 +02:00
2018-02-27 18:06:05 +01:00
d i a l o g s / a b o u t . h
d i a l o g s / e r r o r d i a l o g . h
d i a l o g s / c o n s o l e . h
d i a l o g s / e d i t t a g d i a l o g . h
d i a l o g s / t r a c k s e l e c t i o n d i a l o g . h
w i d g e t s / a u t o e x p a n d i n g t r e e v i e w . h
w i d g e t s / b u s y i n d i c a t o r . h
w i d g e t s / c l i c k a b l e l a b e l . h
w i d g e t s / f a n c y t a b w i d g e t . h
w i d g e t s / f a v o r i t e w i d g e t . h
w i d g e t s / f i l e v i e w . h
w i d g e t s / f i l e v i e w l i s t . h
w i d g e t s / f r e e s p a c e b a r . h
w i d g e t s / g r o u p e d i c o n v i e w . h
w i d g e t s / l i n e e d i t . h
w i d g e t s / l i n e t e x t e d i t . h
w i d g e t s / m u l t i l o a d i n g i n d i c a t o r . h
w i d g e t s / p l a y i n g w i d g e t . h
w i d g e t s / o s d . h
w i d g e t s / o s d p r e t t y . h
w i d g e t s / r e n a m e t a b l i n e e d i t . h
w i d g e t s / s l i d e r w i d g e t . h
w i d g e t s / s t i c k y s l i d e r . h
w i d g e t s / s t r e t c h h e a d e r v i e w . h
w i d g e t s / t r a c k s l i d e r . h
w i d g e t s / t r a c k s l i d e r p o p u p . h
w i d g e t s / t r a c k s l i d e r s l i d e r . h
2018-08-09 18:10:03 +02:00
w i d g e t s / l o g i n s t a t e w i d g e t . h
2018-10-02 00:38:52 +02:00
2018-02-27 18:06:05 +01:00
m u s i c b r a i n z / a c o u s t i d c l i e n t . h
m u s i c b r a i n z / m u s i c b r a i n z c l i e n t . h
2018-10-02 00:38:52 +02:00
2018-02-27 18:06:05 +01:00
g l o b a l s h o r t c u t s / g l o b a l s h o r t c u t b a c k e n d . h
g l o b a l s h o r t c u t s / g l o b a l s h o r t c u t s . h
g l o b a l s h o r t c u t s / g n o m e g l o b a l s h o r t c u t b a c k e n d . h
g l o b a l s h o r t c u t s / g l o b a l s h o r t c u t g r a b b e r . h
2018-08-09 18:10:03 +02:00
i n t e r n e t / i n t e r n e t m o d e l . h
i n t e r n e t / i n t e r n e t s e r v i c e . h
i n t e r n e t / i n t e r n e t m i m e d a t a . h
i n t e r n e t / i n t e r n e t s o n g m i m e d a t a . h
2018-10-17 21:18:39 +02:00
i n t e r n e t / i n t e r n e t s e a r c h . h
i n t e r n e t / i n t e r n e t s e a r c h v i e w . h
i n t e r n e t / i n t e r n e t s e a r c h m o d e l . h
2018-10-14 00:08:33 +02:00
i n t e r n e t / l o c a l r e d i r e c t s e r v e r . h
2018-08-09 18:10:03 +02:00
2018-02-27 18:06:05 +01:00
)
set ( UI
c o r e / m a i n w i n d o w . u i
2018-08-29 21:42:24 +02:00
c o n t e x t / c o n t e x t v i e w c o n t a i n e r . u i
2018-02-27 18:06:05 +01:00
c o l l e c t i o n / g r o u p b y d i a l o g . u i
c o l l e c t i o n / c o l l e c t i o n f i l t e r w i d g e t . u i
c o l l e c t i o n / c o l l e c t i o n v i e w c o n t a i n e r . u i
c o l l e c t i o n / s a v e d g r o u p i n g m a n a g e r . u i
p l a y l i s t / p l a y l i s t c o n t a i n e r . u i
p l a y l i s t / p l a y l i s t l i s t c o n t a i n e r . u i
p l a y l i s t / p l a y l i s t s a v e o p t i o n s d i a l o g . u i
p l a y l i s t / p l a y l i s t s e q u e n c e . u i
2018-10-21 15:13:48 +02:00
q u e u e / q u e u e v i e w . u i
2018-02-27 18:06:05 +01:00
c o v e r m a n a g e r / a l b u m c o v e r e x p o r t . u i
c o v e r m a n a g e r / a l b u m c o v e r m a n a g e r . u i
c o v e r m a n a g e r / a l b u m c o v e r s e a r c h e r . u i
c o v e r m a n a g e r / c o v e r s e a r c h s t a t i s t i c s d i a l o g . u i
c o v e r m a n a g e r / c o v e r f r o m u r l d i a l o g . u i
s e t t i n g s / s e t t i n g s d i a l o g . u i
s e t t i n g s / b e h a v i o u r s e t t i n g s p a g e . u i
s e t t i n g s / c o l l e c t i o n s e t t i n g s p a g e . u i
s e t t i n g s / b a c k e n d s e t t i n g s p a g e . u i
s e t t i n g s / p l a y b a c k s e t t i n g s p a g e . u i
s e t t i n g s / p l a y l i s t s e t t i n g s p a g e . u i
s e t t i n g s / n e t w o r k p r o x y s e t t i n g s p a g e . u i
s e t t i n g s / s h o r t c u t s s e t t i n g s p a g e . u i
s e t t i n g s / a p p e a r a n c e s e t t i n g s p a g e . u i
s e t t i n g s / n o t i f i c a t i o n s s e t t i n g s p a g e . u i
e q u a l i z e r / e q u a l i z e r . u i
e q u a l i z e r / e q u a l i z e r s l i d e r . u i
d i a l o g s / a b o u t . u i
d i a l o g s / e r r o r d i a l o g . u i
d i a l o g s / c o n s o l e . u i
d i a l o g s / e d i t t a g d i a l o g . u i
d i a l o g s / t r a c k s e l e c t i o n d i a l o g . u i
w i d g e t s / t r a c k s l i d e r . u i
w i d g e t s / o s d p r e t t y . u i
w i d g e t s / f i l e v i e w . u i
2018-08-09 18:10:03 +02:00
w i d g e t s / l o g i n s t a t e w i d g e t . u i
2018-10-02 00:38:52 +02:00
2018-02-27 18:06:05 +01:00
g l o b a l s h o r t c u t s / g l o b a l s h o r t c u t g r a b b e r . u i
2018-10-17 21:18:39 +02:00
i n t e r n e t / i n t e r n e t s e a r c h v i e w . u i
2018-08-09 18:10:03 +02:00
2018-02-27 18:06:05 +01:00
)
2018-10-14 00:08:33 +02:00
set ( RESOURCES ../data/data.qrc ../data/icons.qrc )
2018-02-27 18:06:05 +01:00
set ( OTHER_SOURCES )
option ( USE_INSTALL_PREFIX "Look for data in CMAKE_INSTALL_PREFIX" ON )
2018-05-15 00:25:30 +02:00
# ALSA
optional_source ( HAVE_ALSA
S O U R C E S
e n g i n e / a l s a d e v i c e f i n d e r . c p p
)
2018-02-27 18:06:05 +01:00
2018-05-15 00:25:30 +02:00
# X11
2018-07-03 20:32:28 +02:00
optional_source ( HAVE_X11 SOURCES widgets/osd_x11.cpp )
2018-02-27 18:06:05 +01:00
2018-05-15 00:25:30 +02:00
# GStreamer
optional_source ( HAVE_GSTREAMER
S O U R C E S e n g i n e / g s t e n g i n e . c p p e n g i n e / g s t e n g i n e p i p e l i n e . c p p e n g i n e / g s t e l e m e n t d e l e t e r . c p p
H E A D E R S e n g i n e / g s t e n g i n e . h e n g i n e / g s t e n g i n e p i p e l i n e . h e n g i n e / g s t e l e m e n t d e l e t e r . h
)
2018-02-27 18:06:05 +01:00
2018-05-15 00:25:30 +02:00
# Xine
optional_source ( HAVE_XINE
2018-08-12 15:05:34 +02:00
S O U R C E S e n g i n e / x i n e e n g i n e . c p p e n g i n e / x i n e s c o p e . c
2018-05-15 00:25:30 +02:00
H E A D E R S e n g i n e / x i n e e n g i n e . h
)
2018-02-27 18:06:05 +01:00
2018-05-15 00:25:30 +02:00
# VLC
optional_source ( HAVE_VLC
S O U R C E S e n g i n e / v l c e n g i n e . c p p
H E A D E R S e n g i n e / v l c e n g i n e . h
)
2018-02-27 18:06:05 +01:00
2018-05-15 00:25:30 +02:00
# Phonon
optional_source ( HAVE_PHONON
S O U R C E S e n g i n e / p h o n o n e n g i n e . c p p
H E A D E R S e n g i n e / p h o n o n e n g i n e . h
)
2018-02-27 18:06:05 +01:00
2018-10-14 00:08:33 +02:00
# Deezer
optional_source ( HAVE_DEEZER
S O U R C E S e n g i n e / d e e z e r e n g i n e . c p p
H E A D E R S e n g i n e / d e e z e r e n g i n e . h
)
2018-02-27 18:06:05 +01:00
# Lastfm
optional_source ( HAVE_LIBLASTFM
S O U R C E S
c o v e r m a n a g e r / l a s t f m c o v e r p r o v i d e r . c p p
c o v e r m a n a g e r / l a s t f m c o m p a t . c p p
H E A D E R S
c o v e r m a n a g e r / l a s t f m c o v e r p r o v i d e r . h
)
2018-05-14 17:57:37 +02:00
# DBUS and MPRIS - Unix specific
2018-05-15 00:25:30 +02:00
if ( UNIX AND HAVE_DBUS )
2018-02-27 18:06:05 +01:00
file ( MAKE_DIRECTORY ${ CMAKE_CURRENT_BINARY_DIR } /dbus )
# MPRIS DBUS interfaces
#qt5_add_dbus_adaptor(SOURCES
# dbus/org.freedesktop.MediaPlayer.player.xml
# core/mpris1.h mpris::Mpris1Player core/mpris_player MprisPlayer)
#qt5_add_dbus_adaptor(SOURCES
# dbus/org.freedesktop.MediaPlayer.root.xml
# core/mpris1.h mpris::Mpris1Root core/mpris_root MprisRoot)
#qt5_add_dbus_adaptor(SOURCES
# dbus/org.freedesktop.MediaPlayer.tracklist.xml
# core/mpris1.h mpris::Mpris1TrackList core/mpris_tracklist MprisTrackList)
# MPRIS 2.0 DBUS interfaces
qt5_add_dbus_adaptor ( SOURCES
d b u s / o r g . m p r i s . M e d i a P l a y e r 2 . P l a y e r . x m l
c o r e / m p r i s 2 . h m p r i s : : M p r i s 2 c o r e / m p r i s 2 _ p l a y e r M p r i s 2 P l a y e r )
qt5_add_dbus_adaptor ( SOURCES
d b u s / o r g . m p r i s . M e d i a P l a y e r 2 . x m l
c o r e / m p r i s 2 . h m p r i s : : M p r i s 2 c o r e / m p r i s 2 _ r o o t M p r i s 2 R o o t )
qt5_add_dbus_adaptor ( SOURCES
d b u s / o r g . m p r i s . M e d i a P l a y e r 2 . T r a c k L i s t . x m l
c o r e / m p r i s 2 . h m p r i s : : M p r i s 2 c o r e / m p r i s 2 _ t r a c k l i s t M p r i s 2 T r a c k L i s t )
# MPRIS 2.1 DBUS interfaces
qt5_add_dbus_adaptor ( SOURCES
d b u s / o r g . m p r i s . M e d i a P l a y e r 2 . P l a y l i s t s . x m l
c o r e / m p r i s 2 . h m p r i s : : M p r i s 2 c o r e / m p r i s 2 _ p l a y l i s t s M p r i s 2 P l a y l i s t s )
# org.freedesktop.Notifications DBUS interface
qt5_add_dbus_interface ( SOURCES
d b u s / o r g . f r e e d e s k t o p . N o t i f i c a t i o n s . x m l
d b u s / n o t i f i c a t i o n )
# org.gnome.SettingsDaemon interface
qt5_add_dbus_interface ( SOURCES
d b u s / o r g . g n o m e . S e t t i n g s D a e m o n . M e d i a K e y s . x m l
d b u s / g n o m e s e t t i n g s d a e m o n )
# org.freedesktop.Avahi.Server interface
add_custom_command (
O U T P U T
$ { C M A K E _ C U R R E N T _ B I N A R Y _ D I R } / d b u s / a v a h i s e r v e r . c p p
$ { C M A K E _ C U R R E N T _ B I N A R Y _ D I R } / d b u s / a v a h i s e r v e r . h
C O M M A N D $ { Q T _ D B U S X M L 2 C P P _ E X E C U T A B L E }
d b u s / o r g . f r e e d e s k t o p . A v a h i . S e r v e r . x m l
- p $ { C M A K E _ C U R R E N T _ B I N A R Y _ D I R } / d b u s / a v a h i s e r v e r
- i d b u s / m e t a t y p e s . h
D E P E N D S d b u s / o r g . f r e e d e s k t o p . A v a h i . S e r v e r . x m l
W O R K I N G _ D I R E C T O R Y $ { C M A K E _ C U R R E N T _ S O U R C E _ D I R } )
list ( APPEND HEADERS ${ CMAKE_CURRENT_BINARY_DIR } /dbus/avahiserver.h )
list ( APPEND SOURCES ${ CMAKE_CURRENT_BINARY_DIR } /dbus/avahiserver.cpp )
# org.freedesktop.Avahi.EntryGroup interface
add_custom_command (
O U T P U T
$ { C M A K E _ C U R R E N T _ B I N A R Y _ D I R } / d b u s / a v a h i e n t r y g r o u p . c p p
$ { C M A K E _ C U R R E N T _ B I N A R Y _ D I R } / d b u s / a v a h i e n t r y g r o u p . h
C O M M A N D $ { Q T _ D B U S X M L 2 C P P _ E X E C U T A B L E }
d b u s / o r g . f r e e d e s k t o p . A v a h i . E n t r y G r o u p . x m l
- p $ { C M A K E _ C U R R E N T _ B I N A R Y _ D I R } / d b u s / a v a h i e n t r y g r o u p
- i d b u s / m e t a t y p e s . h
D E P E N D S d b u s / o r g . f r e e d e s k t o p . A v a h i . E n t r y G r o u p . x m l
W O R K I N G _ D I R E C T O R Y $ { C M A K E _ C U R R E N T _ S O U R C E _ D I R } )
list ( APPEND HEADERS ${ CMAKE_CURRENT_BINARY_DIR } /dbus/avahientrygroup.h )
list ( APPEND SOURCES ${ CMAKE_CURRENT_BINARY_DIR } /dbus/avahientrygroup.cpp )
# DeviceKit DBUS interfaces
if ( HAVE_DEVICEKIT )
set_source_files_properties ( dbus/org.freedesktop.UDisks.xml
P R O P E R T I E S N O _ N A M E S P A C E d b u s / u d i s k s )
set_source_files_properties ( dbus/org.freedesktop.UDisks.Device.xml
P R O P E R T I E S N O _ N A M E S P A C E d b u s / u d i s k s d e v i c e )
qt5_add_dbus_interface ( SOURCES
d b u s / o r g . f r e e d e s k t o p . U D i s k s . x m l
d b u s / u d i s k s )
qt5_add_dbus_interface ( SOURCES
d b u s / o r g . f r e e d e s k t o p . U D i s k s . D e v i c e . x m l
d b u s / u d i s k s d e v i c e )
endif ( HAVE_DEVICEKIT )
if ( HAVE_UDISKS2 )
set_source_files_properties ( dbus/org.freedesktop.DBus.ObjectManager.xml
P R O P E R T I E S N O _ N A M E S P A C E d b u s / o b j e c t m a n a g e r I N C L U D E d b u s / m e t a t y p e s . h )
set_source_files_properties ( dbus/org.freedesktop.UDisks2.Filesystem.xml
P R O P E R T I E S N O _ N A M E S P A C E d b u s / u d i s k s 2 f i l e s y s t e m I N C L U D E d b u s / m e t a t y p e s . h )
set_source_files_properties ( dbus/org.freedesktop.UDisks2.Block.xml
P R O P E R T I E S N O _ N A M E S P A C E d b u s / u d i s k s 2 b l o c k I N C L U D E d b u s / m e t a t y p e s . h )
set_source_files_properties ( dbus/org.freedesktop.UDisks2.Drive.xml
P R O P E R T I E S N O _ N A M E S P A C E d b u s / u d i s k s 2 d r i v e I N C L U D E d b u s / m e t a t y p e s . h )
set_source_files_properties ( dbus/org.freedesktop.UDisks2.Job.xml
P R O P E R T I E S N O _ N A M E S P A C E d b u s / u d i s k s 2 j o b I N C L U D E d b u s / m e t a t y p e s . h )
qt5_add_dbus_interface ( SOURCES
d b u s / o r g . f r e e d e s k t o p . D B u s . O b j e c t M a n a g e r . x m l
d b u s / o b j e c t m a n a g e r )
qt5_add_dbus_interface ( SOURCES
d b u s / o r g . f r e e d e s k t o p . U D i s k s 2 . F i l e s y s t e m . x m l
d b u s / u d i s k s 2 f i l e s y s t e m )
qt5_add_dbus_interface ( SOURCES
d b u s / o r g . f r e e d e s k t o p . U D i s k s 2 . B l o c k . x m l
d b u s / u d i s k s 2 b l o c k )
qt5_add_dbus_interface ( SOURCES
d b u s / o r g . f r e e d e s k t o p . U D i s k s 2 . D r i v e . x m l
d b u s / u d i s k s 2 d r i v e )
qt5_add_dbus_interface ( SOURCES
d b u s / o r g . f r e e d e s k t o p . U D i s k s 2 . J o b . x m l
d b u s / u d i s k s 2 j o b )
endif ( HAVE_UDISKS2 )
2018-05-15 00:25:30 +02:00
endif ( UNIX AND HAVE_DBUS )
2018-02-27 18:06:05 +01:00
optional_source ( HAVE_DBUS
S O U R C E S
c o r e / m p r i s . c p p
c o r e / m p r i s 2 . c p p
c o r e / d b u s s c r e e n s a v e r . c p p
H E A D E R S
c o r e / m p r i s . h
c o r e / m p r i s 2 . h
)
2018-09-20 17:36:23 +02:00
optional_source ( UNIX
S O U R C E S
d e v i c e / c o n n e c t e d d e v i c e . c p p
d e v i c e / d e v i c e d a t a b a s e b a c k e n d . c p p
d e v i c e / d e v i c e l i s t e r . c p p
d e v i c e / d e v i c e m a n a g e r . c p p
d e v i c e / d e v i c e s t a t e f i l t e r m o d e l . c p p
d e v i c e / f i l e s y s t e m d e v i c e . c p p
d e v i c e / d e v i c e v i e w c o n t a i n e r . c p p
d e v i c e / d e v i c e v i e w . c p p
d e v i c e / d e v i c e p r o p e r t i e s . c p p
H E A D E R S
d e v i c e / c o n n e c t e d d e v i c e . h
d e v i c e / d e v i c e d a t a b a s e b a c k e n d . h
d e v i c e / d e v i c e l i s t e r . h
d e v i c e / d e v i c e m a n a g e r . h
d e v i c e / d e v i c e s t a t e f i l t e r m o d e l . h
d e v i c e / f i l e s y s t e m d e v i c e . h
d e v i c e / d e v i c e v i e w c o n t a i n e r . h
d e v i c e / d e v i c e v i e w . h
d e v i c e / d e v i c e p r o p e r t i e s . h
U I
d e v i c e / d e v i c e p r o p e r t i e s . u i
d e v i c e / d e v i c e v i e w c o n t a i n e r . u i
)
2018-07-03 21:21:33 +02:00
if ( HAVE_DBUS )
optional_source ( HAVE_DEVICEKIT
S O U R C E S d e v i c e / d e v i c e k i t l i s t e r . c p p
H E A D E R S d e v i c e / d e v i c e k i t l i s t e r . h
)
optional_source ( HAVE_UDISKS2
S O U R C E S d e v i c e / u d i s k s 2 l i s t e r . c p p
H E A D E R S d e v i c e / u d i s k s 2 l i s t e r . h
)
endif ( )
2018-02-27 18:06:05 +01:00
# Libgpod device backend
optional_source ( HAVE_LIBGPOD
I N C L U D E _ D I R E C T O R I E S $ { L I B G P O D _ I N C L U D E _ D I R S }
S O U R C E S
d e v i c e / g p o d d e v i c e . c p p
d e v i c e / g p o d l o a d e r . c p p
H E A D E R S
d e v i c e / g p o d d e v i c e . h
d e v i c e / g p o d l o a d e r . h
)
# GIO device backend
optional_source ( HAVE_GIO
I N C L U D E _ D I R E C T O R I E S $ { G I O _ I N C L U D E _ D I R S }
S O U R C E S d e v i c e / g i o l i s t e r . c p p
H E A D E R S d e v i c e / g i o l i s t e r . h
)
# libimobiledevice backend and device
optional_source ( HAVE_IMOBILEDEVICE
I N C L U D E _ D I R E C T O R I E S
$ { I M O B I L E D E V I C E _ I N C L U D E _ D I R S }
$ { P L I S T _ I N C L U D E _ D I R S }
$ { P L I S T P P _ I N C L U D E _ D I R S }
S O U R C E S
d e v i c e / a f c d e v i c e . c p p
d e v i c e / a f c f i l e . c p p
d e v i c e / a f c t r a n s f e r . c p p
d e v i c e / i l i s t e r . c p p
d e v i c e / i m o b i l e d e v i c e c o n n e c t i o n . c p p
H E A D E R S
d e v i c e / a f c d e v i c e . h
d e v i c e / a f c f i l e . h
d e v i c e / a f c t r a n s f e r . h
d e v i c e / i l i s t e r . h
)
# mtp device
optional_source ( HAVE_LIBMTP
I N C L U D E _ D I R E C T O R I E S $ { L I B M T P _ I N C L U D E _ D I R S }
S O U R C E S
d e v i c e / m t p c o n n e c t i o n . c p p
d e v i c e / m t p d e v i c e . c p p
d e v i c e / m t p l o a d e r . c p p
H E A D E R S
d e v i c e / m t p d e v i c e . h
d e v i c e / m t p l o a d e r . h
)
# Pulse audio integration
optional_source ( HAVE_LIBPULSE
I N C L U D E _ D I R E C T O R I E S
$ { L I B P U L S E _ I N C L U D E _ D I R S }
S O U R C E S
e n g i n e / p u l s e d e v i c e f i n d e r . c p p
)
2018-05-15 00:25:30 +02:00
# MusicBrainz, Organise and transcode require GStreamer
2018-02-27 18:06:05 +01:00
optional_source ( HAVE_GSTREAMER
S O U R C E S
c o r e / o r g a n i s e . c p p
c o r e / o r g a n i s e f o r m a t . c p p
s e t t i n g s / t r a n s c o d e r s e t t i n g s p a g e . c p p
d i a l o g s / o r g a n i s e d i a l o g . c p p
d i a l o g s / o r g a n i s e e r r o r d i a l o g . c p p
t r a n s c o d e r / t r a n s c o d e r . c p p
t r a n s c o d e r / t r a n s c o d e d i a l o g . c p p
t r a n s c o d e r / t r a n s c o d e r o p t i o n s a a c . c p p
t r a n s c o d e r / t r a n s c o d e r o p t i o n s d i a l o g . c p p
t r a n s c o d e r / t r a n s c o d e r o p t i o n s f l a c . c p p
t r a n s c o d e r / t r a n s c o d e r o p t i o n s m p 3 . c p p
t r a n s c o d e r / t r a n s c o d e r o p t i o n s o p u s . c p p
t r a n s c o d e r / t r a n s c o d e r o p t i o n s s p e e x . c p p
t r a n s c o d e r / t r a n s c o d e r o p t i o n s v o r b i s . c p p
t r a n s c o d e r / t r a n s c o d e r o p t i o n s w m a . c p p
H E A D E R S
c o r e / o r g a n i s e . h
s e t t i n g s / t r a n s c o d e r s e t t i n g s p a g e . h
d i a l o g s / o r g a n i s e d i a l o g . h
d i a l o g s / o r g a n i s e e r r o r d i a l o g . h
t r a n s c o d e r / t r a n s c o d e r . h
t r a n s c o d e r / t r a n s c o d e d i a l o g . h
t r a n s c o d e r / t r a n s c o d e r o p t i o n s d i a l o g . h
t r a n s c o d e r / t r a n s c o d e r o p t i o n s m p 3 . h
U I
s e t t i n g s / t r a n s c o d e r s e t t i n g s p a g e . u i
d i a l o g s / o r g a n i s e d i a l o g . u i
d i a l o g s / o r g a n i s e e r r o r d i a l o g . u i
t r a n s c o d e r / t r a n s c o d e d i a l o g . u i
t r a n s c o d e r / t r a n s c o d e l o g d i a l o g . u i
t r a n s c o d e r / t r a n s c o d e r o p t i o n s a a c . u i
t r a n s c o d e r / t r a n s c o d e r o p t i o n s d i a l o g . u i
t r a n s c o d e r / t r a n s c o d e r o p t i o n s f l a c . u i
t r a n s c o d e r / t r a n s c o d e r o p t i o n s m p 3 . u i
t r a n s c o d e r / t r a n s c o d e r o p t i o n s o p u s . u i
t r a n s c o d e r / t r a n s c o d e r o p t i o n s s p e e x . u i
t r a n s c o d e r / t r a n s c o d e r o p t i o n s v o r b i s . u i
t r a n s c o d e r / t r a n s c o d e r o p t i o n s w m a . u i
)
# CDIO backend and device
if ( HAVE_GSTREAMER )
2018-07-16 07:23:37 +02:00
optional_source ( HAVE_CHROMAPRINT
S O U R C E S
m u s i c b r a i n z / c h r o m a p r i n t e r . c p p
m u s i c b r a i n z / t a g f e t c h e r . c p p
H E A D E R S
m u s i c b r a i n z / t a g f e t c h e r . h
)
2018-02-27 18:06:05 +01:00
optional_source ( HAVE_AUDIOCD
S O U R C E S
d e v i c e / c d d a d e v i c e . c p p
d e v i c e / c d d a l i s t e r . c p p
d e v i c e / c d d a s o n g l o a d e r . c p p
H E A D E R S
d e v i c e / c d d a d e v i c e . h
d e v i c e / c d d a l i s t e r . h
d e v i c e / c d d a s o n g l o a d e r . h
U I
)
2018-05-15 00:25:30 +02:00
endif ( )
# Platform specific - macOS
optional_source ( APPLE
S O U R C E S
c o r e / m a c _ s t a r t u p . m m
c o r e / m a c s y s t e m t r a y i c o n . m m
c o r e / m a c s c r e e n s a v e r . c p p
c o r e / m a c f s l i s t e n e r . m m
w i d g e t s / o s d _ m a c . m m
e n g i n e / o s x d e v i c e f i n d e r . c p p
g l o b a l s h o r t c u t s / g l o b a l s h o r t c u t g r a b b e r . m m
2018-07-01 22:26:46 +02:00
g l o b a l s h o r t c u t s / m a c g l o b a l s h o r t c u t b a c k e n d . m m
2018-05-15 00:25:30 +02:00
H E A D E R S
c o r e / m a c s y s t e m t r a y i c o n . h
c o r e / m a c f s l i s t e n e r . h
g l o b a l s h o r t c u t s / m a c g l o b a l s h o r t c u t b a c k e n d . h
)
if ( APPLE )
optional_source ( HAVE_LIBMTP
S O U R C E S
d e v i c e / m a c d e v i c e l i s t e r . m m
H E A D E R S
d e v i c e / m a c d e v i c e l i s t e r . h
)
endif ( )
# Platform specific - Windows
optional_source ( WIN32
S O U R C E S
e n g i n e / d i r e c t s o u n d d e v i c e f i n d e r . c p p
w i d g e t s / o s d _ w i n . c p p
)
2018-02-27 18:06:05 +01:00
2018-10-17 23:49:02 +02:00
optional_source ( HAVE_STREAM_TIDAL
S O U R C E S
t i d a l / t i d a l s e r v i c e . c p p
t i d a l / t i d a l u r l h a n d l e r . c p p
s e t t i n g s / t i d a l s e t t i n g s p a g e . c p p
H E A D E R S
t i d a l / t i d a l s e r v i c e . h
t i d a l / t i d a l u r l h a n d l e r . h
s e t t i n g s / t i d a l s e t t i n g s p a g e . h
U I
s e t t i n g s / t i d a l s e t t i n g s p a g e . u i
)
optional_source ( HAVE_STREAM_DEEZER
S O U R C E S
d e e z e r / d e e z e r s e r v i c e . c p p
d e e z e r / d e e z e r u r l h a n d l e r . c p p
s e t t i n g s / d e e z e r s e t t i n g s p a g e . c p p
H E A D E R S
d e e z e r / d e e z e r s e r v i c e . h
d e e z e r / d e e z e r u r l h a n d l e r . h
s e t t i n g s / d e e z e r s e t t i n g s p a g e . h
U I
s e t t i n g s / d e e z e r s e t t i n g s p a g e . u i
)
2018-02-27 18:06:05 +01:00
configure_file ( ${ CMAKE_CURRENT_SOURCE_DIR } /config.h.in
$ { C M A K E _ C U R R E N T _ B I N A R Y _ D I R } / c o n f i g . h )
configure_file ( ${ CMAKE_CURRENT_SOURCE_DIR } /version.h.in
$ { 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 . h )
2018-09-10 21:58:57 +02:00
2018-02-27 18:06:05 +01:00
qt5_wrap_cpp ( MOC ${ HEADERS } )
qt5_wrap_ui ( UIC ${ UI } )
qt5_add_resources ( QRC ${ RESOURCES } )
add_library ( strawberry_lib STATIC
$ { S O U R C E S }
$ { M O C }
$ { U I C }
$ { Q R C }
$ { P O T }
$ { P O }
$ { O T H E R _ U I C _ S O U R C E S }
)
target_link_libraries ( strawberry_lib
l i b s t r a w b e r r y - c o m m o n
l i b s t r a w b e r r y - t a g r e a d e r
$ { G L I B _ L I B R A R I E S }
$ { G I O _ L I B R A R I E S }
$ { S H A 2 _ L I B R A R I E S }
$ { T A G L I B _ L I B R A R I E S }
$ { G O B J E C T _ L I B R A R I E S }
$ { Q T _ L I B R A R I E S }
$ { C H R O M A P R I N T _ L I B R A R I E S }
$ { Q T S I N G L E A P P L I C A T I O N _ L I B R A R I E S }
$ { C M A K E _ T H R E A D _ L I B S _ I N I T }
$ { S Q L I T E _ L I B R A R I E S }
2018-05-14 17:57:37 +02:00
$ { Q O C O A _ L I B R A R I E S }
2018-02-27 18:06:05 +01:00
z
)
2018-05-14 17:57:37 +02:00
if ( HAVE_ALSA )
2018-02-27 18:06:05 +01:00
target_link_libraries ( strawberry_lib ${ ALSA_LIBRARIES } )
2018-05-14 17:57:37 +02:00
endif ( HAVE_ALSA )
2018-02-27 18:06:05 +01:00
2018-05-15 00:25:30 +02:00
if ( HAVE_GSTREAMER )
2018-06-28 01:15:32 +02:00
target_link_libraries ( strawberry_lib ${ GSTREAMER_LIBRARIES } ${ GSTREAMER_BASE_LIBRARIES } ${ GSTREAMER_AUDIO_LIBRARIES } ${ GSTREAMER_APP_LIBRARIES } ${ GSTREAMER_TAG_LIBRARIES } )
2018-05-15 00:25:30 +02:00
endif ( )
if ( HAVE_XINE )
target_link_libraries ( strawberry_lib ${ LIBXINE_LIBRARIES } )
endif ( )
if ( HAVE_VLC )
target_link_libraries ( strawberry_lib ${ LIBVLC_LIBRARIES } )
endif ( )
if ( HAVE_PHONON )
target_link_libraries ( strawberry_lib ${ PHONON_LIBRARIES } )
endif ( )
2018-10-14 00:08:33 +02:00
if ( HAVE_DEEZER )
target_link_libraries ( strawberry_lib ${ LIBDEEZER_LIBRARIES } )
endif ( )
if ( HAVE_DZMEDIA )
target_link_libraries ( strawberry_lib ${ LIBDZMEDIA_LIBRARIES } )
endif ( )
2018-02-27 18:06:05 +01:00
if ( HAVE_LIBLASTFM )
target_link_libraries ( strawberry_lib ${ LASTFM5_LIBRARIES } )
endif ( HAVE_LIBLASTFM )
if ( HAVE_LIBGPOD )
target_link_libraries ( strawberry_lib ${ LIBGPOD_LIBRARIES } )
endif ( HAVE_LIBGPOD )
if ( HAVE_GIO )
target_link_libraries ( strawberry_lib ${ GIO_LIBRARIES } )
endif ( HAVE_GIO )
if ( HAVE_AUDIOCD )
target_link_libraries ( strawberry_lib ${ CDIO_LIBRARIES } )
endif ( HAVE_AUDIOCD )
if ( HAVE_IMOBILEDEVICE )
target_link_libraries ( strawberry_lib
$ { I M O B I L E D E V I C E _ L I B R A R I E S }
$ { P L I S T _ L I B R A R I E S }
$ { U S B M U X D _ L I B R A R I E S }
)
link_directories ( ${ IMOBILEDEVICE_LIBRARY_DIRS } )
link_directories ( ${ USBMUXD_LIBRARY_DIRS } )
endif ( HAVE_IMOBILEDEVICE )
if ( HAVE_LIBMTP )
target_link_libraries ( strawberry_lib ${ LIBMTP_LIBRARIES } )
endif ( HAVE_LIBMTP )
if ( HAVE_LIBPULSE )
target_link_libraries ( strawberry_lib ${ LIBPULSE_LIBRARIES } )
endif ( )
if ( APPLE )
target_link_libraries ( strawberry_lib
" - f r a m e w o r k A p p K i t "
" - f r a m e w o r k C a r b o n "
" - f r a m e w o r k C o r e A u d i o "
" - f r a m e w o r k D i s k A r b i t r a t i o n "
" - f r a m e w o r k F o u n d a t i o n "
" - f r a m e w o r k I O K i t "
" - f r a m e w o r k S c r i p t i n g B r i d g e "
)
2018-07-03 17:51:52 +02:00
2018-02-27 18:06:05 +01:00
target_link_libraries ( strawberry_lib ${ SPMEDIAKEYTAP_LIBRARIES } )
if ( HAVE_SPARKLE )
include_directories ( ${ SPARKLE } /Headers )
target_link_libraries ( strawberry_lib ${ SPARKLE } )
endif ( HAVE_SPARKLE )
else ( APPLE )
target_link_libraries ( strawberry_lib ${ QXT_LIBRARIES } )
endif ( APPLE )
if ( WIN32 )
target_link_libraries ( strawberry_lib
$ { Z L I B _ L I B R A R I E S }
d s o u n d
$ { Q T _ Q T G U I _ L I B R A R Y }
)
endif ( WIN32 )
if ( UNIX AND NOT APPLE )
2018-05-14 17:57:37 +02:00
# Hack: the Gold linker pays attention to the order that libraries are specified on the link line.
# -lX11 and -ldl are provided earlier in the link command but they're actually used by libraries that appear after them, so they end up getting ignored.
# This appends them to the very end of the link line, ensuring they're always used.
2018-02-27 18:06:05 +01:00
find_package ( X11 )
2018-05-14 17:57:37 +02:00
if ( FREEBSD )
2018-02-27 18:06:05 +01:00
target_link_libraries ( strawberry_lib ${ X11_X11_LIB } )
else ( )
target_link_libraries ( strawberry_lib ${ X11_X11_LIB } ${ CMAKE_DL_LIBS } )
endif ( )
endif ( )
2018-03-18 18:39:30 +01:00
add_dependencies ( strawberry_lib qtsingleapplication )
2018-02-27 18:06:05 +01:00
###############################################################################
set ( EXECUTABLE_OUTPUT_PATH .. )
# Show the console window in debug mode on Windows
if ( NOT CMAKE_BUILD_TYPE STREQUAL "Debug" AND NOT ENABLE_WIN32_CONSOLE )
set ( STRAWBERRY-WIN32-FLAG WIN32 )
endif ( NOT CMAKE_BUILD_TYPE STREQUAL "Debug" AND NOT ENABLE_WIN32_CONSOLE )
2018-04-02 18:35:58 +02:00
# Resource file for windows
2018-02-27 18:06:05 +01:00
if ( WIN32 )
2018-07-01 22:26:46 +02:00
configure_file ( ${ CMAKE_CURRENT_SOURCE_DIR } /../dist/windows/windres.rc.in ${ CMAKE_CURRENT_BINARY_DIR } /windres.rc )
2018-02-27 18:06:05 +01:00
set ( STRAWBERRY-WIN32-RESOURCES windres.rc )
endif ( WIN32 )
add_executable ( strawberry
M A C O S X _ B U N D L E
$ { S T R A W B E R R Y - WIN32 - F L A G }
$ { S T R A W B E R R Y - WIN32 - R E S O U R C E S }
c o r e / m a i n . c p p
)
2018-05-14 17:57:37 +02:00
if ( FREEBSD )
2018-02-27 18:06:05 +01:00
target_link_libraries ( strawberry execinfo )
2018-05-14 17:57:37 +02:00
endif ( )
2018-02-27 18:06:05 +01:00
target_link_libraries ( strawberry
s t r a w b e r r y _ l i b
)
# macdeploy.py relies on the blob being built first.
add_dependencies ( strawberry strawberry-tagreader )
2018-07-03 17:51:52 +02:00
if ( NOT APPLE )
install ( TARGETS strawberry RUNTIME DESTINATION bin )
endif ( )
2018-02-27 18:06:05 +01:00
if ( APPLE )
2018-07-03 17:51:52 +02:00
set_target_properties ( strawberry PROPERTIES MACOSX_BUNDLE_INFO_PLIST "../dist/macos/Info.plist" )
2018-02-27 18:06:05 +01:00
endif ( APPLE )