--- GDCM-3.0.1/Applications/Cxx/CMakeLists.txt +++ GDCM-3.0.1/Applications/Cxx/CMakeLists.txt @@ -72,6 +72,14 @@ if(GDCM_USE_SYSTEM_POPPLER) if(LIBPOPPLER_GLOBALPARAMS_CSTOR_HAS_PARAM) list(APPEND libpoppler_flags -DLIBPOPPLER_GLOBALPARAMS_CSTOR_HAS_PARAM) endif() + if(NOT LIBPOPPLER_GLOBALPARAMS_CSTOR_HAS_PARAM) + CHECK_CXX_SOURCE_COMPILES( + "\#include \nint main() { globalParams = new GlobalParams(); return 0;}" + LIBPOPPLER_GLOBALPARAMS_IS_NOT_UNIQUE_PTR) + if(NOT LIBPOPPLER_GLOBALPARAMS_IS_NOT_UNIQUE_PTR) + list(APPEND libpoppler_flags -DLIBPOPPLER_GLOBALPARAMS_IS_UNIQUE_PTR) + endif() + endif() CHECK_CXX_SOURCE_COMPILES( "\#include \nint main() { PDFDoc d((GooString*)NULL,(GooString*)NULL,(GooString*)NULL); d.getPDFVersion(); return 0;}" LIBPOPPLER_PDFDOC_HAS_PDFVERSION) --- GDCM-3.0.1/Applications/Cxx/gdcminfo.cxx +++ GDCM-3.0.1/Applications/Cxx/gdcminfo.cxx @@ -510,11 +510,15 @@ static int ProcessOneFile( std::string c std::string moddate; UnicodeMap *uMap; +#ifdef LIBPOPPLER_GLOBALPARAMS_IS_UNIQUE_PTR + globalParams = std::make_unique(); +#else #ifdef LIBPOPPLER_GLOBALPARAMS_CSTOR_HAS_PARAM globalParams = new GlobalParams(0); #else globalParams = new GlobalParams(); #endif +#endif uMap = globalParams->getTextEncoding(); Object info; --- GDCM-3.0.1/Applications/Cxx/gdcmpdf.cxx +++ GDCM-3.0.1/Applications/Cxx/gdcmpdf.cxx @@ -336,11 +336,15 @@ int main (int argc, char *argv[]) UnicodeMap *uMap; ownerPW = NULL; userPW = NULL; +#ifdef LIBPOPPLER_GLOBALPARAMS_IS_UNIQUE_PTR + globalParams = std::make_unique(); +#else #ifdef LIBPOPPLER_GLOBALPARAMS_CSTOR_HAS_PARAM globalParams = new GlobalParams(0); #else globalParams = new GlobalParams(); #endif +#endif uMap = globalParams->getTextEncoding(); //const char *filename = argv[1];