mirror of
https://git.freebsd.org/ports.git
synced 2025-07-17 09:19:15 -04:00
archivers/zstd: Add CMake config files and adjust Makefile
- Use upstream's short test for "make test" - Use verbose output by default during build * Tweak Makefile to follow Porters Handbook more closely * Install CMake files (taken from CMake build framework) PR: 267652 Reported by: fluffy Approved by: portmgr (maintainer timeout, 1+ month)
This commit is contained in:
parent
7793ffbd7c
commit
72ad532057
7 changed files with 257 additions and 11 deletions
|
@ -1,7 +1,8 @@
|
|||
PORTNAME= zstd
|
||||
PORTVERSION= 1.5.4
|
||||
DISTVERSION= 1.5.4
|
||||
PORTREVISION= 1
|
||||
CATEGORIES= archivers
|
||||
MASTER_SITES= https://github.com/facebook/zstd/releases/download/v${PORTVERSION}/
|
||||
MASTER_SITES= https://github.com/facebook/zstd/releases/download/v${DISTVERSION}/
|
||||
|
||||
MAINTAINER= sunpoet@FreeBSD.org
|
||||
COMMENT= Fast real-time compression algorithm
|
||||
|
@ -16,27 +17,53 @@ LICENSE_FILE_GPLv2= ${WRKSRC}/COPYING
|
|||
LIB_DEPENDS= liblz4.so:archivers/liblz4
|
||||
|
||||
USES= gmake localbase:ldflags tar:zst
|
||||
USE_LDCONFIG= yes
|
||||
|
||||
ALL_TARGET= default
|
||||
TEST_TARGET= shortest
|
||||
BINARY_ALIAS= gmd5sum=md5sum
|
||||
TEST_TARGET= test
|
||||
MAKE_ENV= INSTALL_DATA="${INSTALL_DATA}" \
|
||||
INSTALL_MAN="${INSTALL_MAN}" \
|
||||
INSTALL_PROGRAM="${INSTALL_PROGRAM}" \
|
||||
INSTALL_SCRIPT="${INSTALL_SCRIPT}"
|
||||
USE_LDCONFIG= yes
|
||||
INSTALL_SCRIPT="${INSTALL_SCRIPT}" \
|
||||
V=1
|
||||
|
||||
PLIST_SUB= PORTVERSION=${PORTVERSION}
|
||||
.if defined(WITH_DEBUG)
|
||||
BUILD_TYPE= Debug
|
||||
.else
|
||||
BUILD_TYPE= Release
|
||||
.endif
|
||||
|
||||
PLIST_SUB= DISTVERSION=${DISTVERSION} \
|
||||
BUILD_TYPE=${BUILD_TYPE:tl}
|
||||
|
||||
OPTIONS_DEFINE= OPTIMIZED_CFLAGS
|
||||
|
||||
OPTIMIZED_CFLAGS_VARS= CFLAGS+=-O3
|
||||
|
||||
post-build:
|
||||
cd ${WRKSRC}/programs && ${SETENV} ${MAKE_ENV} ${MAKE_CMD} zstd-frugal
|
||||
cd ${BUILD_WRKSRC}/programs && ${DO_MAKE_BUILD} zstd-frugal
|
||||
|
||||
post-install:
|
||||
${INSTALL_PROGRAM} ${WRKSRC}/programs/zstd-frugal ${STAGEDIR}${PREFIX}/bin/zstd-frugal
|
||||
${LN} -s zstd.1.gz ${STAGEDIR}${PREFIX}/man/man1/zstdmt.1.gz
|
||||
${INSTALL_PROGRAM} ${BUILD_WRKSRC}/programs/zstd-frugal ${STAGEDIR}${PREFIX}/bin/zstd-frugal
|
||||
${MKDIR} ${STAGEDIR}${PREFIX}/lib/cmake/zstd
|
||||
${INSTALL_DATA} ${PATCHDIR}/zstdConfig.cmake.in \
|
||||
${STAGEDIR}${PREFIX}/lib/cmake/zstd/zstdConfig.cmake
|
||||
${INSTALL_DATA} ${PATCHDIR}/zstdConfigVersion.cmake.in \
|
||||
${STAGEDIR}${PREFIX}/lib/cmake/zstd/zstdConfigVersion.cmake
|
||||
@${REINPLACE_CMD} -e 's|%%DISTVERSION%%|${DISTVERSION}|g' \
|
||||
${STAGEDIR}${PREFIX}/lib/cmake/zstd/zstdConfigVersion.cmake
|
||||
${INSTALL_DATA} ${PATCHDIR}/zstdTargets-BUILD_TYPE.cmake.in \
|
||||
${STAGEDIR}${PREFIX}/lib/cmake/zstd/zstdTargets-${BUILD_TYPE:tl}.cmake
|
||||
@${REINPLACE_CMD} -e 's|%%BUILD_TYPE_CAPS%%|${BUILD_TYPE:tu}|g' \
|
||||
${STAGEDIR}${PREFIX}/lib/cmake/zstd/zstdTargets-${BUILD_TYPE:tl}.cmake
|
||||
@${REINPLACE_CMD} -e 's|%%BUILD_TYPE_MIXED%%|${BUILD_TYPE}|g' \
|
||||
${STAGEDIR}${PREFIX}/lib/cmake/zstd/zstdTargets-${BUILD_TYPE:tl}.cmake
|
||||
@${REINPLACE_CMD} -e 's|%%DISTVERSION%%|${DISTVERSION}|g' \
|
||||
${STAGEDIR}${PREFIX}/lib/cmake/zstd/zstdTargets-${BUILD_TYPE:tl}.cmake
|
||||
${INSTALL_DATA} ${PATCHDIR}/zstdTargets.cmake.in \
|
||||
${STAGEDIR}${PREFIX}/lib/cmake/zstd/zstdTargets.cmake
|
||||
${RM} ${STAGEDIR}${PREFIX}/lib/cmake/zstd/*.bak
|
||||
${RLN} zstd.1.gz ${STAGEDIR}${PREFIX}/man/man1/zstdmt.1.gz
|
||||
|
||||
.include <bsd.port.mk>
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
TIMESTAMP = 1677770991
|
||||
TIMESTAMP = 1680672624
|
||||
SHA256 (zstd-1.5.4.tar.zst) = 6925880b84aca086308c27036ef1c16e76817372301ead7c37f90e23567f704e
|
||||
SIZE (zstd-1.5.4.tar.zst) = 1620303
|
||||
|
|
1
archivers/zstd/files/zstdConfig.cmake.in
Normal file
1
archivers/zstd/files/zstdConfig.cmake.in
Normal file
|
@ -0,0 +1 @@
|
|||
include("${CMAKE_CURRENT_LIST_DIR}/zstdTargets.cmake")
|
70
archivers/zstd/files/zstdConfigVersion.cmake.in
Normal file
70
archivers/zstd/files/zstdConfigVersion.cmake.in
Normal file
|
@ -0,0 +1,70 @@
|
|||
# This is a basic version file for the Config-mode of find_package().
|
||||
# It is used by write_basic_package_version_file() as input file for configure_file()
|
||||
# to create a version-file which can be installed along a config.cmake file.
|
||||
#
|
||||
# The created file sets PACKAGE_VERSION_EXACT if the current version string and
|
||||
# the requested version string are exactly the same and it sets
|
||||
# PACKAGE_VERSION_COMPATIBLE if the current version is >= requested version,
|
||||
# but only if the requested major version is the same as the current one.
|
||||
# The variable CVF_VERSION must be set before calling configure_file().
|
||||
|
||||
|
||||
set(PACKAGE_VERSION "%%DISTVERSION%%")
|
||||
|
||||
if(PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION)
|
||||
set(PACKAGE_VERSION_COMPATIBLE FALSE)
|
||||
else()
|
||||
|
||||
if("%%DISTVERSION%%" MATCHES "^([0-9]+)\\.")
|
||||
set(CVF_VERSION_MAJOR "${CMAKE_MATCH_1}")
|
||||
if(NOT CVF_VERSION_MAJOR VERSION_EQUAL 0)
|
||||
string(REGEX REPLACE "^0+" "" CVF_VERSION_MAJOR "${CVF_VERSION_MAJOR}")
|
||||
endif()
|
||||
else()
|
||||
set(CVF_VERSION_MAJOR "%%DISTVERSION%%")
|
||||
endif()
|
||||
|
||||
if(PACKAGE_FIND_VERSION_RANGE)
|
||||
# both endpoints of the range must have the expected major version
|
||||
math (EXPR CVF_VERSION_MAJOR_NEXT "${CVF_VERSION_MAJOR} + 1")
|
||||
if (NOT PACKAGE_FIND_VERSION_MIN_MAJOR STREQUAL CVF_VERSION_MAJOR
|
||||
OR ((PACKAGE_FIND_VERSION_RANGE_MAX STREQUAL "INCLUDE" AND NOT PACKAGE_FIND_VERSION_MAX_MAJOR STREQUAL CVF_VERSION_MAJOR)
|
||||
OR (PACKAGE_FIND_VERSION_RANGE_MAX STREQUAL "EXCLUDE" AND NOT PACKAGE_FIND_VERSION_MAX VERSION_LESS_EQUAL CVF_VERSION_MAJOR_NEXT)))
|
||||
set(PACKAGE_VERSION_COMPATIBLE FALSE)
|
||||
elseif(PACKAGE_FIND_VERSION_MIN_MAJOR STREQUAL CVF_VERSION_MAJOR
|
||||
AND ((PACKAGE_FIND_VERSION_RANGE_MAX STREQUAL "INCLUDE" AND PACKAGE_VERSION VERSION_LESS_EQUAL PACKAGE_FIND_VERSION_MAX)
|
||||
OR (PACKAGE_FIND_VERSION_RANGE_MAX STREQUAL "EXCLUDE" AND PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION_MAX)))
|
||||
set(PACKAGE_VERSION_COMPATIBLE TRUE)
|
||||
else()
|
||||
set(PACKAGE_VERSION_COMPATIBLE FALSE)
|
||||
endif()
|
||||
else()
|
||||
if(PACKAGE_FIND_VERSION_MAJOR STREQUAL CVF_VERSION_MAJOR)
|
||||
set(PACKAGE_VERSION_COMPATIBLE TRUE)
|
||||
else()
|
||||
set(PACKAGE_VERSION_COMPATIBLE FALSE)
|
||||
endif()
|
||||
|
||||
if(PACKAGE_FIND_VERSION STREQUAL PACKAGE_VERSION)
|
||||
set(PACKAGE_VERSION_EXACT TRUE)
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
|
||||
# if the installed project requested no architecture check, don't perform the check
|
||||
if("FALSE")
|
||||
return()
|
||||
endif()
|
||||
|
||||
# if the installed or the using project don't have CMAKE_SIZEOF_VOID_P set, ignore it:
|
||||
if("${CMAKE_SIZEOF_VOID_P}" STREQUAL "" OR "8" STREQUAL "")
|
||||
return()
|
||||
endif()
|
||||
|
||||
# check that the installed version has the same 32/64bit-ness as the one which is currently searching:
|
||||
if(NOT CMAKE_SIZEOF_VOID_P STREQUAL "8")
|
||||
math(EXPR installedBits "8 * 8")
|
||||
set(PACKAGE_VERSION "${PACKAGE_VERSION} (${installedBits}bit)")
|
||||
set(PACKAGE_VERSION_UNSUITABLE TRUE)
|
||||
endif()
|
29
archivers/zstd/files/zstdTargets-BUILD_TYPE.cmake.in
Normal file
29
archivers/zstd/files/zstdTargets-BUILD_TYPE.cmake.in
Normal file
|
@ -0,0 +1,29 @@
|
|||
#----------------------------------------------------------------
|
||||
# Generated CMake target import file for configuration "%%BUILD_TYPE_MIXED%%".
|
||||
#----------------------------------------------------------------
|
||||
|
||||
# Commands may need to know the format version.
|
||||
set(CMAKE_IMPORT_FILE_VERSION 1)
|
||||
|
||||
# Import target "zstd::libzstd_shared" for configuration "%%BUILD_TYPE_MIXED%%"
|
||||
set_property(TARGET zstd::libzstd_shared APPEND PROPERTY IMPORTED_CONFIGURATIONS %%BUILD_TYPE_CAPS%%)
|
||||
set_target_properties(zstd::libzstd_shared PROPERTIES
|
||||
IMPORTED_LOCATION_%%BUILD_TYPE_CAPS%% "${_IMPORT_PREFIX}/lib/libzstd.so.%%DISTVERSION%%"
|
||||
IMPORTED_SONAME_%%BUILD_TYPE_CAPS%% "libzstd.so.1"
|
||||
)
|
||||
|
||||
list(APPEND _cmake_import_check_targets zstd::libzstd_shared )
|
||||
list(APPEND _cmake_import_check_files_for_zstd::libzstd_shared "${_IMPORT_PREFIX}/lib/libzstd.so.%%DISTVERSION%%" )
|
||||
|
||||
# Import target "zstd::libzstd_static" for configuration "%%BUILD_TYPE_MIXED%%"
|
||||
set_property(TARGET zstd::libzstd_static APPEND PROPERTY IMPORTED_CONFIGURATIONS %%BUILD_TYPE_CAPS%%)
|
||||
set_target_properties(zstd::libzstd_static PROPERTIES
|
||||
IMPORTED_LINK_INTERFACE_LANGUAGES_%%BUILD_TYPE_CAPS%% "C"
|
||||
IMPORTED_LOCATION_%%BUILD_TYPE_CAPS%% "${_IMPORT_PREFIX}/lib/libzstd.a"
|
||||
)
|
||||
|
||||
list(APPEND _cmake_import_check_targets zstd::libzstd_static )
|
||||
list(APPEND _cmake_import_check_files_for_zstd::libzstd_static "${_IMPORT_PREFIX}/lib/libzstd.a" )
|
||||
|
||||
# Commands beyond this point should not need to know the version.
|
||||
set(CMAKE_IMPORT_FILE_VERSION)
|
115
archivers/zstd/files/zstdTargets.cmake.in
Normal file
115
archivers/zstd/files/zstdTargets.cmake.in
Normal file
|
@ -0,0 +1,115 @@
|
|||
# Generated by CMake
|
||||
|
||||
if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" LESS 2.8)
|
||||
message(FATAL_ERROR "CMake >= 2.8.0 required")
|
||||
endif()
|
||||
if(CMAKE_VERSION VERSION_LESS "2.8.3")
|
||||
message(FATAL_ERROR "CMake >= 2.8.3 required")
|
||||
endif()
|
||||
cmake_policy(PUSH)
|
||||
cmake_policy(VERSION 2.8.3...3.23)
|
||||
#----------------------------------------------------------------
|
||||
# Generated CMake target import file.
|
||||
#----------------------------------------------------------------
|
||||
|
||||
# Commands may need to know the format version.
|
||||
set(CMAKE_IMPORT_FILE_VERSION 1)
|
||||
|
||||
# Protect against multiple inclusion, which would fail when already imported targets are added once more.
|
||||
set(_cmake_targets_defined "")
|
||||
set(_cmake_targets_not_defined "")
|
||||
set(_cmake_expected_targets "")
|
||||
foreach(_cmake_expected_target IN ITEMS zstd::libzstd_shared zstd::libzstd_static)
|
||||
list(APPEND _cmake_expected_targets "${_cmake_expected_target}")
|
||||
if(TARGET "${_cmake_expected_target}")
|
||||
list(APPEND _cmake_targets_defined "${_cmake_expected_target}")
|
||||
else()
|
||||
list(APPEND _cmake_targets_not_defined "${_cmake_expected_target}")
|
||||
endif()
|
||||
endforeach()
|
||||
unset(_cmake_expected_target)
|
||||
if(_cmake_targets_defined STREQUAL _cmake_expected_targets)
|
||||
unset(_cmake_targets_defined)
|
||||
unset(_cmake_targets_not_defined)
|
||||
unset(_cmake_expected_targets)
|
||||
unset(CMAKE_IMPORT_FILE_VERSION)
|
||||
cmake_policy(POP)
|
||||
return()
|
||||
endif()
|
||||
if(NOT _cmake_targets_defined STREQUAL "")
|
||||
string(REPLACE ";" ", " _cmake_targets_defined_text "${_cmake_targets_defined}")
|
||||
string(REPLACE ";" ", " _cmake_targets_not_defined_text "${_cmake_targets_not_defined}")
|
||||
message(FATAL_ERROR "Some (but not all) targets in this export set were already defined.\nTargets Defined: ${_cmake_targets_defined_text}\nTargets not yet defined: ${_cmake_targets_not_defined_text}\n")
|
||||
endif()
|
||||
unset(_cmake_targets_defined)
|
||||
unset(_cmake_targets_not_defined)
|
||||
unset(_cmake_expected_targets)
|
||||
|
||||
|
||||
# Compute the installation prefix relative to this file.
|
||||
get_filename_component(_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH)
|
||||
get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)
|
||||
get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)
|
||||
get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)
|
||||
if(_IMPORT_PREFIX STREQUAL "/")
|
||||
set(_IMPORT_PREFIX "")
|
||||
endif()
|
||||
|
||||
# Create imported target zstd::libzstd_shared
|
||||
add_library(zstd::libzstd_shared SHARED IMPORTED)
|
||||
|
||||
set_target_properties(zstd::libzstd_shared PROPERTIES
|
||||
INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
|
||||
INTERFACE_LINK_LIBRARIES "-pthread"
|
||||
)
|
||||
|
||||
# Create imported target zstd::libzstd_static
|
||||
add_library(zstd::libzstd_static STATIC IMPORTED)
|
||||
|
||||
set_target_properties(zstd::libzstd_static PROPERTIES
|
||||
INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
|
||||
INTERFACE_LINK_LIBRARIES "-pthread"
|
||||
)
|
||||
|
||||
if(CMAKE_VERSION VERSION_LESS 2.8.12)
|
||||
message(FATAL_ERROR "This file relies on consumers using CMake 2.8.12 or greater.")
|
||||
endif()
|
||||
|
||||
# Load information for each installed configuration.
|
||||
file(GLOB _cmake_config_files "${CMAKE_CURRENT_LIST_DIR}/zstdTargets-*.cmake")
|
||||
foreach(_cmake_config_file IN LISTS _cmake_config_files)
|
||||
include("${_cmake_config_file}")
|
||||
endforeach()
|
||||
unset(_cmake_config_file)
|
||||
unset(_cmake_config_files)
|
||||
|
||||
# Cleanup temporary variables.
|
||||
set(_IMPORT_PREFIX)
|
||||
|
||||
# Loop over all imported files and verify that they actually exist
|
||||
foreach(_cmake_target IN LISTS _cmake_import_check_targets)
|
||||
foreach(_cmake_file IN LISTS "_cmake_import_check_files_for_${_cmake_target}")
|
||||
if(NOT EXISTS "${_cmake_file}")
|
||||
message(FATAL_ERROR "The imported target \"${_cmake_target}\" references the file
|
||||
\"${_cmake_file}\"
|
||||
but this file does not exist. Possible reasons include:
|
||||
* The file was deleted, renamed, or moved to another location.
|
||||
* An install or uninstall procedure did not complete successfully.
|
||||
* The installation package was faulty and contained
|
||||
\"${CMAKE_CURRENT_LIST_FILE}\"
|
||||
but not all the files it references.
|
||||
")
|
||||
endif()
|
||||
endforeach()
|
||||
unset(_cmake_file)
|
||||
unset("_cmake_import_check_files_for_${_cmake_target}")
|
||||
endforeach()
|
||||
unset(_cmake_target)
|
||||
unset(_cmake_import_check_targets)
|
||||
|
||||
# This file does not depend on other imported targets which have
|
||||
# been exported from the same project but in a separate export set.
|
||||
|
||||
# Commands beyond this point should not need to know the version.
|
||||
set(CMAKE_IMPORT_FILE_VERSION)
|
||||
cmake_policy(POP)
|
|
@ -8,10 +8,14 @@ bin/zstdmt
|
|||
include/zdict.h
|
||||
include/zstd.h
|
||||
include/zstd_errors.h
|
||||
lib/cmake/zstd/zstdConfig.cmake
|
||||
lib/cmake/zstd/zstdConfigVersion.cmake
|
||||
lib/cmake/zstd/zstdTargets-%%BUILD_TYPE%%.cmake
|
||||
lib/cmake/zstd/zstdTargets.cmake
|
||||
lib/libzstd.a
|
||||
lib/libzstd.so
|
||||
lib/libzstd.so.1
|
||||
lib/libzstd.so.%%PORTVERSION%%
|
||||
lib/libzstd.so.%%DISTVERSION%%
|
||||
libdata/pkgconfig/libzstd.pc
|
||||
man/man1/unzstd.1.gz
|
||||
man/man1/zstd.1.gz
|
||||
|
|
Loading…
Add table
Reference in a new issue