mirror of
https://github.com/microsoft/vcpkg.git
synced 2024-11-28 02:11:39 +08:00
[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:
parent
27cee9886a
commit
076b4f1e83
19
ports/zfp/CONTROL
Normal file
19
ports/zfp/CONTROL
Normal 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
|
11
ports/zfp/fix-build-error.patch
Normal file
11
ports/zfp/fix-build-error.patch
Normal 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)
|
72
ports/zfp/fix-install-tools.patch
Normal file
72
ports/zfp/fix-install-tools.patch
Normal 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
42
ports/zfp/portfile.cmake
Normal 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)
|
Loading…
Reference in New Issue
Block a user