diff options
Diffstat (limited to 'vcpkg/ports/snappy')
| -rw-r--r-- | vcpkg/ports/snappy/no-werror.patch | 11 | ||||
| -rw-r--r-- | vcpkg/ports/snappy/pkgconfig.diff | 23 | ||||
| -rw-r--r-- | vcpkg/ports/snappy/portfile.cmake | 43 | ||||
| -rw-r--r-- | vcpkg/ports/snappy/rtti.diff | 27 | ||||
| -rw-r--r-- | vcpkg/ports/snappy/snappy.pc.in | 11 | ||||
| -rw-r--r-- | vcpkg/ports/snappy/usage | 13 | ||||
| -rw-r--r-- | vcpkg/ports/snappy/vcpkg.json | 23 |
7 files changed, 151 insertions, 0 deletions
diff --git a/vcpkg/ports/snappy/no-werror.patch b/vcpkg/ports/snappy/no-werror.patch new file mode 100644 index 0000000..4315fef --- /dev/null +++ b/vcpkg/ports/snappy/no-werror.patch @@ -0,0 +1,11 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -68,7 +68,7 @@ + + # Use -Werror for clang only. + if(CMAKE_CXX_COMPILER_ID MATCHES "Clang") +- if(NOT CMAKE_CXX_FLAGS MATCHES "-Werror") ++ if(0) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror") + endif(NOT CMAKE_CXX_FLAGS MATCHES "-Werror") + endif(CMAKE_CXX_COMPILER_ID MATCHES "Clang") diff --git a/vcpkg/ports/snappy/pkgconfig.diff b/vcpkg/ports/snappy/pkgconfig.diff new file mode 100644 index 0000000..d3fc647 --- /dev/null +++ b/vcpkg/ports/snappy/pkgconfig.diff @@ -0,0 +1,23 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index c3062e2..05477e9 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -417,4 +417,18 @@ if(SNAPPY_INSTALL) + "${PROJECT_BINARY_DIR}/cmake/${PROJECT_NAME}ConfigVersion.cmake" + DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}" + ) ++ ++ cmake_policy(SET CMP0057 NEW) ++ set(LIBS_PRIVATE "") ++ foreach(lib IN LISTS CMAKE_CXX_IMPLICIT_LINK_LIBRARIES) ++ if(lib IN_LIST CMAKE_C_IMPLICIT_LINK_LIBRARIES) ++ continue() ++ elseif(EXISTS "${lib}") ++ string(APPEND LIBS_PRIVATE " ${CMAKE_LINK_LIBRARY_FILE_FLAG}${lib}") ++ else() ++ string(APPEND LIBS_PRIVATE " ${CMAKE_LINK_LIBRARY_FLAG}${lib}") ++ endif() ++ endforeach() ++ configure_file(snappy.pc.in "${CMAKE_CURRENT_BINARY_DIR}/snappy.pc" @ONLY) ++ install(FILES "${CMAKE_CURRENT_BINARY_DIR}/snappy.pc" DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig") + endif(SNAPPY_INSTALL) diff --git a/vcpkg/ports/snappy/portfile.cmake b/vcpkg/ports/snappy/portfile.cmake new file mode 100644 index 0000000..d045106 --- /dev/null +++ b/vcpkg/ports/snappy/portfile.cmake @@ -0,0 +1,43 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO google/snappy + REF ${VERSION} + SHA512 0c1e1019e1bec9281f9877996d896e59e1533456130143224acb9cbfc35c1b0dd9de0a76e4a36494844d9ec58c295eed8c50bdf6dbabe47cf679652eb24b1281 + HEAD_REF master + PATCHES + no-werror.patch + pkgconfig.diff + rtti.diff +) +file(COPY "${CURRENT_PORT_DIR}/snappy.pc.in" DESTINATION "${SOURCE_PATH}") + +vcpkg_check_features(OUT_FEATURE_OPTIONS options + FEATURES + rtti SNAPPY_WITH_RTTI +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + ${options} + -DSNAPPY_BUILD_TESTS=OFF + -DSNAPPY_BUILD_BENCHMARKS=OFF + + # These variables can be overriden in a custom triplet, see usage file + -DSNAPPY_HAVE_SSSE3=OFF + -DSNAPPY_HAVE_X86_CRC32=OFF + -DSNAPPY_HAVE_NEON_CRC32=OFF + -DSNAPPY_HAVE_BMI2=OFF + -DSNAPPY_HAVE_NEON=OFF +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/Snappy) +vcpkg_copy_pdbs() +vcpkg_fixup_pkgconfig() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +file(COPY "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") diff --git a/vcpkg/ports/snappy/rtti.diff b/vcpkg/ports/snappy/rtti.diff new file mode 100644 index 0000000..2784062 --- /dev/null +++ b/vcpkg/ports/snappy/rtti.diff @@ -0,0 +1,27 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index cd71a47..d92aed0 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -53,8 +53,10 @@ if(MSVC) + add_definitions(-D_HAS_EXCEPTIONS=0) + + # Disable RTTI. ++ if(NOT SNAPPY_WITH_RTTI) + string(REGEX REPLACE "/GR" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /GR-") ++ endif() + else(MSVC) + # Use -Wall for clang and gcc. + if(NOT CMAKE_CXX_FLAGS MATCHES "-Wall") +@@ -82,9 +84,11 @@ else(MSVC) + string(REGEX REPLACE "-fexceptions" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-exceptions") + ++ if(NOT SNAPPY_WITH_RTTI) + # Disable RTTI. + string(REGEX REPLACE "-frtti" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-rtti") ++ endif() + endif(MSVC) + + # BUILD_SHARED_LIBS is a standard CMake variable, but we declare it here to make diff --git a/vcpkg/ports/snappy/snappy.pc.in b/vcpkg/ports/snappy/snappy.pc.in new file mode 100644 index 0000000..a0b039b --- /dev/null +++ b/vcpkg/ports/snappy/snappy.pc.in @@ -0,0 +1,11 @@ +prefix=${pcfiledir}/../..
+exec_prefix=${prefix}
+libdir=${prefix}/lib
+includedir=${prefix}/include
+
+Name: snappy
+Description: A fast compressor/decompressor.
+Version: @PROJECT_VERSION@
+Libs: -L${libdir} -lsnappy
+Cflags: -I${includedir}
+Libs.private: @LIBS_PRIVATE@
\ No newline at end of file diff --git a/vcpkg/ports/snappy/usage b/vcpkg/ports/snappy/usage new file mode 100644 index 0000000..6411697 --- /dev/null +++ b/vcpkg/ports/snappy/usage @@ -0,0 +1,13 @@ +snappy provides CMake targets:
+
+ find_package(Snappy CONFIG REQUIRED)
+ target_link_libraries(main PRIVATE Snappy::snappy)
+
+Optimizations based on hardware support are disabled by default.
+You can enable them by adding corresponding flags to VCPKG_CMAKE_CONFIGURE_OPTIONS inside a custom triplet file, for example:
+
+ if("${PORT}" STREQUAL "snappy")
+ list(APPEND VCPKG_CMAKE_CONFIGURE_OPTIONS -DSNAPPY_HAVE_SSSE3=ON -DSNAPPY_HAVE_BMI2=ON)
+ endif()
+
+For a full list of possible options, see project's root CMakeLists.txt.
diff --git a/vcpkg/ports/snappy/vcpkg.json b/vcpkg/ports/snappy/vcpkg.json new file mode 100644 index 0000000..a9ae3c9 --- /dev/null +++ b/vcpkg/ports/snappy/vcpkg.json @@ -0,0 +1,23 @@ +{ + "name": "snappy", + "version": "1.2.2", + "port-version": 1, + "description": "A fast compressor/decompressor.", + "homepage": "https://github.com/google/snappy", + "license": null, + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "features": { + "rtti": { + "description": "Build with dynamic typeinfo." + } + } +} |