[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
This commit is contained in:
NancyLi1013 2019-09-16 15:14:14 -07:00 committed by Curtis J Bezault
parent 27cee9886a
commit 076b4f1e83
4 changed files with 144 additions and 0 deletions

19
ports/zfp/CONTROL Normal file
View File

@ -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

View File

@ -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)

View File

@ -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)

42
ports/zfp/portfile.cmake Normal file
View File

@ -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)