add support for gcc and clang 7
Uses std::experimental::filesystem Signed-off-by: Rosen Penev <rosenp@gmail.com>
This commit is contained in:
parent
e19ec79f98
commit
77834807c2
@ -17,16 +17,15 @@
|
||||
#include "types.hpp"
|
||||
#include "xmp_exiv2.hpp"
|
||||
|
||||
// + standard includes
|
||||
#include <sys/stat.h> // for stat()
|
||||
#include <sys/types.h> // for stat()
|
||||
|
||||
#include <filesystem>
|
||||
#include <fstream>
|
||||
#include <iomanip>
|
||||
#include <iostream>
|
||||
#include <mutex>
|
||||
#include <sstream>
|
||||
|
||||
// + standard includes
|
||||
#include <sys/stat.h> // for stat()
|
||||
#include <sys/types.h> // for stat()
|
||||
#ifdef EXV_HAVE_UNISTD_H
|
||||
#include <unistd.h> // for stat()
|
||||
#endif
|
||||
@ -46,7 +45,13 @@
|
||||
} while (false)
|
||||
#endif
|
||||
|
||||
#if __has_include(<filesystem>)
|
||||
#include <filesystem>
|
||||
namespace fs = std::filesystem;
|
||||
#else
|
||||
#include <experimental/filesystem>
|
||||
namespace fs = std::experimental::filesystem;
|
||||
#endif
|
||||
|
||||
// *****************************************************************************
|
||||
// local declarations
|
||||
|
||||
@ -5,9 +5,14 @@
|
||||
|
||||
#include <cstdio>
|
||||
#include <cstring>
|
||||
#include <filesystem>
|
||||
|
||||
#if __has_include(<filesystem>)
|
||||
#include <filesystem>
|
||||
namespace fs = std::filesystem;
|
||||
#else
|
||||
#include <experimental/filesystem>
|
||||
namespace fs = std::experimental::filesystem;
|
||||
#endif
|
||||
|
||||
namespace Util {
|
||||
// https://raw.githubusercontent.com/skeeto/getopt/master/getopt.h
|
||||
|
||||
@ -2,11 +2,16 @@
|
||||
|
||||
#include <exiv2/exiv2.hpp>
|
||||
|
||||
#include <filesystem>
|
||||
#include <fstream>
|
||||
#include <iostream>
|
||||
|
||||
#if __has_include(<filesystem>)
|
||||
#include <filesystem>
|
||||
namespace fs = std::filesystem;
|
||||
#else
|
||||
#include <experimental/filesystem>
|
||||
namespace fs = std::experimental::filesystem;
|
||||
#endif
|
||||
|
||||
int main(int argc, char* const argv[]) {
|
||||
Exiv2::XmpParser::initialize();
|
||||
|
||||
@ -19,7 +19,6 @@
|
||||
#include <cstdlib> // for alloc, realloc, free
|
||||
#include <cstring> // std::memcpy
|
||||
#include <ctime> // timestamp for the name of temporary file
|
||||
#include <filesystem>
|
||||
#include <fstream> // write the temporary file
|
||||
#include <iostream>
|
||||
|
||||
@ -43,7 +42,13 @@
|
||||
#include <windows.h>
|
||||
#endif
|
||||
|
||||
#if __has_include(<filesystem>)
|
||||
#include <filesystem>
|
||||
namespace fs = std::filesystem;
|
||||
#else
|
||||
#include <experimental/filesystem>
|
||||
namespace fs = std::experimental::filesystem;
|
||||
#endif
|
||||
|
||||
// *****************************************************************************
|
||||
// class member definitions
|
||||
|
||||
@ -12,15 +12,16 @@
|
||||
#include <algorithm>
|
||||
#include <array>
|
||||
#include <cstring>
|
||||
#include <filesystem>
|
||||
#include <sstream>
|
||||
#include <stdexcept>
|
||||
|
||||
#ifdef EXV_HAVE_UNISTD_H
|
||||
#include <unistd.h> // for stat()
|
||||
#endif
|
||||
|
||||
#if __has_include(<filesystem>)
|
||||
#include <filesystem>
|
||||
namespace fs = std::filesystem;
|
||||
#else
|
||||
#include <experimental/filesystem>
|
||||
namespace fs = std::experimental::filesystem;
|
||||
#endif
|
||||
|
||||
#if defined(_WIN32)
|
||||
// clang-format off
|
||||
@ -42,7 +43,10 @@ namespace fs = std::filesystem;
|
||||
#include <sys/sysctl.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/un.h>
|
||||
#include <unistd.h>
|
||||
#endif
|
||||
|
||||
#ifdef EXV_HAVE_UNISTD_H
|
||||
#include <unistd.h> // for stat()
|
||||
#endif
|
||||
|
||||
#ifndef _MAX_PATH
|
||||
@ -374,7 +378,7 @@ std::string getProcessPath() {
|
||||
ret = path;
|
||||
}
|
||||
#elif defined(__unix__)
|
||||
ret = std::filesystem::read_symlink("/proc/self/exe");
|
||||
ret = fs::read_symlink("/proc/self/exe");
|
||||
#endif
|
||||
|
||||
const size_t idxLastSeparator = ret.find_last_of(EXV_SEPARATOR_CHR);
|
||||
|
||||
@ -15,14 +15,16 @@
|
||||
#include "utils.hpp"
|
||||
|
||||
// + standard includes
|
||||
#ifdef EXV_ENABLE_INIH
|
||||
#include <INIReader.h>
|
||||
#endif
|
||||
#include <array>
|
||||
#include <filesystem>
|
||||
#include <iostream>
|
||||
|
||||
#if __has_include(<filesystem>)
|
||||
#include <filesystem>
|
||||
namespace fs = std::filesystem;
|
||||
#else
|
||||
#include <experimental/filesystem>
|
||||
namespace fs = std::experimental::filesystem;
|
||||
#endif
|
||||
|
||||
#if !defined(_WIN32)
|
||||
#include <pwd.h>
|
||||
@ -33,7 +35,10 @@ namespace fs = std::filesystem;
|
||||
#define CSIDL_PROFILE 40
|
||||
#endif
|
||||
#include <process.h>
|
||||
#endif
|
||||
|
||||
#ifdef EXV_ENABLE_INIH
|
||||
#include <INIReader.h>
|
||||
#endif
|
||||
|
||||
// *****************************************************************************
|
||||
|
||||
@ -5,10 +5,16 @@
|
||||
#include <error.hpp> // Need to include this header for the Exiv2::Error exception
|
||||
|
||||
#include <gtest/gtest.h>
|
||||
|
||||
#if __has_include(<filesystem>)
|
||||
#include <filesystem>
|
||||
namespace fs = std::filesystem;
|
||||
#else
|
||||
#include <experimental/filesystem>
|
||||
namespace fs = std::experimental::filesystem;
|
||||
#endif
|
||||
|
||||
using namespace Exiv2;
|
||||
namespace fs = std::filesystem;
|
||||
|
||||
TEST(TheImageFactory, createsInstancesForFewSupportedTypesInMemory) {
|
||||
// Note that the constructor of these Image classes take an 'create' argument
|
||||
|
||||
@ -7,13 +7,18 @@
|
||||
// Auxiliary headers
|
||||
#include <cerrno>
|
||||
#include <cstdio>
|
||||
#include <filesystem>
|
||||
#include <fstream>
|
||||
#include <stdexcept>
|
||||
|
||||
#include <gtest/gtest.h>
|
||||
|
||||
#if __has_include(<filesystem>)
|
||||
#include <filesystem>
|
||||
namespace fs = std::filesystem;
|
||||
#else
|
||||
#include <experimental/filesystem>
|
||||
namespace fs = std::experimental::filesystem;
|
||||
#endif
|
||||
|
||||
using namespace Exiv2;
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user