aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/cppfs
diff options
context:
space:
mode:
Diffstat (limited to 'vcpkg/ports/cppfs')
-rw-r--r--vcpkg/ports/cppfs/portfile.cmake46
-rw-r--r--vcpkg/ports/cppfs/ssh-dependencies.diff44
-rw-r--r--vcpkg/ports/cppfs/vcpkg.json28
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"
+ ]
+ }
+ }
+}