New Upstream Snapshot - libkolabxml
Ready changes
Summary
Merged new upstream version: 1.2.1+git20220803.1.27d1927 (was: 1.2.1).
Diff
diff --git a/.gitignore b/.gitignore
deleted file mode 100644
index b3dfe0a..0000000
--- a/.gitignore
+++ /dev/null
@@ -1,21 +0,0 @@
-*~
-CMakeFiles
-CMakeCache.txt
-moc_*
-*.moc
-*.pyc
-.*.swp
-.*.kate-swp
-configure
-config.status
-config.log
-Makefile
-Makefile.in
-ChangeLog
-autom4te.cache
-aclocal.m4
-libkolabxml-*.tar.gz
-libkolabxml-*.*/
-libkolabxml.spec
-build
-*kdev4*
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 706373b..715359f 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -145,7 +145,7 @@ set( SCHEMA_SOURCEFILES
# --generate-inline --extern-xml-schema xml-schema.xsd
# --cxx-suffix .cpp --hxx-suffix .h
add_custom_command(OUTPUT ${SCHEMA_SOURCEFILES}
- COMMAND ${XSDCXX} cxx-tree --generate-polymorphic --generate-serialization --namespace-map http://kolab.org=KolabXSD --root-element icalendar --root-element vcards --root-element note --root-element configuration --root-element file --output-dir ${CMAKE_BINARY_DIR}/bindings ${SCHEMAS}
+ COMMAND ${XSDCXX} cxx-tree --std c++11 --generate-polymorphic --generate-serialization --namespace-map http://kolab.org=KolabXSD --root-element icalendar --root-element vcards --root-element note --root-element configuration --root-element file --output-dir ${CMAKE_BINARY_DIR}/bindings ${SCHEMAS}
COMMENT "Generating XSD bindings"
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
DEPENDS ${SCHEMAS}
diff --git a/compiled/XMLParserWrapper.cpp b/compiled/XMLParserWrapper.cpp
index 96e859c..118c8cd 100644
--- a/compiled/XMLParserWrapper.cpp
+++ b/compiled/XMLParserWrapper.cpp
@@ -17,7 +17,7 @@
#include "XMLParserWrapper.h"
-#include <memory> // std::auto_ptr
+#include <memory> // std::unique_ptr
#include <fstream>
#include <iostream>
@@ -226,7 +226,7 @@ void XMLParserWrapper::init()
}
-xsd::cxx::xml::dom::auto_ptr< xercesc::DOMDocument > XMLParserWrapper::parseFile(const std::string& url)
+std::unique_ptr< xercesc::DOMDocument > XMLParserWrapper::parseFile(const std::string& url)
{
try {
std::ifstream ifs;
@@ -237,17 +237,17 @@ xsd::cxx::xml::dom::auto_ptr< xercesc::DOMDocument > XMLParserWrapper::parseFile
{
std::cerr << ": unable to open or read failure" << std::endl;
}
- return xsd::cxx::xml::dom::auto_ptr< xercesc::DOMDocument >();
+ return std::unique_ptr< xercesc::DOMDocument >();
}
-xsd::cxx::xml::dom::auto_ptr< xercesc::DOMDocument > XMLParserWrapper::parseString(const std::string& s)
+std::unique_ptr< xercesc::DOMDocument > XMLParserWrapper::parseString(const std::string& s)
{
std::istringstream is(s);
return parse(is, ""); //TODO set identifier?
}
-xml_schema::dom::auto_ptr<xercesc::DOMDocument> XMLParserWrapper::parse(std::istream &ifs, const std::string &name)
+std::unique_ptr<xercesc::DOMDocument> XMLParserWrapper::parse(std::istream &ifs, const std::string &name)
{
using namespace std;
@@ -268,9 +268,9 @@ xml_schema::dom::auto_ptr<xercesc::DOMDocument> XMLParserWrapper::parse(std::ist
// Parse XML to DOM.
//
#if _XERCES_VERSION >= 30000
- xml_schema::dom::auto_ptr<DOMDocument> doc (parser->parse (&wrap));
+ std::unique_ptr<DOMDocument> doc (parser->parse (&wrap));
#else
- xml_schema::dom::auto_ptr<DOMDocument> doc (parser->parse (wrap));
+ std::unique_ptr<DOMDocument> doc (parser->parse (wrap));
#endif
eh.throw_if_failed<xml_schema::parsing> ();
@@ -291,5 +291,5 @@ xml_schema::dom::auto_ptr<xercesc::DOMDocument> XMLParserWrapper::parse(std::ist
cerr << ": unknown exception thrown" << endl;
}
eh.reset();
- return xml_schema::dom::auto_ptr<xercesc::DOMDocument>();
+ return std::unique_ptr<xercesc::DOMDocument>();
}
diff --git a/compiled/XMLParserWrapper.h b/compiled/XMLParserWrapper.h
index 86a76c1..8297f52 100644
--- a/compiled/XMLParserWrapper.h
+++ b/compiled/XMLParserWrapper.h
@@ -58,9 +58,9 @@ public:
*/
static XMLParserWrapper &inst();
- xml_schema::dom::auto_ptr<xercesc::DOMDocument> parseFile(const std::string &url);
- xml_schema::dom::auto_ptr<xercesc::DOMDocument> parseString(const std::string &s);
- xml_schema::dom::auto_ptr<xercesc::DOMDocument> parse(std::istream &ifs, const std::string &name);
+ std::unique_ptr<xercesc::DOMDocument> parseFile(const std::string &url);
+ std::unique_ptr<xercesc::DOMDocument> parseString(const std::string &s);
+ std::unique_ptr<xercesc::DOMDocument> parse(std::istream &ifs, const std::string &name);
private:
void init();
xsd::cxx::tree::error_handler<char> eh;
diff --git a/compiled/xsdbin.cxx b/compiled/xsdbin.cxx
index 53e2533..2249fe9 100644
--- a/compiled/xsdbin.cxx
+++ b/compiled/xsdbin.cxx
@@ -175,12 +175,12 @@ main (int argc, char* argv[])
{
MemoryManager* mm (XMLPlatformUtils::fgMemoryManager);
- auto_ptr<XMLGrammarPool> gp (new XMLGrammarPoolImpl (mm));
+ unique_ptr<XMLGrammarPool> gp (new XMLGrammarPoolImpl (mm));
// Load the schemas into grammar pool.
//
{
- auto_ptr<SAX2XMLReader> parser (
+ unique_ptr<SAX2XMLReader> parser (
XMLReaderFactory::createXMLReader (mm, gp.get ()));
parser->setFeature (XMLUni::fgSAX2CoreNameSpaces, true);
diff --git a/debian/changelog b/debian/changelog
index 4678b1a..3819dd5 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+libkolabxml (1.2.1+git20220803.1.27d1927-1) UNRELEASED; urgency=low
+
+ * New upstream snapshot.
+
+ -- Debian Janitor <janitor@jelmer.uk> Wed, 08 Feb 2023 14:21:34 -0000
+
libkolabxml (1.2.1-4) unstable; urgency=medium
* Update symbols from buildds.
diff --git a/debian/patches/fix-parallel-build.patch b/debian/patches/fix-parallel-build.patch
index 51be1c2..b2ed9f8 100644
--- a/debian/patches/fix-parallel-build.patch
+++ b/debian/patches/fix-parallel-build.patch
@@ -6,9 +6,11 @@ Description: When running multiple make processes the
This explicitly addes php_kolabformat.h to the list of files generated
by the swig command.
---- a/src/php/CMakeLists.txt
-+++ b/src/php/CMakeLists.txt
-@@ -3,7 +3,7 @@
+Index: libkolabxml.git/src/php/CMakeLists.txt
+===================================================================
+--- libkolabxml.git.orig/src/php/CMakeLists.txt
++++ libkolabxml.git/src/php/CMakeLists.txt
+@@ -3,7 +3,7 @@ include_directories(../)
set(KOLAB_SWIG_PHP_SOURCE_FILE php_kolabformat_wrapper.cpp)
set(KOLAB_SWIG_PHP_HEADER_FILE php_kolabformat.h)
diff --git a/debian/patches/fix-race-condition.patch b/debian/patches/fix-race-condition.patch
index 0edc681..451f6e9 100644
--- a/debian/patches/fix-race-condition.patch
+++ b/debian/patches/fix-race-condition.patch
@@ -7,8 +7,10 @@ Author: Paul Klos <kolab@klos2day.nl>
Last-Update: 2013-06-10
Bug: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=710568
---- a/src/php/CMakeLists.txt
-+++ b/src/php/CMakeLists.txt
+Index: libkolabxml.git/src/php/CMakeLists.txt
+===================================================================
+--- libkolabxml.git.orig/src/php/CMakeLists.txt
++++ libkolabxml.git/src/php/CMakeLists.txt
@@ -2,6 +2,7 @@
include_directories(../)
@@ -17,7 +19,7 @@ Bug: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=710568
add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${KOLAB_SWIG_PHP_SOURCE_FILE} ${CMAKE_CURRENT_BINARY_DIR}/kolabformat.php
COMMAND ${SWIG} -v -c++ -php -o ${CMAKE_CURRENT_BINARY_DIR}/${KOLAB_SWIG_PHP_SOURCE_FILE} ../kolabformat.i
COMMENT "Generating php bindings"
-@@ -11,7 +12,8 @@
+@@ -11,7 +12,8 @@ add_custom_command(OUTPUT ${CMAKE_CURREN
)
set_source_files_properties(${KOLAB_SWIG_PHP_SOURCE_FILE} PROPERTIES GENERATED 1)
diff --git a/debian/patches/use-phpconfig-to-detect-phpincludedir.patch b/debian/patches/use-phpconfig-to-detect-phpincludedir.patch
index 39952b8..af629ea 100644
--- a/debian/patches/use-phpconfig-to-detect-phpincludedir.patch
+++ b/debian/patches/use-phpconfig-to-detect-phpincludedir.patch
@@ -8,11 +8,11 @@ Last-Update: 2016-04-29
Forwarded: not-needed
---
This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
-Index: libkolabxml/src/php/CMakeLists.txt
+Index: libkolabxml.git/src/php/CMakeLists.txt
===================================================================
---- libkolabxml.orig/src/php/CMakeLists.txt 2016-04-29 13:24:54.786787527 +0200
-+++ libkolabxml/src/php/CMakeLists.txt 2016-04-29 13:25:24.102918138 +0200
-@@ -26,13 +26,23 @@
+--- libkolabxml.git.orig/src/php/CMakeLists.txt
++++ libkolabxml.git/src/php/CMakeLists.txt
+@@ -26,13 +26,23 @@ set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}
# Try to find PHP5
find_path(PHP_INCLUDE_DIR NAMES main/php.h PATH_SUFFIXES php php5)
find_program(PHP_EXECUTABLE NAMES php)
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 732a0a5..fbadb2a 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -33,7 +33,7 @@ if (${Boost_MAJOR_VERSION}.${Boost_MINOR_VERSION} VERSION_LESS 1.42)
set_target_properties(kolabxml PROPERTIES COMPILE_FLAGS "-Wall -Wextra -Wconversion")
else() #then normal case
#for development add here -Werror -Wfatal-errors (but don't for releases)
- set_target_properties(kolabxml PROPERTIES COMPILE_FLAGS "-Wall -Wextra -Wconversion -Wl,--no-undefined")
+ set_target_properties(kolabxml PROPERTIES COMPILE_FLAGS "-Wall -Wextra -Wno-deprecated-copy -Wconversion -Wl,--no-undefined")
endif()
set_target_properties(kolabxml PROPERTIES VERSION ${Libkolabxml_VERSION} SOVERSION ${Libkolabxml_VERSION_MAJOR})
diff --git a/src/containers/kolabcontainers.cpp b/src/containers/kolabcontainers.cpp
index bf10646..a85ea0d 100644
--- a/src/containers/kolabcontainers.cpp
+++ b/src/containers/kolabcontainers.cpp
@@ -637,7 +637,7 @@ Alarm::Alarm()
{
}
-Alarm::Alarm(Alarm::Type type)
+Alarm::Alarm(Alarm::Type /*type*/)
: d(new Alarm::Private)
{
d->type = AudioAlarm;
diff --git a/src/kolabconversions.h b/src/kolabconversions.h
index 3afc229..93e32d5 100644
--- a/src/kolabconversions.h
+++ b/src/kolabconversions.h
@@ -409,16 +409,16 @@ template <>
boost::shared_ptr<Kolab::Note> deserializeObject <Kolab::Note> (const std::string& s, bool isUrl)
{
try {
- std::auto_ptr<KolabXSD::Note> note;
+ std::unique_ptr<KolabXSD::Note> note;
if (isUrl) {
- xsd::cxx::xml::dom::auto_ptr <xercesc::DOMDocument > doc = XMLParserWrapper::inst().parseFile(s);
+ std::unique_ptr <xercesc::DOMDocument > doc = XMLParserWrapper::inst().parseFile(s);
if (doc.get()) {
- note = KolabXSD::note(doc);
+ note = KolabXSD::note(*doc);
}
} else {
- xsd::cxx::xml::dom::auto_ptr <xercesc::DOMDocument > doc = XMLParserWrapper::inst().parseString(s);
+ std::unique_ptr <xercesc::DOMDocument > doc = XMLParserWrapper::inst().parseString(s);
if (doc.get()) {
- note = KolabXSD::note(doc);
+ note = KolabXSD::note(*doc);
}
}
@@ -499,16 +499,16 @@ template <>
boost::shared_ptr<Kolab::Configuration> deserializeObject <Kolab::Configuration> (const std::string& s, bool isUrl)
{
try {
- std::auto_ptr<KolabXSD::Configuration> configuration;
+ std::unique_ptr<KolabXSD::Configuration> configuration;
if (isUrl) {
- xsd::cxx::xml::dom::auto_ptr <xercesc::DOMDocument > doc = XMLParserWrapper::inst().parseFile(s);
+ std::unique_ptr <xercesc::DOMDocument > doc = XMLParserWrapper::inst().parseFile(s);
if (doc.get()) {
- configuration = KolabXSD::configuration(doc);
+ configuration = KolabXSD::configuration(*doc);
}
} else {
- xsd::cxx::xml::dom::auto_ptr <xercesc::DOMDocument > doc = XMLParserWrapper::inst().parseString(s);
+ std::unique_ptr <xercesc::DOMDocument > doc = XMLParserWrapper::inst().parseString(s);
if (doc.get()) {
- configuration = KolabXSD::configuration(doc);
+ configuration = KolabXSD::configuration(*doc);
}
}
@@ -629,16 +629,16 @@ template <>
boost::shared_ptr<Kolab::File> deserializeObject <Kolab::File> (const std::string& s, bool isUrl)
{
try {
- std::auto_ptr<KolabXSD::File> file;
+ std::unique_ptr<KolabXSD::File> file;
if (isUrl) {
- xsd::cxx::xml::dom::auto_ptr <xercesc::DOMDocument > doc = XMLParserWrapper::inst().parseFile(s);
+ std::unique_ptr <xercesc::DOMDocument > doc = XMLParserWrapper::inst().parseFile(s);
if (doc.get()) {
- file = KolabXSD::file(doc);
+ file = KolabXSD::file(*doc);
}
} else {
- xsd::cxx::xml::dom::auto_ptr <xercesc::DOMDocument > doc = XMLParserWrapper::inst().parseString(s);
+ std::unique_ptr <xercesc::DOMDocument > doc = XMLParserWrapper::inst().parseString(s);
if (doc.get()) {
- file = KolabXSD::file(doc);
+ file = KolabXSD::file(*doc);
}
}
diff --git a/src/xcalconversions.h b/src/xcalconversions.h
index b62a739..ae60de7 100644
--- a/src/xcalconversions.h
+++ b/src/xcalconversions.h
@@ -132,9 +132,9 @@ std::vector<std::string> toStringList(const icalendar_2_0::TextListPropertyType
}
template <typename T>
-std::auto_ptr<T> fromStringList(const std::vector<std::string> &list)
+std::unique_ptr<T> fromStringList(const std::vector<std::string> &list)
{
- std::auto_ptr<T> ptr(new T());
+ std::unique_ptr<T> ptr(new T());
std::copy(list.begin(), list.end(), std::back_inserter(ptr->text()));
return ptr;
}
@@ -509,9 +509,9 @@ cDateTimePtr toDate(const icalendar_2_0::UtcDatetimePropertyType &dtProperty)
}
template <typename I>
-std::auto_ptr<I> fromDate(const cDateTime &dt)
+std::unique_ptr<I> fromDate(const cDateTime &dt)
{
- std::auto_ptr<I> ptr(new I);
+ std::unique_ptr<I> ptr(new I);
if (dt.isDateOnly()) {
ptr->date(Shared::fromDate(dt));
} else {
@@ -557,10 +557,10 @@ std::vector<cDateTime> toDateTimeList(I datelistProperty)
}
template <typename I>
-std::auto_ptr<I> fromDateTimeList(const std::vector<cDateTime> &dtlist)
+std::unique_ptr<I> fromDateTimeList(const std::vector<cDateTime> &dtlist)
{
- std::auto_ptr<I> ptr(new I);
+ std::unique_ptr<I> ptr(new I);
BOOST_FOREACH(const cDateTime &dt, dtlist) {
if (dt.isDateOnly()) {
ptr->date().push_back(Shared::fromDate(dt));
@@ -678,7 +678,7 @@ Role mapRole(const std::string &status)
//=== Recurrence Rule ===
- typedef std::auto_ptr<RecurrenceRule> RecurrencePtr;
+ typedef std::unique_ptr<RecurrenceRule> RecurrencePtr;
RecurrenceRule::Frequency mapRecurrenceFrequency(const icalendar_2_0::RecurType::freq_type &freq)
@@ -1031,11 +1031,11 @@ T fromList(const std::vector<int> &input) {
return list;
}
-std::auto_ptr< icalendar_2_0::RrulePropType > recurrenceProperty(const RecurrenceRule &r)
+std::unique_ptr< icalendar_2_0::RrulePropType > recurrenceProperty(const RecurrenceRule &r)
{
using namespace icalendar_2_0;
- std::auto_ptr< RrulePropType > rruleProp(new RrulePropType(mapRecurrenceFrequency(r.frequency())));
+ std::unique_ptr< RrulePropType > rruleProp(new RrulePropType(mapRecurrenceFrequency(r.frequency())));
RecurPropertyType::recur_type &recur = rruleProp->recur();
const cDateTime &endDate = r.end();
@@ -1271,7 +1271,7 @@ void getTodoEventProperties(T &prop, const I &inc)
}
if (inc.recurrenceID().isValid()) {
- std::auto_ptr<typename properties::recurrence_id_type> recurrenceId = fromDate<typename properties::recurrence_id_type>(inc.recurrenceID());
+ std::unique_ptr<typename properties::recurrence_id_type> recurrenceId = fromDate<typename properties::recurrence_id_type>(inc.recurrenceID());
if (inc.thisAndFuture()) {
if (!recurrenceId->parameters()) {
recurrenceId->parameters(typename properties::recurrence_id_type::parameters_type());
@@ -1281,7 +1281,7 @@ void getTodoEventProperties(T &prop, const I &inc)
parameters.baseParameter().push_back(range);
}
- prop.recurrence_id(recurrenceId);
+ prop.recurrence_id(std::move(recurrenceId));
}
if (inc.priority() != 0) {
@@ -1332,14 +1332,14 @@ void setAlarms(typename KolabType::components_type& components, const IncidenceT
trigger.parameters(parameters);
}
- std::auto_ptr<PropType> p;
+ std::unique_ptr<PropType> p;
switch(alarm.type()) {
case Kolab::Alarm::DisplayAlarm:
- p = std::auto_ptr<PropType>(new PropType(PropType::action_type(DISPLAYALARM), trigger));
+ p = std::unique_ptr<PropType>(new PropType(PropType::action_type(DISPLAYALARM), trigger));
p->description(PropType::description_type(alarm.description()));
break;
case Kolab::Alarm::EMailAlarm: {
- p = std::auto_ptr<PropType>(new PropType(PropType::action_type(EMAILALARM), trigger));
+ p = std::unique_ptr<PropType>(new PropType(PropType::action_type(EMAILALARM), trigger));
p->summary(PropType::summary_type(alarm.summary()));
p->description(PropType::description_type(alarm.description()));
const std::vector<Kolab::ContactReference> &l = alarm.attendees();
@@ -1349,7 +1349,7 @@ void setAlarms(typename KolabType::components_type& components, const IncidenceT
break;
}
case Kolab::Alarm::AudioAlarm:
- p = std::auto_ptr<PropType>(new PropType(PropType::action_type(AUDIOALARM), trigger));
+ p = std::unique_ptr<PropType>(new PropType(PropType::action_type(AUDIOALARM), trigger));
p->description(PropType::description_type(alarm.description()));
if (alarm.audioFile().isValid()) {
p->attach(fromAttachment(alarm.audioFile()));
@@ -1363,7 +1363,7 @@ void setAlarms(typename KolabType::components_type& components, const IncidenceT
p->repeat(PropType::repeat_type(fromInt<PropType::repeat_type::integer_type>(alarm.numrepeat())));
}
- components.valarm().push_back(icalendar_2_0::ValarmType(p));
+ components.valarm().push_back(icalendar_2_0::ValarmType(std::move(p)));
}
}
@@ -1926,19 +1926,19 @@ typename T::IncidencePtr deserializeIncidence(const std::string& s, bool isUrl)
typedef typename T::KolabType KolabType;
try {
- std::auto_ptr<icalendar_2_0::IcalendarType> icalendar;
+ std::unique_ptr<icalendar_2_0::IcalendarType> icalendar;
if (isUrl) {
- xsd::cxx::xml::dom::auto_ptr <xercesc::DOMDocument > doc = XMLParserWrapper::inst().parseFile(s);
+ std::unique_ptr <xercesc::DOMDocument > doc = XMLParserWrapper::inst().parseFile(s);
if (doc.get()) {
- icalendar = icalendar_2_0::icalendar(doc);
+ icalendar = icalendar_2_0::icalendar(*doc);
}
} else {
- xsd::cxx::xml::dom::auto_ptr <xercesc::DOMDocument > doc = XMLParserWrapper::inst().parseString(s);
+ std::unique_ptr <xercesc::DOMDocument > doc = XMLParserWrapper::inst().parseString(s);
if (doc.get()) {
- icalendar = icalendar_2_0::icalendar(doc);
+ icalendar = icalendar_2_0::icalendar(*doc);
}
}
-
+
if (!icalendar.get()) {
CRITICAL("Failed to parse calendar!");
return IncidencePtr();
diff --git a/src/xcardconversions.h b/src/xcardconversions.h
index 4f58aab..0d9575f 100644
--- a/src/xcardconversions.h
+++ b/src/xcardconversions.h
@@ -1138,16 +1138,16 @@ boost::shared_ptr<T> deserializeCard(const std::string& s, bool isUrl)
{
clearErrors();
try {
- std::auto_ptr<vcard_4_0::VcardsType> vcards;
+ std::unique_ptr<vcard_4_0::VcardsType> vcards;
if (isUrl) {
- xsd::cxx::xml::dom::auto_ptr <xercesc::DOMDocument > doc = XMLParserWrapper::inst().parseFile(s);
+ std::unique_ptr <xercesc::DOMDocument > doc = XMLParserWrapper::inst().parseFile(s);
if (doc.get()) {
- vcards = vcard_4_0::vcards(doc);
+ vcards = vcard_4_0::vcards(*doc);
}
} else {
- xsd::cxx::xml::dom::auto_ptr <xercesc::DOMDocument > doc = XMLParserWrapper::inst().parseString(s);
+ std::unique_ptr<xercesc::DOMDocument> doc = XMLParserWrapper::inst().parseString(s);
if (doc.get()) {
- vcards = vcard_4_0::vcards(doc);
+ vcards = vcard_4_0::vcards(*doc);
}
}
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
index 9abacdf..3864a83 100644
--- a/tests/CMakeLists.txt
+++ b/tests/CMakeLists.txt
@@ -1,9 +1,6 @@
#### Qt 4 and 5 ####
if(QT5_BUILD)
- find_package(ECM 1.1.0 REQUIRED NO_MODULE)
- set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH})
-
find_package(Qt5Core REQUIRED)
find_package(Qt5Test REQUIRED)