Made Lms API support conditional

This commit is contained in:
emeric
2015-07-29 12:51:22 +02:00
parent e3b36bcd8b
commit 407601f638
4 changed files with 52 additions and 36 deletions
+11 -9
View File
@@ -1,7 +1,7 @@
AC_PREREQ(2.59)
AC_INIT(lms, 1.0.0, test@test)
AM_INIT_AUTOMAKE
AC_CONFIG_HEADER(include/config.h)
AC_CONFIG_HEADER(src/config/config.h)
AC_LANG_CPLUSPLUS
@@ -9,16 +9,16 @@ AC_LANG_CPLUSPLUS
AC_PROG_CXX
AC_ARG_ENABLE(remote, AS_HELP_STRING([--enable-remote],
[Build with the remote protocol support. Defaults to yes.])],
[enable_remote="$enableval"],
[enable_remote="yes"])
AC_ARG_ENABLE(lmsapi, AS_HELP_STRING([--enable-lmsapi],
[Build with the lmsapi protocol support. Defaults to yes.])],
[enable_lmsapi="$enableval"],
[enable_lmsapi="yes"])
# ProtoBuf compiler.
# First, specify with --with-protoc=/path/of/protoc.
# Or, specify with env variable PROTOC.
# If neither of the above, find it in the path.
AS_IF([test "$enable_remote" = "yes"],
AS_IF([test "$enable_lmsapi" = "yes"],
[AC_ARG_WITH([protoc],
[AS_HELP_STRING([--with-protoc=/path/of/protoc],
[Location of the protocol buffers compiler protoc. Defaults to looking on path.])],
@@ -32,10 +32,12 @@ AS_IF([test "$enable_remote" = "yes"],
[main],
,
[AC_MSG_ERROR([libprotobuf not found!])])]
[AC_DEFINE(REMOTE_ENABLE, 1, [Remote support disabled])]
[lmsapi=true]
,
[AC_DEFINE(REMOTE_ENABLE, 0, [Remote support enabled])]
)
[lmsapi=false])
AM_CONDITIONAL([LMSAPI], [test x$lmsapi = xtrue])
AS_IF([test x$lmsapi = xtrue], [AC_DEFINE(HAVE_LMSAPI, [1], [Enable LMS API support])])
AC_CHECK_HEADERS([Wt/WApplication jpeglib.h],
[],
+13 -8
View File
@@ -26,17 +26,9 @@ lms_SOURCES = \
$(srcdir)/logger/Logger.cpp \
$(srcdir)/metadata/AvFormat.cpp \
$(srcdir)/metadata/Utils.cpp \
$(srcdir)/remote/server/Connection.cpp \
$(srcdir)/remote/server/ConnectionManager.cpp \
$(srcdir)/remote/server/AudioCollectionRequestHandler.cpp \
$(srcdir)/remote/server/AuthRequestHandler.cpp \
$(srcdir)/remote/server/MediaRequestHandler.cpp \
$(srcdir)/remote/server/RequestHandler.cpp \
$(srcdir)/remote/server/Server.cpp \
$(srcdir)/service/ServiceManager.cpp \
$(srcdir)/service/DatabaseUpdateService.cpp \
$(srcdir)/service/UserInterfaceService.cpp \
$(srcdir)/service/RemoteServerService.cpp \
$(srcdir)/transcode/AvConvTranscoder.cpp \
$(srcdir)/transcode/Format.cpp \
$(srcdir)/transcode/Parameters.cpp \
@@ -73,6 +65,17 @@ lms_SOURCES = \
$(srcdir)/ui/settings/SettingsUserFormView.cpp \
$(srcdir)/ui/settings/SettingsUsers.cpp
if LMSAPI
lms_SOURCES += \
$(srcdir)/remote/server/Connection.cpp \
$(srcdir)/remote/server/ConnectionManager.cpp \
$(srcdir)/remote/server/AudioCollectionRequestHandler.cpp \
$(srcdir)/remote/server/AuthRequestHandler.cpp \
$(srcdir)/remote/server/MediaRequestHandler.cpp \
$(srcdir)/remote/server/RequestHandler.cpp \
$(srcdir)/remote/server/Server.cpp \
$(srcdir)/service/RemoteServerService.cpp
nodist_lms_SOURCES = \
$(builddir)/auth.pb.cc \
$(builddir)/auth.pb.h \
@@ -112,5 +115,7 @@ MOSTLYCLEANFILES = \
%.pb.cc %.pb.h: $(srcdir)/remote/proto/%.proto
$(PROTOC) --proto_path=$(srcdir)/remote/proto/ --cpp_out=$(builddir)/ $^
endif
lms_CXXFLAGS=-DBOOST_LOG_DYN_LINK -std=c++11 -Wall -I$(top_srcdir)/third-party -I$(srcdir)/ui -I$(srcdir)/remote
+6
View File
@@ -97,7 +97,13 @@ int main(int argc, char* argv[])
serviceManager.startService( std::make_shared<Service::DatabaseUpdateService>( dbUpdateConfig ) );
if (remoteConfig.enable)
{
#if defined HAVE_LMSAPI
serviceManager.startService( std::make_shared<Service::RemoteServerService>( remoteConfig ));
#else
LMS_LOG(MOD_MAIN, SEV_ERROR) << "LMS API cannot be activated since it is not compiled";
#endif
}
if (uiConfig.enable)
serviceManager.startService( std::make_shared<Service::UserInterfaceService>(boost::filesystem::path(argv[0]), uiConfig));
+22 -19
View File
@@ -1,24 +1,11 @@
TESTS = database-basics database-integrity sql-query database-user remote-client
TESTS = database-basics database-integrity sql-query database-user
check_PROGRAMS = database-basics database-integrity sql-query database-user remote-client
database_basics_SOURCES = \
$(srcdir)/CheckDbBasics.cpp \
$(top_srcdir)/src/logger/Logger.cpp \
$(top_srcdir)/src/database/Artist.cpp \
$(top_srcdir)/src/database/DatabaseHandler.cpp \
$(top_srcdir)/src/database/MediaDirectory.cpp \
$(top_srcdir)/src/database/Playlist.cpp \
$(top_srcdir)/src/database/Release.cpp \
$(top_srcdir)/src/database/SearchFilter.cpp \
$(top_srcdir)/src/database/SqlQuery.cpp \
$(top_srcdir)/src/database/Track.cpp \
$(top_srcdir)/src/database/User.cpp \
$(top_srcdir)/src/database/Video.cpp
database_basics_CXXFLAGS=-std=c++11 -Wall -Wextra -DBOOST_LOG_DYN_LINK -I$(top_srcdir)/src
check_PROGRAMS = database-basics database-integrity sql-query database-user
if LMSAPI
TESTS += remote-client
check_PROGRAMS += remote-client
remote_client_SOURCES = \
$(srcdir)/RemoteClient.cpp \
@@ -37,12 +24,28 @@ BUILT_SOURCES = \
$(builddir)/media.pb.h \
$(builddir)/messages.pb.h
remote_client_CXXFLAGS=-std=c++11 -Wall -Wextra -DBOOST_LOG_DYN_LINK -I$(top_srcdir)/src
%.pb.cc %.pb.h: $(top_srcdir)/src/remote/proto/%.proto
$(PROTOC) --proto_path=$(top_srcdir)/src/remote/proto/ --cpp_out=$(builddir)/ $^
endif
database_basics_SOURCES = \
$(srcdir)/CheckDbBasics.cpp \
$(top_srcdir)/src/logger/Logger.cpp \
$(top_srcdir)/src/database/Artist.cpp \
$(top_srcdir)/src/database/DatabaseHandler.cpp \
$(top_srcdir)/src/database/MediaDirectory.cpp \
$(top_srcdir)/src/database/Playlist.cpp \
$(top_srcdir)/src/database/Release.cpp \
$(top_srcdir)/src/database/SearchFilter.cpp \
$(top_srcdir)/src/database/SqlQuery.cpp \
$(top_srcdir)/src/database/Track.cpp \
$(top_srcdir)/src/database/User.cpp \
$(top_srcdir)/src/database/Video.cpp
database_basics_CXXFLAGS=-std=c++11 -Wall -Wextra -DBOOST_LOG_DYN_LINK -I$(top_srcdir)/src
database_user_SOURCES = \
$(srcdir)/CheckDatabaseUser.cpp \