diff options
| author | NancyLi1013 <46708020+NancyLi1013@users.noreply.github.com> | 2019-09-16 15:14:14 -0700 |
|---|---|---|
| committer | Curtis J Bezault <curtbezault@gmail.com> | 2019-09-16 15:14:14 -0700 |
| commit | 076b4f1e8300ff79e08305b20941f38e9ddd5b85 (patch) | |
| tree | 3c6fba5813d6ab67d4341ae3a6e31041d9bab4ee | |
| parent | 27cee9886af91dc1fe6249ef52367cc48b92a921 (diff) | |
| download | vcpkg-076b4f1e8300ff79e08305b20941f38e9ddd5b85.tar.gz vcpkg-076b4f1e8300ff79e08305b20941f38e9ddd5b85.zip | |
[zfp] Add new port (#7955)
* [zfp] Add new port
* Fix build static error
* Add features and fix build error.
* Remove unused patches
* Update build error patch
| -rw-r--r-- | ports/zfp/CONTROL | 19 | ||||
| -rw-r--r-- | ports/zfp/fix-build-error.patch | 11 | ||||
| -rw-r--r-- | ports/zfp/fix-install-tools.patch | 72 | ||||
| -rw-r--r-- | ports/zfp/portfile.cmake | 42 |
4 files changed, 144 insertions, 0 deletions
diff --git a/ports/zfp/CONTROL b/ports/zfp/CONTROL new file mode 100644 index 000000000..eb9505fa4 --- /dev/null +++ b/ports/zfp/CONTROL @@ -0,0 +1,19 @@ +Source: zfp
+Version: 0.5.5-1
+Homepage: https://github.com/LLNL/zfp
+Description: Zfp is an open source C/C++ library for compressed numerical arrays that support high throughput read and write random access. zfp also supports streaming compression of integer and floating-point data, e.g., for applications that read and write large data sets to and from disk. zfp is primarily written in C and C++ but also includes Python and Fortran bindings.
+
+Feature: all
+Description: Build all components
+
+Feature: cfp
+Description: cfp support for cfp
+
+Feature: test
+Description: Build test
+
+Feature: example
+Description: Build example
+
+Feature: utility
+Description: Build utility
\ No newline at end of file diff --git a/ports/zfp/fix-build-error.patch b/ports/zfp/fix-build-error.patch new file mode 100644 index 000000000..0c1e15763 --- /dev/null +++ b/ports/zfp/fix-build-error.patch @@ -0,0 +1,11 @@ +diff --git a/utils/CMakeLists.txt b/utils/CMakeLists.txt
+index a960d2c..e6a492d 100644
+--- a/utils/CMakeLists.txt
++++ b/utils/CMakeLists.txt
+@@ -1,5 +1,5 @@
+ add_executable(zfpcmd zfp.c)
+-set_property(TARGET zfpcmd PROPERTY OUTPUT_NAME zfp)
++#set_property(TARGET zfpcmd PROPERTY OUTPUT_NAME zfp)
+ target_link_libraries(zfpcmd zfp)
+ if(HAVE_LIBM_MATH)
+ target_link_libraries(zfpcmd m)
diff --git a/ports/zfp/fix-install-tools.patch b/ports/zfp/fix-install-tools.patch new file mode 100644 index 000000000..49a511d44 --- /dev/null +++ b/ports/zfp/fix-install-tools.patch @@ -0,0 +1,72 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 47179fd..96add54 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -220,8 +220,8 @@ add_subdirectory(src)
+ option(BUILD_ALL "Build all subdirectories" OFF)
+ if(BUILD_ALL)
+ set(BUILD_CFP ON CACHE BOOL "Build CFP arrays library" FORCE)
+- set(BUILD_ZFORP ON CACHE BOOL "Build Fortran library" FORCE)
+- set(BUILD_ZFPY ON CACHE BOOL "Build python bindings for zfp" FORCE)
++ set(BUILD_ZFORP OFF CACHE BOOL "Build Fortran library" FORCE)
++ set(BUILD_ZFPY OFF CACHE BOOL "Build python bindings for zfp" FORCE)
+ set(BUILD_UTILITIES ON CACHE BOOL "Build command line utilities for zfp" FORCE)
+ set(BUILD_EXAMPLES ON CACHE BOOL "Build Examples" FORCE)
+ endif()
+diff --git a/cfp/src/CMakeLists.txt b/cfp/src/CMakeLists.txt
+index 386698c..ecba525 100644
+--- a/cfp/src/CMakeLists.txt
++++ b/cfp/src/CMakeLists.txt
+@@ -36,3 +36,5 @@ install(TARGETS cfp EXPORT cfp-targets
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
++
++install(DIRECTORY ${ZFP_SOURCE_DIR}/cfp/include DESTINATION include)
+diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt
+index 7cc7606..6ca1034 100644
+--- a/examples/CMakeLists.txt
++++ b/examples/CMakeLists.txt
+@@ -34,3 +34,20 @@ if(HAVE_LIBM_MATH)
+ target_link_libraries(pgm m)
+ target_link_libraries(simple m)
+ endif()
++
++install(TARGETS diffusion
++ RUNTIME DESTINATION tools)
++ if(BUILD_CFP)
++ install(TARGETS diffusionC
++ RUNTIME DESTINATION tools)
++ endif()
++install(TARGETS inplace
++ RUNTIME DESTINATION tools)
++install(TARGETS iterator
++ RUNTIME DESTINATION tools)
++install(TARGETS pgm
++ RUNTIME DESTINATION tools)
++install(TARGETS simple
++ RUNTIME DESTINATION tools)
++install(TARGETS speed
++ RUNTIME DESTINATION tools)
+diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
+index d15246e..7a6c6cb 100644
+--- a/tests/CMakeLists.txt
++++ b/tests/CMakeLists.txt
+@@ -19,3 +19,6 @@ if(ZFP_BUILD_TESTING_LARGE)
+ endforeach()
+ endforeach()
+ endif()
++
++install(TARGETS testzfp
++ RUNTIME DESTINATION tools)
+diff --git a/utils/CMakeLists.txt b/utils/CMakeLists.txt
+index a960d2c..5fcbf87 100644
+--- a/utils/CMakeLists.txt
++++ b/utils/CMakeLists.txt
+@@ -4,3 +4,6 @@ target_link_libraries(zfpcmd zfp)
+ if(HAVE_LIBM_MATH)
+ target_link_libraries(zfpcmd m)
+ endif()
++
++install(TARGETS zfpcmd
++ RUNTIME DESTINATION tools)
diff --git a/ports/zfp/portfile.cmake b/ports/zfp/portfile.cmake new file mode 100644 index 000000000..7c9af2547 --- /dev/null +++ b/ports/zfp/portfile.cmake @@ -0,0 +1,42 @@ +include(vcpkg_common_functions)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO LLNL/zfp
+ REF 0.5.5
+ SHA512 c043cee73f6e972e047452552ab2ceb9247a6747fdb7e5f863aeab3a05208737c0bcabbe29f3c10e5c1aba961ec47aa6a0abdb395486fa0d5fb16a4ad45733c4
+ HEAD_REF master
+ PATCHES
+ fix-build-error.patch
+ fix-install-tools.patch
+)
+
+vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
+ all BUILD_ALL
+ cfp BUILD_CFP
+ test BUILD_TESTING
+ example BUILD_EXAMPLES
+ utility BUILD_UTILITIES
+)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS ${FEATURE_OPTIONS}
+ -DBUILD_ZFPY=OFF
+ -DBUILD_ZFORP=OFF
+)
+
+vcpkg_install_cmake()
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+
+if(VCPKG_LIBRARY_LINKAGE STREQUAL static)
+ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin)
+endif()
+
+vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/${PORT})
+
+vcpkg_copy_pdbs()
+
+file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
\ No newline at end of file |
