aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcodicodi <rob.ceglinski@gmail.com>2017-05-05 12:10:49 +0200
committercodicodi <rob.ceglinski@gmail.com>2017-05-05 12:10:49 +0200
commit4cc8c7c49311daa3677b036d8476a5ea55aefd46 (patch)
tree07e33b27422af59efbcff89f34f189dac88e90e6
parente6a47f5c6a2f6efef3d10fd1e2cbb9e123d5dbe7 (diff)
downloadvcpkg-4cc8c7c49311daa3677b036d8476a5ea55aefd46.tar.gz
vcpkg-4cc8c7c49311daa3677b036d8476a5ea55aefd46.zip
[zstd] update to 1.2.0
-rw-r--r--ports/zstd/CONTROL2
-rw-r--r--ports/zstd/fix-buildsystem.diff100
-rw-r--r--ports/zstd/portfile.cmake70
3 files changed, 137 insertions, 35 deletions
diff --git a/ports/zstd/CONTROL b/ports/zstd/CONTROL
index f92f610a4..19c1bd4e8 100644
--- a/ports/zstd/CONTROL
+++ b/ports/zstd/CONTROL
@@ -1,3 +1,3 @@
Source: zstd
-Version: 1.1.1
+Version: 1.2.0
Description: Zstandard - Fast real-time compression algorithm http://www.zstd.net
diff --git a/ports/zstd/fix-buildsystem.diff b/ports/zstd/fix-buildsystem.diff
new file mode 100644
index 000000000..b0dfaf09c
--- /dev/null
+++ b/ports/zstd/fix-buildsystem.diff
@@ -0,0 +1,100 @@
+diff --git a/build/cmake/CMakeLists.txt b/build/cmake/CMakeLists.txt
+index 5c4eca6..2f933e2 100644
+--- a/build/cmake/CMakeLists.txt
++++ b/build/cmake/CMakeLists.txt
+@@ -15,8 +15,8 @@ LIST(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/CMakeModules")
+ #-----------------------------------------------------------------------------
+ # Add extra compilation flags
+ #-----------------------------------------------------------------------------
+-INCLUDE(AddZstdCompilationFlags)
+-ADD_ZSTD_COMPILATION_FLAGS()
++#INCLUDE(AddZstdCompilationFlags)
++#ADD_ZSTD_COMPILATION_FLAGS() Combination of flags set there makes no sense & triggers compiler errors in release
+
+ #-----------------------------------------------------------------------------
+ # Options
+diff --git a/build/cmake/lib/CMakeLists.txt b/build/cmake/lib/CMakeLists.txt
+index 429d494..4c13057 100644
+--- a/build/cmake/lib/CMakeLists.txt
++++ b/build/cmake/lib/CMakeLists.txt
+@@ -90,37 +90,34 @@ IF (MSVC)
+ ENDIF (MSVC)
+
+ # Split project to static and shared libraries build
+-ADD_LIBRARY(libzstd_shared SHARED ${Sources} ${Headers} ${PlatformDependResources})
++IF (ZSTD_BUILD_SHARED)
++ ADD_LIBRARY(libzstd_shared SHARED ${Sources} ${Headers} ${PlatformDependResources})
++ENDIF(ZSTD_BUILD_SHARED)
+ IF (ZSTD_BUILD_STATIC)
+ ADD_LIBRARY(libzstd_static STATIC ${Sources} ${Headers})
+ ENDIF (ZSTD_BUILD_STATIC)
+
+ # Add specific compile definitions for MSVC project
+ IF (MSVC)
+- SET_PROPERTY(TARGET libzstd_shared APPEND PROPERTY COMPILE_DEFINITIONS "ZSTD_DLL_EXPORT=1;ZSTD_HEAPMODE=0;_CONSOLE;_CRT_SECURE_NO_WARNINGS")
++ IF(ZSTD_BUILD_SHARED)
++ SET_PROPERTY(TARGET libzstd_shared APPEND PROPERTY COMPILE_DEFINITIONS "ZSTD_DLL_EXPORT=1;ZSTD_HEAPMODE=0;_CONSOLE;_CRT_SECURE_NO_WARNINGS")
++ ENDIF(ZSTD_BUILD_SHARED)
+ IF (ZSTD_BUILD_STATIC)
+ SET_PROPERTY(TARGET libzstd_static APPEND PROPERTY COMPILE_DEFINITIONS "ZSTD_HEAPMODE=0;_CRT_SECURE_NO_WARNINGS")
+ ENDIF (ZSTD_BUILD_STATIC)
+ ENDIF (MSVC)
+
+ # Define library base name
+-IF (MSVC)
+-
+- IF (CMAKE_SIZEOF_VOID_P MATCHES "8")
+- SET(LIBRARY_BASE_NAME "zstdlib_x64")
+- ELSE ()
+- SET(LIBRARY_BASE_NAME "zstdlib_x86")
+- ENDIF (CMAKE_SIZEOF_VOID_P MATCHES "8")
+-ELSE ()
+- SET(LIBRARY_BASE_NAME zstd)
+-ENDIF (MSVC)
++SET(LIBRARY_BASE_NAME zstd)
+
+ # Define static and shared library names
+-SET_TARGET_PROPERTIES(
+- libzstd_shared
+- PROPERTIES
+- OUTPUT_NAME ${LIBRARY_BASE_NAME}
+- SOVERSION ${LIBVER_MAJOR}.${LIBVER_MINOR}.${LIBVER_RELEASE})
++IF(ZSTD_BUILD_SHARED)
++ SET_TARGET_PROPERTIES(
++ libzstd_shared
++ PROPERTIES
++ OUTPUT_NAME ${LIBRARY_BASE_NAME}
++ SOVERSION ${LIBVER_MAJOR}.${LIBVER_MINOR}.${LIBVER_RELEASE})
++ENDIF(ZSTD_BUILD_SHARED)
+
+ IF (ZSTD_BUILD_STATIC)
+ SET_TARGET_PROPERTIES(
+@@ -129,6 +126,15 @@ IF (ZSTD_BUILD_STATIC)
+ OUTPUT_NAME ${LIBRARY_BASE_NAME})
+ ENDIF (ZSTD_BUILD_STATIC)
+
++
++INSTALL(FILES ${LIBRARY_DIR}/zstd.h ${LIBRARY_DIR}/deprecated/zbuff.h ${LIBRARY_DIR}/dictBuilder/zdict.h DESTINATION "include")
++IF(ZSTD_BUILD_SHARED)
++ INSTALL(TARGETS libzstd_shared RUNTIME DESTINATION "bin" ARCHIVE DESTINATION "lib" LIBRARY DESTINATION "lib")
++ENDIF(ZSTD_BUILD_SHARED)
++IF (ZSTD_BUILD_STATIC)
++ INSTALL(TARGETS libzstd_static ARCHIVE DESTINATION "lib")
++ENDIF (ZSTD_BUILD_STATIC)
++
+ IF (UNIX)
+ # pkg-config
+ SET(PREFIX "${CMAKE_INSTALL_PREFIX}")
+@@ -142,12 +148,7 @@ IF (UNIX)
+ COMMENT "Creating pkg-config file")
+
+ # install target
+- INSTALL(FILES ${LIBRARY_DIR}/zstd.h ${LIBRARY_DIR}/deprecated/zbuff.h ${LIBRARY_DIR}/dictBuilder/zdict.h DESTINATION "include")
+ INSTALL(FILES "${CMAKE_CURRENT_BINARY_DIR}/libzstd.pc" DESTINATION "share/pkgconfig")
+- INSTALL(TARGETS libzstd_shared LIBRARY DESTINATION "lib")
+- IF (ZSTD_BUILD_STATIC)
+- INSTALL(TARGETS libzstd_static ARCHIVE DESTINATION "lib")
+- ENDIF (ZSTD_BUILD_STATIC)
+
+ # uninstall target
+ CONFIGURE_FILE(
diff --git a/ports/zstd/portfile.cmake b/ports/zstd/portfile.cmake
index 0cb089ce5..d6fe4eb59 100644
--- a/ports/zstd/portfile.cmake
+++ b/ports/zstd/portfile.cmake
@@ -1,42 +1,44 @@
include(vcpkg_common_functions)
-set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/zstd-1.1.1)
-vcpkg_download_distfile(ARCHIVE
- URLS "https://github.com/facebook/zstd/archive/v1.1.1.zip"
- FILENAME "zstd-1.1.1.zip"
- SHA512 c96a97519202a759c62f661c7bbaeaa0d48e4e78588a8232ad23fd78fe7c3440f1f07d996dcf07daa652569e1c5e39cb7b93103b9ec7845db05b161ec29a8dde
-)
-vcpkg_extract_source_archive(${ARCHIVE})
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO facebook/zstd
+ REF v1.2.0
+ SHA512 b21910c6bdcfad3199c07b9f70f7c049062ebd1cce9249dd33c36153e29f24dd9e796ddbc2f37846b9f508c14b0d0f67651fd8d2bdce558128f20bdfff50a7df
+ HEAD_REF dev)
+
+vcpkg_apply_patches(SOURCE_PATH ${SOURCE_PATH}
+ PATCHES ${CMAKE_CURRENT_LIST_DIR}/fix-buildsystem.diff)
+
+if(VCPKG_LIBRARY_LINKAGE STREQUAL static)
+ set(ZSTD_STATIC 1)
+ set(ZSTD_SHARED 0)
+else()
+ set(ZSTD_STATIC 0)
+ set(ZSTD_SHARED 1)
+endif()
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}/build/cmake
- OPTIONS -DZSTD_LEGACY_SUPPORT=1
-)
-vcpkg_build_cmake()
-
-# Manual install
-message(STATUS "Installing")
-
-file(COPY ${SOURCE_PATH}/lib/zstd.h DESTINATION ${CURRENT_PACKAGES_DIR}/include)
-file(COPY ${SOURCE_PATH}/lib/common/zbuff.h DESTINATION ${CURRENT_PACKAGES_DIR}/include)
-file(COPY ${SOURCE_PATH}/lib/dictBuilder/zdict.h DESTINATION ${CURRENT_PACKAGES_DIR}/include)
-
-set(RELDIR ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/lib/Release)
-set(DEBDIR ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/lib/Debug)
-
-if (VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic")
- file(INSTALL ${RELDIR}/zstdlib.1.1.1024_${TRIPLET_SYSTEM_ARCH}.lib DESTINATION ${CURRENT_PACKAGES_DIR}/lib RENAME zstdlib.lib)
- file(INSTALL ${DEBDIR}/zstdlib.1.1.1024_${TRIPLET_SYSTEM_ARCH}.lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib RENAME zstdlib.lib)
- file(INSTALL ${RELDIR}/ DESTINATION ${CURRENT_PACKAGES_DIR}/bin FILES_MATCHING PATTERN "*.dll")
- file(INSTALL ${DEBDIR}/ DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin FILES_MATCHING PATTERN "*.dll")
- vcpkg_copy_pdbs()
-else()
- file(INSTALL ${RELDIR}/zstdlib_${TRIPLET_SYSTEM_ARCH}.lib DESTINATION ${CURRENT_PACKAGES_DIR}/lib RENAME zstdlib.lib)
- file(INSTALL ${DEBDIR}/zstdlib_${TRIPLET_SYSTEM_ARCH}.lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib RENAME zstdlib.lib)
+ PREFER_NINJA
+ OPTIONS
+ -DZSTD_BUILD_SHARED=${ZSTD_SHARED}
+ -DZSTD_BUILD_STATIC=${ZSTD_STATIC}
+ -DZSTD_LEGACY_SUPPORT=1
+ -DZSTD_BUILD_PROGRAMS=0
+ -DZSTD_BUILD_TESTS=0
+ -DZSTD_BUILD_CONTRIB=0)
+
+vcpkg_install_cmake()
+vcpkg_copy_pdbs()
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+
+if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
+ foreach(HEADER zdict.h zstd.h)
+ file(READ ${CURRENT_PACKAGES_DIR}/include/${HEADER} HEADER_CONTENTS)
+ string(REPLACE "defined(ZSTD_DLL_IMPORT) && (ZSTD_DLL_IMPORT==1)" "1" HEADER_CONTENTS "${HEADER_CONTENTS}")
+ file(WRITE ${CURRENT_PACKAGES_DIR}/include/${HEADER} "${HEADER_CONTENTS}")
+ endforeach()
endif()
-
-# Handle copyright
file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/zstd)
file(RENAME ${CURRENT_PACKAGES_DIR}/share/zstd/LICENSE ${CURRENT_PACKAGES_DIR}/share/zstd/copyright)
-
-message(STATUS "Installing done")