|
|
|
/*
|
|
|
|
-----BEGIN QCMOD-----
|
|
|
|
name: libboost
|
|
|
|
arg: with-libboost-inc=[path], Path to libboost include files
|
|
|
|
arg: with-libboost-lib=[path], Path to libboost library files
|
|
|
|
-----END QCMOD-----
|
|
|
|
*/
|
|
|
|
class qc_libboost : public ConfObj
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
qc_libboost(Conf *c) : ConfObj(c) {}
|
|
|
|
QString name() const { return "libboost"; }
|
|
|
|
QString shortname() const { return "libboost"; }
|
|
|
|
bool exec(){
|
|
|
|
QString s;
|
|
|
|
s = conf->getenv("QC_WITH_LIBBOOST_INC");
|
|
|
|
if(!s.isEmpty()) {
|
|
|
|
if(!conf->checkHeader(s, "boost/format.hpp")) {
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
if(!conf->checkHeader(s, "boost/date_time/posix_time/posix_time.hpp")) {
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
if(!conf->checkHeader(s, "boost/filesystem/path.hpp")) {
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
if(!conf->checkHeader(s, "boost/thread.hpp")) {
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
}else{
|
|
|
|
QStringList sl;
|
|
|
|
sl << "/usr/include";
|
|
|
|
sl << "/usr/local/include";
|
|
|
|
bool found = false;
|
|
|
|
foreach(s, sl){
|
|
|
|
if(conf->checkHeader(s, "boost/format.hpp")){
|
|
|
|
found = true;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if(!found) {
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
if(!conf->checkHeader(s, "boost/date_time/posix_time/posix_time.hpp")) {
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
if(!conf->checkHeader(s, "boost/filesystem/path.hpp")) {
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
if(!conf->checkHeader(s, "boost/thread.hpp")) {
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
conf->addIncludePath(s);
|
|
|
|
// Find library
|
|
|
|
s = conf->getenv("QC_WITH_LIBBOOST_LIB");
|
|
|
|
if(!s.isEmpty()) {
|
|
|
|
if(!conf->checkLibrary(s, "boost_system-mt")) {
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
}else{
|
|
|
|
QStringList sl;
|
|
|
|
sl << "/usr/lib/";
|
|
|
|
sl << "/usr/lib64/";
|
|
|
|
sl << "/usr/local/lib/";
|
|
|
|
sl << "/usr/local/lib64/";
|
|
|
|
bool found = false;
|
|
|
|
foreach(s, sl){
|
|
|
|
if(conf->checkLibrary(s, "boost_system-mt")) {
|
|
|
|
found = true;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if(!found)
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
conf->addLib(QString("-L") + s);
|
|
|
|
conf->addLib("-lboost_system-mt -lboost_filesystem-mt -lboost_thread-mt");
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
};
|