compile fix, cleanup (#684)

* implement make install
set CMAKE_INSTALL_PREFIX e.g. to /opt to install to /opt/hyperion
set ENABLE_SYSTEM_INSTALL to ON to activate installation
after compiling use
make install
or
make install/strip
(for performance/size optimized binaries - compile in Release to get best performance)

* cleanup cmake files
use
cmake -DINSTALL_PREFIX=/opt/hyperion ..
to install all files to hyperion or
cmake -DINSTALL_PREFIX=/usr/
to install to usr. install folders are linux standard. bin go to bin folder and additionals (effects) go to share/hyperion

* add uninstall target - be patient with that, this will remove files from your system
install service files to share/hyperion - if you want to use them you have to make a symlink to your location of service files

* optimize build release script
install service files into hyperion share folder (services not activated, this must be done by distribution package script)
initial support of cmake option -DPLATFORM= option. This selects platform specific cmake flags. no need for -DENABLE_... options (unless you want some special things)
automatic detect for apple build

* update submodule

* fix cmake error when no platform is given

* initial support for deb,rpm and tgz packages - no usefull content atm!

* make packeages contain usefull stuff

* add license
make packes more functional. package specific install missing yet

* implement debian postinstall

* disable rpm generation until it has a working state

* add hypercon compat

* add posibility for multiple config files. first one found is taken

* remove hyperion comaptlayer
services is not started automaticly

* rework debian postinstall:
- remove /opt compatibility complety. This makes more trouble as it is usefull
- when hyperiond already started, restart it
- cleanup

* add deb package dependencies

* wipe out last support for /opt installation

* change default effect path in config to /usr

* revert service files and config files

* remove last occurences of ENABLE_PROTOBUF
fix cmake warnings and make it ready for cmake 3
fix refactoring of hyperiond.cpp creates no objects for network services

* all arguments via reference ...

* fix xbmcchecker not working

* add logger class

* - profiler must be activated with ENABLE_PROFILER, otherwise an error will raise
-> this should prevent profiler gets into release code

* fix profiler

* make logger compat with older/partial c++11 versions (r.g. debian wheezy)
fix description of optionparser
fix atmoorb not compile for qt4. now it should compile for qt5 and 4

* make logger compiles with qt5 too
fix compiler warnings

* remove debug code


Former-commit-id: 6aa41351667caed712b1f28010dbedfca8a6a5a0
This commit is contained in:
redPanther 2016-06-07 22:24:29 +02:00 committed by brindosch
parent ad65ca2983
commit 614131ebe6
9 changed files with 27 additions and 12 deletions

View File

@ -187,7 +187,7 @@ int X11Grabber::updateScreenDimensions()
_croppedHeight = (_screenHeight > unsigned(_cropTop + _cropBottom))
? (_screenHeight - _cropTop - _cropBottom)
: (_croppedHeight = _screenHeight);
: _screenHeight;
std::cout << "X11GRABBER INFO: Using ";

View File

@ -30,7 +30,7 @@ LedDeviceAtmoOrb::LedDeviceAtmoOrb(
groupAddress = QHostAddress(multicastGroup);
udpSocket = new QUdpSocket(this);
udpSocket->bind(QHostAddress::AnyIPv4, multiCastGroupPort, QUdpSocket::ShareAddress | QUdpSocket::ReuseAddressHint);
udpSocket->bind(QHostAddress::Any, multiCastGroupPort, QUdpSocket::ShareAddress | QUdpSocket::ReuseAddressHint);
joinedMulticastgroup = udpSocket->joinMulticastGroup(groupAddress);
}

View File

@ -49,5 +49,10 @@ add_library(hyperion-utils
${CURRENT_SOURCE_DIR}/jsonschema/JsonSchemaChecker.cpp
)
if(ENABLE_QT5)
qt5_use_modules(hyperion-utils Widgets)
endif()
target_link_libraries(hyperion-utils
jsoncpp)
jsoncpp
${QT_LIBRARIES})

View File

@ -30,7 +30,8 @@ Logger* Logger::getInstance(std::string name, Logger::LogLevel minLevel)
if ( LoggerMap->find(name) == LoggerMap->end() )
{
Logger* log = new Logger(name,minLevel);
Logger::LoggerMap->emplace(name,log);
Logger::LoggerMap->insert(std::pair<std::string,Logger*>(name,log)); // compat version, replace it with following line if we have 100% c++11
//Logger::LoggerMap->emplace(name,log); // not compat with older linux distro's e.g. wheezy
return log;
}

View File

@ -35,7 +35,7 @@ int main(int argc, char ** argv)
try
{
// create the option parser and initialize all parameters
OptionsParser optionParser("X11 capture application for Hyperion");
OptionsParser optionParser("AmLogic capture application for Hyperion");
ParameterSet & parameters = optionParser.getParameters();
IntParameter & argFps = parameters.add<IntParameter> ('f', "framerate", "Capture frame rate [default: 10]");

View File

@ -27,7 +27,7 @@ int main(int argc, char ** argv)
try
{
// create the option parser and initialize all parameters
OptionsParser optionParser("X11 capture application for Hyperion");
OptionsParser optionParser("FrameBuffer capture application for Hyperion");
ParameterSet & parameters = optionParser.getParameters();
StringParameter & argDevice = parameters.add<StringParameter> ('d', "device", "Set the video device [default: /dev/video0]");

View File

@ -27,7 +27,7 @@ int main(int argc, char ** argv)
try
{
// create the option parser and initialize all parameters
OptionsParser optionParser("X11 capture application for Hyperion");
OptionsParser optionParser("OSX capture application for Hyperion");
ParameterSet & parameters = optionParser.getParameters();
IntParameter & argDisplay = parameters.add<IntParameter> ('d', "display", "Set the display to capture [default: 0]");

View File

@ -9,6 +9,7 @@
#include "protoserver/ProtoConnectionWrapper.h"
#include "X11Wrapper.h"
#include "HyperionConfig.h"
#include "utils/Profiler.h"
using namespace vlofgren;
@ -22,10 +23,10 @@ void saveScreenshot(const char * filename, const Image<ColorRgb> & image)
int main(int argc, char ** argv)
{
std::cout
<< "hyperion-x11:" << std::endl
<< "\tversion : " << HYPERION_VERSION_ID << std::endl
<< "\tbuild time: " << __DATE__ << " " << __TIME__ << std::endl;
std::cout
<< "hyperion-x11:" << std::endl
<< "\tversion : " << HYPERION_VERSION_ID << std::endl
<< "\tbuild time: " << __DATE__ << " " << __TIME__ << std::endl;
QCoreApplication app(argc, argv);

View File

@ -418,15 +418,23 @@ int main(int argc, char** argv)
setlocale(LC_ALL, "C");
QLocale::setDefault(QLocale::c());
OptionsParser optionParser("X11 capture application for Hyperion");
OptionsParser optionParser("Hyperion Daemon");
ParameterSet & parameters = optionParser.getParameters();
IntParameter & argParentPid = parameters.add<IntParameter> (0x0, "parent", "pid of parent hyperiond");
SwitchParameter<> & argHelp = parameters.add<SwitchParameter<>> ('h', "help", "Show this help message and exit");
argParentPid.setDefault(0);
optionParser.parse(argc, const_cast<const char **>(argv));
const std::vector<std::string> configFiles = optionParser.getFiles();
// check if we need to display the usage. exit if we do.
if (argHelp.isSet())
{
optionParser.usage();
return 0;
}
if (configFiles.size() == 0)
{
std::cout << "ERROR: Missing required configuration file. Usage:" << std::endl;