aboutsummaryrefslogtreecommitdiff
path: root/ports/cppfs
diff options
context:
space:
mode:
authorGriffin Downs <35574547+grdowns@users.noreply.github.com>2019-04-12 02:30:59 -0700
committerGitHub <noreply@github.com>2019-04-12 02:30:59 -0700
commit0e000644053015b7f7a0985e14f0bd384c847d17 (patch)
tree7e456fd12b3bf281b28587338f1650017c8b32ab /ports/cppfs
parent93ce6b4f27602cd18f4327c2cfd84093d472b8bb (diff)
parent39ba5b2b30c9f7b49e777a62093cdd49d05b53a9 (diff)
downloadvcpkg-0e000644053015b7f7a0985e14f0bd384c847d17.tar.gz
vcpkg-0e000644053015b7f7a0985e14f0bd384c847d17.zip
Merge branch 'master' into master
Diffstat (limited to 'ports/cppfs')
-rw-r--r--ports/cppfs/CONTROL7
-rw-r--r--ports/cppfs/LibCrypto-fix.patch53
-rw-r--r--ports/cppfs/cmake-export-fix.patch46
-rw-r--r--ports/cppfs/portfile.cmake50
4 files changed, 156 insertions, 0 deletions
diff --git a/ports/cppfs/CONTROL b/ports/cppfs/CONTROL
new file mode 100644
index 000000000..30ec75f00
--- /dev/null
+++ b/ports/cppfs/CONTROL
@@ -0,0 +1,7 @@
+Source: cppfs
+Version: 1.2.0
+Description: Cross-platform C++ file system library supporting multiple backends
+
+Feature: ssh
+Description: SSH backend for cppfs
+Build-Depends: libssh2,openssl,zlib
diff --git a/ports/cppfs/LibCrypto-fix.patch b/ports/cppfs/LibCrypto-fix.patch
new file mode 100644
index 000000000..144d2aabe
--- /dev/null
+++ b/ports/cppfs/LibCrypto-fix.patch
@@ -0,0 +1,53 @@
+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,18 +4,18 @@
+ #
+
+ find_package(LibSSH2)
+-find_package(LibCrypto)
++# find_package(LibCrypto)
+ find_package(ZLIB)
+ find_package(OpenSSL)
+
+-if (LibSSH2_FOUND AND LibCrypto_FOUND AND ZLIB_FOUND AND OpenSSL_FOUND)
++if (LibSSH2_FOUND AND ZLIB_FOUND AND OpenSSL_FOUND)
+ set(SSH_DEPS_MET TRUE)
+ else()
+ set(SSH_DEPS_MET FALSE)
+ endif()
+
+ if (OPTION_BUILD_SSH_BACKEND AND NOT SSH_DEPS_MET)
+- message(FATAL_ERROR "Requested to build ssh module but not all dependencies are found! LibSSH2: ${LibSSH2_FOUND}, LibCrypto: ${LibCrypto_FOUND}, ZLIB: ${ZLIB_FOUND}, OpenSSL: ${OpenSSL_FOUND}")
++ message(FATAL_ERROR "Requested to build ssh module but not all dependencies are found! LibSSH2: ${LibSSH2_FOUND}, ZLIB: ${ZLIB_FOUND}, OpenSSL: ${OpenSSL_FOUND}")
+ endif()
+
+
+@@ -207,10 +207,9 @@ target_link_libraries(${target}
+ if (OPTION_BUILD_SSH_BACKEND)
+ target_link_libraries(${target}
+ PRIVATE
+- ${OPENSSL_LIBRARIES}
+- ${LIBSSH2_LIBRARY}
+- ${LIBCRYPTO_LIBRARY}
+- ${ZLIB_LIBRARY}
++ Libssh2::libssh2
++ OpenSSL::SSL OpenSSL::Crypto
++ ZLIB::ZLIB
+ )
+
+ if("${CMAKE_SYSTEM_NAME}" MATCHES "Windows")
diff --git a/ports/cppfs/cmake-export-fix.patch b/ports/cppfs/cmake-export-fix.patch
new file mode 100644
index 000000000..344700002
--- /dev/null
+++ b/ports/cppfs/cmake-export-fix.patch
@@ -0,0 +1,46 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index ea9fd15..c62c6fd 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -124,7 +124,7 @@ endif()
+ if((UNIX AND SYSTEM_DIR_INSTALL) OR OPTION_FORCE_SYSTEM_DIR_INSTALL)
+ # Install into the system (/usr/bin or /usr/local/bin)
+ set(INSTALL_ROOT "share/${project}") # /usr/[local]/share/<project>
+- set(INSTALL_CMAKE "share/${project}/cmake") # /usr/[local]/share/<project>/cmake
++ set(INSTALL_CMAKE "share/${project}") # /usr/[local]/share/<project>
+ set(INSTALL_EXAMPLES "share/${project}") # /usr/[local]/share/<project>
+ set(INSTALL_DATA "share/${project}") # /usr/[local]/share/<project>
+ set(INSTALL_BIN "bin") # /usr/[local]/bin
+@@ -183,7 +183,7 @@ add_subdirectory(deploy)
+ install(FILES "${PROJECT_BINARY_DIR}/VERSION" DESTINATION ${INSTALL_ROOT} COMPONENT runtime)
+
+ # Install cmake find script for the project
+-install(FILES ${META_PROJECT_NAME}-config.cmake DESTINATION ${INSTALL_ROOT} COMPONENT dev)
++# install(FILES ${META_PROJECT_NAME}-config.cmake DESTINATION ${INSTALL_ROOT} COMPONENT dev)
+
+ # Install the project meta files
+ install(FILES AUTHORS DESTINATION ${INSTALL_ROOT} COMPONENT runtime)
+diff --git a/source/cppfs/CMakeLists.txt b/source/cppfs/CMakeLists.txt
+index aa37eda..e8a59e0 100644
+--- a/source/cppfs/CMakeLists.txt
++++ b/source/cppfs/CMakeLists.txt
+@@ -283,7 +283,7 @@ perform_health_checks(
+
+ # Library
+ install(TARGETS ${target}
+- EXPORT "${target}-export" COMPONENT dev
++ EXPORT "${target}-config" COMPONENT dev
+ RUNTIME DESTINATION ${INSTALL_BIN} COMPONENT runtime
+ LIBRARY DESTINATION ${INSTALL_SHARED} COMPONENT runtime
+ ARCHIVE DESTINATION ${INSTALL_LIB} COMPONENT dev
+@@ -302,8 +302,8 @@ install(DIRECTORY
+ )
+
+ # CMake config
+-install(EXPORT ${target}-export
++install(EXPORT ${target}-config
+ NAMESPACE ${META_PROJECT_NAME}::
+- DESTINATION ${INSTALL_CMAKE}/${target}
++ DESTINATION ${INSTALL_CMAKE}
+ COMPONENT dev
+ )
diff --git a/ports/cppfs/portfile.cmake b/ports/cppfs/portfile.cmake
new file mode 100644
index 000000000..33ea7e605
--- /dev/null
+++ b/ports/cppfs/portfile.cmake
@@ -0,0 +1,50 @@
+include(vcpkg_common_functions)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO cginternals/cppfs
+ REF v1.2.0
+ SHA512 2e831978dd87bd40d14e5b6f5089f3a962481d41959bfd62db543339d05e306315a1167c3bc06b372517357cc314f7d06ac19605f9a2d5b4edddc9a1f3fa8d03
+ HEAD_REF master
+ PATCHES
+ LibCrypto-fix.patch
+ cmake-export-fix.patch
+)
+
+if(${TARGET_TRIPLET} MATCHES "uwp")
+ message(FATAL_ERROR "cppfs does not support uwp")
+endif()
+
+set(SHARED_LIBS Off)
+if(${VCPKG_LIBRARY_LINKAGE} STREQUAL "dynamic")
+ set(SHARED_LIBS On)
+endif()
+
+set(SSH_BACKEND OFF)
+if("ssh" IN_LIST FEATURES)
+ set(SSH_BACKEND ON)
+ if("${VCPKG_TARGET_ARCHITECTURE}" STREQUAL "arm64")
+ message(FATAL_ERROR "SSH backend of cppfs does not support arm64.")
+ endif()
+endif()
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS
+ -DOPTION_BUILD_SSH_BACKEND=${SSH_BACKEND}
+ -DOPTION_BUILD_TESTS=Off
+ -DBUILD_SHARED_LIBS=${SHARED_LIBS}
+ -DOPTION_FORCE_SYSTEM_DIR_INSTALL=On
+)
+
+vcpkg_install_cmake()
+vcpkg_copy_pdbs()
+
+vcpkg_fixup_cmake_targets()
+
+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)
+
+vcpkg_test_cmake(PACKAGE_NAME cppfs)