Makefile.am 10 KB
Newer Older
1 2
ACLOCAL_AMFLAGS = -I m4

3
AM_CXXFLAGS = -Wall -Wsign-compare -Wextra -Wstrict-aliasing -Wstrict-overflow \
4
			  -Wformat=2 -Wno-unused-parameter -Wcast-align -Wpointer-arith \
5
			  -Wwrite-strings \
6 7 8 9
			  -pipe

MEDIALIB_CPPFLAGS = $(AM_CPPFLAGS) -I$(top_srcdir)/include -I$(top_srcdir)/src

10 11
libmedialibrary_ladir = $(includedir)/medialibrary

12
libmedialibrary_la_CXXFLAGS = \
13
	$(AM_CXXFLAGS) \
14 15 16
	-fvisibility=default \
	$(NULL)

17 18 19 20 21
libmedialibrary_la_CPPFLAGS = \
	$(MEDIALIB_CPPFLAGS) \
	$(SQLITE_CFLAGS) \
	$(NULL)

22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
libmedialibrary_la_HEADERS = \
	include/medialibrary/IAlbum.h \
	include/medialibrary/IAlbumTrack.h \
	include/medialibrary/IArtist.h \
	include/medialibrary/IAudioTrack.h \
	include/medialibrary/IFile.h \
	include/medialibrary/IGenre.h \
	include/medialibrary/ILabel.h \
	include/medialibrary/ILogger.h \
	include/medialibrary/IMedia.h \
	include/medialibrary/IMediaLibrary.h \
	include/medialibrary/IMovie.h \
	include/medialibrary/IPlaylist.h \
	include/medialibrary/IShowEpisode.h \
	include/medialibrary/IShow.h \
	include/medialibrary/IVideoTrack.h \
	include/medialibrary/Types.h \
39
	include/medialibrary/IDeviceLister.h \
40
	include/medialibrary/IFolder.h \
41
	include/medialibrary/IQuery.h \
42
	include/medialibrary/IMetadata.h \
43
	include/medialibrary/ISubtitleTrack.h \
44
	include/medialibrary/IThumbnailer.h \
45 46
	$(NULL)

47
libmedialibraryfsdir = $(libmedialibrary_ladir)/filesystem
48 49 50 51
libmedialibraryfs_HEADERS = \
	include/medialibrary/filesystem/IDevice.h \
	include/medialibrary/filesystem/IDirectory.h \
	include/medialibrary/filesystem/IFile.h \
52
	include/medialibrary/filesystem/IFileSystemFactory.h \
53 54
	$(NULL)

55
libmedialibraryparserdir = $(libmedialibrary_ladir)/parser
56 57
libmedialibraryparser_HEADERS = \
	include/medialibrary/parser/IItem.h \
58
	include/medialibrary/parser/Parser.h \
59
	include/medialibrary/parser/IParserService.h \
60 61
	$(NULL)

62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78
libmedialibrary_la_SOURCES = \
	src/Album.cpp \
	src/AlbumTrack.cpp \
	src/Artist.cpp \
	src/AudioTrack.cpp \
	src/Device.cpp \
	src/Factory.cpp \
	src/File.cpp \
	src/Folder.cpp \
	src/Genre.cpp \
	src/Label.cpp \
	src/Media.cpp \
	src/MediaLibrary.cpp \
	src/Movie.cpp \
	src/Playlist.cpp \
	src/Settings.cpp \
	src/Show.cpp \
79
	src/Thumbnail.cpp \
80 81
	src/ShowEpisode.cpp \
	src/VideoTrack.cpp \
82
	src/Metadata.cpp \
83
	src/SubtitleTrack.cpp \
84 85 86 87 88
	src/database/SqliteConnection.cpp \
	src/database/SqliteTools.cpp \
	src/database/SqliteTransaction.cpp \
	src/discoverer/DiscovererWorker.cpp \
	src/discoverer/FsDiscoverer.cpp \
89
	src/discoverer/probe/PathProbe.cpp \
90
	src/factory/FileSystemFactory.cpp \
91
	src/factory/DeviceListerFactory.cpp \
92
	src/filesystem/common/CommonDevice.cpp \
93
	src/filesystem/common/CommonFile.cpp \
94
	src/filesystem/common/CommonDirectory.cpp \
95 96 97
	src/logging/IostreamLogger.cpp \
	src/logging/Logger.cpp \
	src/metadata_services/MetadataParser.cpp \
98
	src/metadata_services/ThumbnailerWorker.cpp \
99
	src/parser/Parser.cpp \
100
	src/parser/ParserWorker.cpp \
101
	src/parser/Task.cpp \
102
	src/utils/Directory.cpp \
103 104
	src/utils/Filename.cpp \
	src/utils/ModificationsNotifier.cpp \
105
	src/utils/Url.cpp \
106 107
	$(NULL)

108

109 110 111 112 113 114 115 116 117 118 119
noinst_HEADERS = \
	include/discoverer/IDiscoverer.h \
	include/Fixup.h \
	include/Types.h \
	src/Album.h \
	src/AlbumTrack.h \
	src/Artist.h \
	src/AudioTrack.h \
	src/database/DatabaseHelpers.h \
	src/database/SqliteConnection.h \
	src/database/SqliteErrors.h \
120
	src/database/SqliteQuery.h \
121 122 123 124 125 126
	src/database/SqliteTools.h \
	src/database/SqliteTraits.h \
	src/database/SqliteTransaction.h \
	src/Device.h \
	src/discoverer/DiscovererWorker.h \
	src/discoverer/FsDiscoverer.h \
127 128 129
	src/discoverer/probe/CrawlerProbe.h \
	src/discoverer/probe/IProbe.h \
	src/discoverer/probe/PathProbe.h \
130
	src/factory/FileSystemFactory.h \
131
	src/factory/DeviceListerFactory.h \
132 133
	src/File.h \
	src/filesystem/common/CommonFile.h \
134
	src/filesystem/common/CommonDirectory.h \
135
	src/filesystem/common/CommonDevice.h \
136
	src/filesystem/darwin/DeviceLister.h \
137 138 139
	src/filesystem/unix/Device.h \
	src/filesystem/unix/Directory.h \
	src/filesystem/unix/File.h \
140
	src/filesystem/unix/DeviceLister.h \
141 142 143 144 145 146 147 148 149 150
	src/filesystem/win32/Directory.h \
	src/filesystem/win32/File.h \
	src/Folder.h \
	src/Genre.h \
	src/Label.h \
	src/logging/IostreamLogger.h \
	src/logging/Logger.h \
	src/Media.h \
	src/MediaLibrary.h \
	src/metadata_services/MetadataParser.h \
151
	src/metadata_services/ThumbnailerWorker.h \
152 153
	src/Movie.h \
	src/parser/Parser.h \
154
	src/parser/ParserWorker.h \
155 156 157 158 159
	src/parser/Task.h \
	src/Playlist.h \
	src/Settings.h \
	src/ShowEpisode.h \
	src/Show.h \
160
	src/Thumbnail.h \
161
	src/utils/Directory.h \
162 163 164
	src/utils/Filename.h \
	src/utils/ModificationsNotifier.h \
	src/utils/SWMRLock.h \
165
	src/utils/Url.h \
166
	src/VideoTrack.h \
167
	src/Metadata.h \
168
	src/compat/Thread.h \
169
	src/compat/Mutex.h \
170
	src/compat/ConditionVariable.h \
171
	src/SubtitleTrack.h \
172 173 174
	$(NULL)


175 176 177
if HAVE_WIN32
libmedialibrary_la_SOURCES += \
	src/filesystem/win32/Directory.cpp \
178
	src/filesystem/win32/File.cpp \
179
	src/filesystem/win32/DeviceLister.cpp \
180
	$(NULL)
181 182 183
noinst_HEADERS += \
	src/utils/Charsets.h \
	$(NULL)
184 185 186
else
libmedialibrary_la_SOURCES += \
	src/filesystem/unix/Directory.cpp \
Hugo Beauzée-Luyssen's avatar
Hugo Beauzée-Luyssen committed
187 188
	src/filesystem/unix/File.cpp \
	$(NULL)
189
if HAVE_LINUX
190
if !HAVE_ANDROID
191
libmedialibrary_la_SOURCES += \
192 193
	src/filesystem/unix/DeviceLister.cpp \
	$(NULL)
194
endif
195
endif
196
if HAVE_DARWIN
197
libmedialibrary_macos_la_CPPFLAGS = $(libmedialibrary_la_CPPFLAGS)
198
libmedialibrary_macos_la_SOURCES = \
199 200
	src/filesystem/darwin/DeviceLister.mm \
	$(NULL)
201
endif
202 203 204 205 206 207
endif

libmedialibrary_la_LIBADD = \
	$(SQLITE_LIBS) 			\
	$(NULL)

208 209 210 211 212 213
libmedialibrary_la_LDFLAGS = -no-undefined -export-symbols-regex 'NewMediaLibrary'
if HAVE_DARWIN
libmedialibrary_la_LIBADD += libmedialibrary_macos.la
libmedialibrary_la_LDFLAGS += -Wl,-undefined,dynamic_lookup,-framework,Foundation
endif

214 215 216 217 218 219
lib_LTLIBRARIES = libmedialibrary.la
if HAVE_DARWIN
lib_LTLIBRARIES += libmedialibrary_macos.la
endif

if HAVE_LIBVLC
220

221 222 223 224 225 226 227 228 229 230
if HAVE_LIBVLC4
libmedialibrary_la_SOURCES += \
	src/metadata_services/vlc/CoreThumbnailer.cpp \
	src/metadata_services/vlc/CoreThumbnailer.h

else
libmedialibrary_la_SOURCES += \
	src/metadata_services/vlc/VmemThumbnailer.cpp \
	src/metadata_services/vlc/VmemThumbnailer.h

231 232 233 234 235 236 237
if HAVE_LIBJPEG
libmedialibrary_la_SOURCES += src/metadata_services/vlc/imagecompressors/JpegCompressor.cpp
noinst_HEADERS += src/metadata_services/vlc/imagecompressors/JpegCompressor.h
libmedialibrary_la_CPPFLAGS += $(LIBJPEG_CFLAGS)
libmedialibrary_la_LIBADD += $(LIBJPEG_LIBS)
endif

238 239
endif

240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270
libmedialibrary_la_SOURCES += \
	src/metadata_services/vlc/VLCMetadataService.cpp \
	src/metadata_services/vlc/Common.cpp \
	src/utils/VLCInstance.cpp \
	src/factory/NetworkFileSystemFactory.cpp \
	src/filesystem/network/Directory.cpp \
	src/filesystem/network/File.cpp \
	src/filesystem/network/Device.cpp \
	$(NULL)

noinst_HEADERS += \
	src/utils/VLCInstance.h \
    src/metadata_services/vlc/Common.hpp \
	src/metadata_services/vlc/VLCMetadataService.h \
	src/metadata_services/vlc/imagecompressors/IImageCompressor.h \
	src/factory/NetworkFileSystemFactory.h \
	src/filesystem/network/Device.h \
	src/filesystem/network/Directory.h \
	src/filesystem/network/File.h \
	$(NULL)

libmedialibrary_la_CPPFLAGS += \
	$(VLC_CFLAGS) \
	$(VLCPP_CFLAGS) \
	$(NULL)

libmedialibrary_la_LIBADD += $(VLC_LIBS)

endif


271 272
EXTRA_DIST=

273 274 275 276 277 278 279 280 281 282 283 284 285
if HAVE_TESTS

check_PROGRAMS = unittest samples

lib_LTLIBRARIES += libgtest.la libgtestmain.la

libgtest_la_SOURCES = \
	googletest/src/gtest-all.cc

libgtestmain_la_SOURCES = \
	googletest/src/gtest_main.cc

libgtest_la_CPPFLAGS = \
286
	$(AM_CPPFLAGS) \
287 288
	-I$(top_srcdir)/googletest \
	-I$(top_srcdir)/googletest/include
289

290
libgtestmain_la_CPPFLAGS = $(AM_CPPFLAGS) $(libgtest_la_CPPFLAGS)
291 292 293 294 295 296 297 298 299 300 301 302 303 304 305

unittest_SOURCES = \
	test/common/MediaLibraryTester.cpp \
	test/mocks/FileSystem.cpp \
	test/mocks/filesystem/MockDevice.cpp \
	test/mocks/filesystem/MockDirectory.cpp \
	test/mocks/filesystem/MockFile.cpp \
	test/unittest/AlbumTests.cpp \
	test/unittest/AlbumTrackTests.cpp \
	test/unittest/ArtistTests.cpp \
	test/unittest/AudioTrackTests.cpp \
	test/unittest/DeviceTests.cpp \
	test/unittest/FileTests.cpp \
	test/unittest/FolderTests.cpp \
	test/unittest/FsUtilsTests.cpp \
306
	test/unittest/UrlTests.cpp \
307 308 309 310 311 312 313 314 315
	test/unittest/GenreTests.cpp \
	test/unittest/LabelTests.cpp \
	test/unittest/MediaTests.cpp \
	test/unittest/MovieTests.cpp \
	test/unittest/PlaylistTests.cpp \
	test/unittest/RemovalNotifierTests.cpp \
	test/unittest/ShowTests.cpp \
	test/unittest/Tests.cpp \
	test/unittest/VideoTrackTests.cpp \
316
	test/unittest/MiscTests.cpp \
317
	test/unittest/ThumbnailTests.cpp \
318
	test/unittest/SubtitleTrackTests.cpp \
319 320
	$(NULL)

321 322
EXTRA_DIST += test/unittest/db_v3.sql

323
unittest_CPPFLAGS = 		\
324
	$(MEDIALIB_CPPFLAGS) 	\
325
	-DSRC_DIR=\"$(abs_srcdir)\"	\
326
	-I$(top_srcdir)/test	\
327
	-I$(top_srcdir)/googletest/include \
328
	$(libmedialibrary_la_CPPFLAGS) \
329 330 331 332 333 334 335 336 337 338 339 340 341 342 343
	$(NULL)

unittest_LDADD = 		\
	libmedialibrary.la 	\
	libgtest.la			\
	libgtestmain.la		\
	$(SQLITE_LIBS)		\
	$(NULL)

samples_SOURCES = 						\
	test/common/MediaLibraryTester.cpp 	\
	test/samples/main.cpp 				\
	test/samples/Tester.cpp 			\
	$(NULL)

344
samples_CPPFLAGS = 			\
345
	$(MEDIALIB_CPPFLAGS)	\
Hugo Beauzée-Luyssen's avatar
Hugo Beauzée-Luyssen committed
346
	-DSRC_DIR=\"$(abs_srcdir)\"	\
347
	-I$(top_srcdir)/test	\
348
	-I$(top_srcdir)/googletest/include \
349
	$(RAPIDJSON_CFLAGS)		\
350
	$(libmedialibrary_la_CPPFLAGS) \
351 352 353 354 355 356 357 358 359
	$(NULL)

samples_LDADD = 		\
	libmedialibrary.la	\
	libgtest.la			\
	libgtestmain.la		\
	$(SQLITE_LIBS)		\
	$(NULL)

360 361 362 363 364 365
EXTRA_PROGRAMS = test_discoverer

test_discoverer_SOURCES = test/discoverer/main.cpp
test_discoverer_CXXFLAGS = $(MEDIALIB_CPPFLAGS)
test_discoverer_LDADD = libmedialibrary.la $(SQLITE_LIBS)

366 367
endif

368 369
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = medialibrary.pc
370
EXTRA_DIST += medialibrary.pc \
371
	src/database/migrations/migration3-5.sql \
372
	src/database/migrations/migration7-8.sql \
373 374 375 376 377 378 379
	src/database/migrations/migration13-14.sql \
	src/database/tables/File_v14.sql \
	src/database/tables/File_triggers_v14.sql \
	src/database/tables/Media_v14.sql \
	src/database/tables/Media_triggers_v14.sql \
	src/database/tables/Folder_v14.sql \
	src/database/tables/Folder_triggers_v14.sql \
380 381
	src/database/tables/Playlist_v14.sql \
	src/database/tables/Playlist_triggers_v14.sql \
382
	src/database/tables/Metadata_v14.sql \
383
	src/database/tables/Device_v14.sql \
384
	src/database/tables/Task_v14.sql \
385 386 387 388
	$(NULL)