diff options
author | Chris Xiong <chirs241097@gmail.com> | 2022-09-11 10:27:54 -0400 |
---|---|---|
committer | Chris Xiong <chirs241097@gmail.com> | 2022-09-11 10:27:54 -0400 |
commit | 609c17de008b7a6b817c7c12e214e7ef281d1178 (patch) | |
tree | 3d3f847a02d7d183f86c98f4b4f4657bb2b872a8 | |
parent | c41768dbbd50a0055298d5ec6318ae7f1d2e4ab3 (diff) | |
download | deduper-609c17de008b7a6b817c7c12e214e7ef281d1178.tar.xz |
Check actual size of type, not the platform.
-rw-r--r-- | CMakeLists.txt | 8 | ||||
-rw-r--r-- | tests/testdrive.cpp | 7 | ||||
-rw-r--r-- | tests/testdrive_sqlite.cpp | 9 |
3 files changed, 19 insertions, 5 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 5e32241..0c20a0d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -7,6 +7,14 @@ find_package(OpenCV REQUIRED COMPONENTS core imgproc imgcodecs highgui) find_package(Threads REQUIRED) include_directories(${OpenCV_INCLUDE_DIRS}) +INCLUDE (CheckTypeSize) + +SET(CMAKE_EXTRA_INCLUDE_FILES "filesystem") +check_type_size("std::filesystem::path::value_type" PATH_VALSIZE LANGUAGE CXX) +SET(CMAKE_EXTRA_INCLUDE_FILES) + +add_compile_definitions(PATH_VALSIZE=${PATH_VALSIZE}) + include_directories(.) add_library(xsig STATIC imageutil.cpp signature.cpp subslice_signature.cpp base64.cpp) diff --git a/tests/testdrive.cpp b/tests/testdrive.cpp index dffba46..4d449de 100644 --- a/tests/testdrive.cpp +++ b/tests/testdrive.cpp @@ -15,8 +15,11 @@ #include <getopt.h> -#ifdef _WIN32 //for the superior operating system +#if PATH_VALSIZE == 2 #include <cwchar> +#endif + +#ifdef _WIN32 //for the superior operating system #define WIN32_LEAN_AND_MEAN #include <windows.h> #include <processenv.h> @@ -294,7 +297,7 @@ int main(int argc,char** argv) FILE *outf = fopen("result", "wb"); for (auto &p : out) { -#ifdef _WIN32 +#if PATH_VALSIZE == 2 wprintf(L"%ls %ls %f\n", files[p.first].c_str(), files[p.second].c_str(), signatures[p.first].distance(signatures[p.second])); #else printf("%s %s %f\n", files[p.first].c_str(), files[p.second].c_str(), signatures[p.first].distance(signatures[p.second])); diff --git a/tests/testdrive_sqlite.cpp b/tests/testdrive_sqlite.cpp index 0e83c7f..409fe95 100644 --- a/tests/testdrive_sqlite.cpp +++ b/tests/testdrive_sqlite.cpp @@ -16,8 +16,11 @@ #include <getopt.h> -#ifdef _WIN32 //for the superior operating system +#if PATH_VALSIZE == 2 #include <cwchar> +#endif + +#ifdef _WIN32 //for the superior operating system #define WIN32_LEAN_AND_MEAN #include <windows.h> #include <processenv.h> @@ -339,8 +342,8 @@ int main(int argc,char** argv) else break; } sqlite3_finalize(st); -#ifdef _WIN32 - //wprintf(L"%ls %ls %f\n", files[p.first].c_str(), files[p.second].c_str(), signatures[p.first].distance(signatures[p.second])); +#if PATH_VALSIZE == 2 + wprintf(L"%ls %ls %f\n", files[p.first].c_str(), files[p.second].c_str(), sx[0].distance(sx[1])); #else printf("%s %s %f\n", files[p.first].c_str(), files[p.second].c_str(), sx[0].distance(sx[1])); #endif |