diff --git a/.github/workflows/actions/setup_windows/action.yaml b/.github/workflows/actions/setup_windows/action.yaml index 1a8093f6..3c7b4467 100644 --- a/.github/workflows/actions/setup_windows/action.yaml +++ b/.github/workflows/actions/setup_windows/action.yaml @@ -7,8 +7,8 @@ runs: shell: bash run: | choco install -y ninja wget - wget https://github.com/dokan-dev/dokany/releases/download/v1.5.1.1000/Dokan_x64.msi - if [ $(sha512sum Dokan_x64.msi | awk '{print $1;}') == "492f4560c1505ada9d5c79ad0c098159af473de7567048e7dc48559328c9970641cd5e2eb8f749ce04918a9a0bb1a0bd943915abd686ea8824191c0747fafe1f" ]; then + wget https://github.com/dokan-dev/dokany/releases/download/v2.0.6.1000/Dokan_x64.msi + if [ $(sha512sum Dokan_x64.msi | awk '{print $1;}') == "761b4c9f354f9e540645947e135e84e9f30cbf527ca72a49bfb74cf9be022fae185ce9bbd5214bbfde929e12d8f5be0e57e13b09a4b18e706761fc5b2b856a61" ]; then echo Correct sha512sum else echo Wrong sha512sum diff --git a/.github/workflows/main.yaml b/.github/workflows/main.yaml index 9f25bebf..c70c96b5 100644 --- a/.github/workflows/main.yaml +++ b/.github/workflows/main.yaml @@ -632,7 +632,7 @@ jobs: # TODO CMAKE_SYSTEM_VERSION is probably not needed anymore mkdir build cd build - cmake .. -G "Visual Studio 16 2019" -DCMAKE_BUILD_TYPE=${{matrix.build_type}} -DBUILD_TESTING=on -DDOKAN_PATH="C:/Program Files/Dokan/DokanLibrary-1.5.1" -A ${{matrix.arch}} -DCMAKE_SYSTEM_VERSION="10.0.18362.0" + cmake .. -G "Visual Studio 16 2019" -DCMAKE_BUILD_TYPE=${{matrix.build_type}} -DBUILD_TESTING=on -DDOKAN_PATH="C:/Program Files/Dokan/DokanLibrary-2.0.6" -A ${{matrix.arch}} -DCMAKE_SYSTEM_VERSION="10.0.18362.0" cmake --build . --config ${{matrix.build_type}} # - name: Show ccache statistics # shell: bash diff --git a/CMakeLists.txt b/CMakeLists.txt index 33e69792..20544232 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -26,7 +26,7 @@ option(CLANG_TIDY_WARNINGS_AS_ERRORS "treat clang-tidy warnings as errors" OFF) set(DEPENDENCY_CONFIG "cmake-utils/DependenciesFromConan.cmake" CACHE FILEPATH "cmake configuration file defining how to get dependencies") if (MSVC) - option(DOKAN_PATH "Location of the Dokan library, e.g. C:\\Program Files\\Dokan\\DokanLibrary-1.1.0" "") + option(DOKAN_PATH "Location of the Dokan library, e.g. C:\\Program Files\\Dokan\\DokanLibrary-2.0.6" "") endif() # Default value is to build in release mode but with debug symbols diff --git a/CMakeSettings.json b/CMakeSettings.json index 5ccf11fd..9f96d914 100644 --- a/CMakeSettings.json +++ b/CMakeSettings.json @@ -7,7 +7,7 @@ "inheritEnvironments": [ "msvc_x86" ], "buildRoot": "${env.USERPROFILE}\\CMakeBuilds\\${workspaceHash}\\build\\${name}", "installRoot": "${env.USERPROFILE}\\CMakeBuilds\\${workspaceHash}\\install\\${name}", - "cmakeCommandArgs": "-DBUILD_TESTING=on -DDOKAN_PATH=\"C:\\Program Files\\Dokan\\Dokan Library-1.5.1\"", + "cmakeCommandArgs": "-DBUILD_TESTING=on -DDOKAN_PATH=\"C:\\Program Files\\Dokan\\Dokan Library-2.0.6\"", "buildCommandArgs": "-v", "ctestCommandArgs": "" }, @@ -18,7 +18,7 @@ "inheritEnvironments": [ "msvc_x86" ], "buildRoot": "${env.USERPROFILE}\\CMakeBuilds\\${workspaceHash}\\build\\${name}", "installRoot": "${env.USERPROFILE}\\CMakeBuilds\\${workspaceHash}\\install\\${name}", - "cmakeCommandArgs": "-DBUILD_TESTING=on -DDOKAN_PATH=\"C:\\Program Files\\Dokan\\Dokan Library-1.5.1\"", + "cmakeCommandArgs": "-DBUILD_TESTING=on -DDOKAN_PATH=\"C:\\Program Files\\Dokan\\Dokan Library-2.0.6\"", "buildCommandArgs": "-v", "ctestCommandArgs": "" }, @@ -29,7 +29,7 @@ "inheritEnvironments": [ "msvc_x64_x64" ], "buildRoot": "${env.USERPROFILE}\\CMakeBuilds\\${workspaceHash}\\build\\${name}", "installRoot": "${env.USERPROFILE}\\CMakeBuilds\\${workspaceHash}\\install\\${name}", - "cmakeCommandArgs": "-DBUILD_TESTING=on -DDOKAN_PATH=\"C:\\Program Files\\Dokan\\Dokan Library-1.5.1\"", + "cmakeCommandArgs": "-DBUILD_TESTING=on -DDOKAN_PATH=\"C:\\Program Files\\Dokan\\Dokan Library-2.0.6\"", "buildCommandArgs": "-v", "ctestCommandArgs": "" }, @@ -40,7 +40,7 @@ "inheritEnvironments": [ "msvc_x64_x64" ], "buildRoot": "${env.USERPROFILE}\\CMakeBuilds\\${workspaceHash}\\build\\${name}", "installRoot": "${env.USERPROFILE}\\CMakeBuilds\\${workspaceHash}\\install\\${name}", - "cmakeCommandArgs": "-DBUILD_TESTING=on -DDOKAN_PATH=\"C:\\Program Files\\Dokan\\Dokan Library-1.5.1\"", + "cmakeCommandArgs": "-DBUILD_TESTING=on -DDOKAN_PATH=\"C:\\Program Files\\Dokan\\Dokan Library-2.0.6\"", "buildCommandArgs": "-v", "ctestCommandArgs": "" } diff --git a/ChangeLog.txt b/ChangeLog.txt index cc370798..ebdaed44 100644 --- a/ChangeLog.txt +++ b/ChangeLog.txt @@ -3,7 +3,7 @@ Version 0.12.0 (unreleased) * Added a man page for `cryfs-unmount` * Fixed small inaccuracy in calculation of free space in statvfs * Updated dependencies to - * DokanY 1.5.1.1000 + * DokanY 2.0.6.1000 * range-v3/0.12.0 * boost 1.79 diff --git a/README.md b/README.md index d2a8bc2e..e889f851 100644 --- a/README.md +++ b/README.md @@ -136,11 +136,11 @@ Building on Windows (experimental) ---------------------------------- 1. Install conan. If you want to use "pip install conan", you may have to install Python first. -2. Install DokanY 1.5.1.1000. Other versions may not work. +2. Install DokanY 2.0.6.1000. Other versions may not work. 3. Run CMake to generate Visual Studio 2019 project files (this may not be necessary, but it makes sure everything works as expected and you can see potential errors happening during this step) $ mkdir build && cd build -$ cmake .. -G "Visual Studio 16 2019" -DDOKAN_PATH=[dokan library location, e.g. "C:\Program Files\Dokan\DokanLibrary-1.5.1"] +$ cmake .. -G "Visual Studio 16 2019" -DDOKAN_PATH=[dokan library location, e.g. "C:\Program Files\Dokan\DokanLibrary-2.0.6"] 4. Potentially modify CMakeSettings.json file to fit your needs 5. Open the cryfs source folder with Visual Studio 2019, or alternatively build on command line using diff --git a/src/fspp/fuse/CMakeLists.txt b/src/fspp/fuse/CMakeLists.txt index 99a57cad..e05def02 100644 --- a/src/fspp/fuse/CMakeLists.txt +++ b/src/fspp/fuse/CMakeLists.txt @@ -27,11 +27,11 @@ if(${CMAKE_SYSTEM_NAME} MATCHES "Windows") endif() target_include_directories(${PROJECT_NAME} PUBLIC "${DOKAN_PATH}/include") - target_link_libraries(${PROJECT_NAME} PUBLIC "${DOKAN_LIB_PATH}/lib/dokan1.lib") - #target_link_libraries(${PROJECT_NAME} PUBLIC "${DOKAN_LIB_PATH}/lib/dokannp1.lib") - target_link_libraries(${PROJECT_NAME} PUBLIC "${DOKAN_LIB_PATH}/lib/dokanfuse1.lib") + target_link_libraries(${PROJECT_NAME} PUBLIC "${DOKAN_LIB_PATH}/lib/dokan2.lib") + #target_link_libraries(${PROJECT_NAME} PUBLIC "${DOKAN_LIB_PATH}/lib/dokannp2.lib") + target_link_libraries(${PROJECT_NAME} PUBLIC "${DOKAN_LIB_PATH}/lib/dokanfuse2.lib") - install(FILES "${DOKAN_LIB_PATH}/dokan1.dll" "${DOKAN_LIB_PATH}/dokanfuse1.dll" + install(FILES "${DOKAN_LIB_PATH}/dokan2.dll" "${DOKAN_LIB_PATH}/dokanfuse2.dll" DESTINATION "${CMAKE_INSTALL_BINDIR}" )