diff options
| author | Ethan Morgan <ethan@gweithio.com> | 2026-02-14 16:44:06 +0000 |
|---|---|---|
| committer | Ethan Morgan <ethan@gweithio.com> | 2026-02-14 16:44:06 +0000 |
| commit | 54409423f767d8b1cf30cb7d0efca6b4ca138823 (patch) | |
| tree | d915ac7828703ce4b963efdd9728a1777ba18c1e /vcpkg/ports/cppfs | |
Diffstat (limited to 'vcpkg/ports/cppfs')
| -rw-r--r-- | vcpkg/ports/cppfs/portfile.cmake | 46 | ||||
| -rw-r--r-- | vcpkg/ports/cppfs/ssh-dependencies.diff | 44 | ||||
| -rw-r--r-- | vcpkg/ports/cppfs/vcpkg.json | 28 |
3 files changed, 118 insertions, 0 deletions
diff --git a/vcpkg/ports/cppfs/portfile.cmake b/vcpkg/ports/cppfs/portfile.cmake new file mode 100644 index 0000000..183069f --- /dev/null +++ b/vcpkg/ports/cppfs/portfile.cmake @@ -0,0 +1,46 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO cginternals/cppfs + REF 156d72e2cf0a9b12bdce369fc5b5d98fb5dffe2d # v1.3.0 + SHA512 da1e09f79d9e65e7676784f47196645aabe1e1284f0ea5e48e845a244f5d49f5ea4b032f9e2e38c8e6a29657ebe636c9b1c9a4601c4bbc7637e7f592c52a8961 + HEAD_REF master + PATCHES + ssh-dependencies.diff +) + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + ssh OPTION_BUILD_SSH_BACKEND + ssh CMAKE_REQUIRE_FIND_PACKAGE_LibSSH2 + ssh CMAKE_REQUIRE_FIND_PACKAGE_OpenSSL + ssh CMAKE_REQUIRE_FIND_PACKAGE_ZLIB +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DCMAKE_DISABLE_FIND_PACKAGE_cppcheck=ON + -DCMAKE_DISABLE_FIND_PACKAGE_clang_tidy=ON + -DOPTION_BUILD_TESTS=OFF + -DOPTION_FORCE_SYSTEM_DIR_INSTALL=ON + ${FEATURE_OPTIONS} +) + +vcpkg_cmake_install() +vcpkg_copy_pdbs() + +vcpkg_cmake_config_fixup(CONFIG_PATH "share/cppfs/cmake/cppfs") +# Overwriting original config +file(WRITE "${CURRENT_PACKAGES_DIR}/share/cppfs/cppfs-config.cmake" " +if(NOT \"${BUILD_SHARED_LIBS}\" AND \"${OPTION_BUILD_SSH_BACKEND}\") + include(CMakeFindDependencyMacro) + find_dependency(Libssh2 CONFIG) + find_dependency(OpenSSL) + find_dependency(ZLIB) +endif() +include(\"\${CMAKE_CURRENT_LIST_DIR}/cppfs-export.cmake\") +") + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/cppfs" RENAME copyright) diff --git a/vcpkg/ports/cppfs/ssh-dependencies.diff b/vcpkg/ports/cppfs/ssh-dependencies.diff new file mode 100644 index 0000000..24cd8ef --- /dev/null +++ b/vcpkg/ports/cppfs/ssh-dependencies.diff @@ -0,0 +1,44 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index ea9fd15..af63d1e 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -7,7 +7,7 @@ + cmake_minimum_required(VERSION 3.0 FATAL_ERROR) + + # Include cmake modules +-list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake") ++# list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake") + + include(GenerateExportHeader) + +diff --git a/source/cppfs/CMakeLists.txt b/source/cppfs/CMakeLists.txt +index aa37eda..d29176a 100644 +--- a/source/cppfs/CMakeLists.txt ++++ b/source/cppfs/CMakeLists.txt +@@ -4,9 +4,9 @@ + # + +-find_package(LibSSH2) +-find_package(LibCrypto) ++find_package(LibSSH2 NAMES libssh2) + find_package(ZLIB) + find_package(OpenSSL) ++set(LibCrypto_FOUND "${OpenSSL_FOUND}") + + if (LibSSH2_FOUND AND LibCrypto_FOUND AND ZLIB_FOUND AND OpenSSL_FOUND) + set(SSH_DEPS_MET TRUE) +@@ -207,10 +207,10 @@ target_link_libraries(${target} + if (OPTION_BUILD_SSH_BACKEND) + target_link_libraries(${target} + PRIVATE +- ${OPENSSL_LIBRARIES} +- ${LIBSSH2_LIBRARY} +- ${LIBCRYPTO_LIBRARY} +- ${ZLIB_LIBRARY} ++ OpenSSL::SSL ++ libssh2::libssh2 ++ OpenSSL::Crypto ++ ZLIB::ZLIB + ) + + if("${CMAKE_SYSTEM_NAME}" MATCHES "Windows") diff --git a/vcpkg/ports/cppfs/vcpkg.json b/vcpkg/ports/cppfs/vcpkg.json new file mode 100644 index 0000000..c9f6910 --- /dev/null +++ b/vcpkg/ports/cppfs/vcpkg.json @@ -0,0 +1,28 @@ +{ + "name": "cppfs", + "version": "1.3.0", + "port-version": 4, + "description": "Cross-platform C++ file system library supporting multiple backends", + "license": "MIT", + "supports": "!uwp", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "features": { + "ssh": { + "description": "SSH backend for cppfs", + "dependencies": [ + "libssh2", + "openssl", + "zlib" + ] + } + } +} |