mirror of
https://github.com/boostorg/cmake.git
synced 2026-01-24 17:52:29 +00:00
64 lines
1.9 KiB
CMake
64 lines
1.9 KiB
CMake
# Copyright 2021 Peter Dimov
|
|
# Distributed under the Boost Software License, Version 1.0.
|
|
# See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt
|
|
|
|
include(SelectLibraryConfigurations)
|
|
include(FindPackageHandleStandardArgs)
|
|
|
|
# find_path and find_library already look into Zstd_ROOT
|
|
|
|
find_path(ZSTD_INCLUDE_DIR NAMES zstd.h)
|
|
|
|
find_library(ZSTD_LIBRARY_DEBUG NAMES zstdd zstd_staticd)
|
|
find_library(ZSTD_LIBRARY_RELEASE NAMES zstd zstd_static)
|
|
|
|
select_library_configurations(ZSTD)
|
|
|
|
if(ZSTD_INCLUDE_DIR AND EXISTS "${ZSTD_INCLUDE_DIR}/zstd.h")
|
|
|
|
file(STRINGS "${ZSTD_INCLUDE_DIR}/zstd.h" _zstd_h REGEX "#define ZSTD_VERSION_[A-Z]+[ \t]+[0-9]+")
|
|
|
|
string(REGEX REPLACE ".*#define ZSTD_VERSION_MAJOR[ \t]+([0-9]+).*" "\\1" ZSTD_VERSION_MAJOR "${_zstd_h}")
|
|
string(REGEX REPLACE ".*#define ZSTD_VERSION_MINOR[ \t]+([0-9]+).*" "\\1" ZSTD_VERSION_MINOR "${_zstd_h}")
|
|
string(REGEX REPLACE ".*#define ZSTD_VERSION_RELEASE[ \t]+([0-9]+).*" "\\1" ZSTD_VERSION_PATCH "${_zstd_h}")
|
|
|
|
set(ZSTD_VERSION_STRING "${ZSTD_VERSION_MAJOR}.${ZSTD_VERSION_MINOR}.${ZSTD_VERSION_PATCH}")
|
|
|
|
unset(_zstd_h)
|
|
|
|
endif()
|
|
|
|
find_package_handle_standard_args(Zstd REQUIRED_VARS ZSTD_LIBRARIES ZSTD_INCLUDE_DIR VERSION_VAR ZSTD_VERSION_STRING)
|
|
|
|
mark_as_advanced(ZSTD_INCLUDE_DIR)
|
|
|
|
if(ZSTD_FOUND AND NOT TARGET Zstd::Zstd)
|
|
|
|
add_library(Zstd::Zstd UNKNOWN IMPORTED)
|
|
|
|
set_target_properties(Zstd::Zstd PROPERTIES
|
|
INTERFACE_INCLUDE_DIRECTORIES ${ZSTD_INCLUDE_DIR}
|
|
IMPORTED_LINK_INTERFACE_LANGUAGES C)
|
|
|
|
if(ZSTD_LIBRARY_RELEASE)
|
|
|
|
set_property(TARGET Zstd::Zstd APPEND PROPERTY
|
|
IMPORTED_CONFIGURATIONS RELEASE)
|
|
|
|
set_target_properties(Zstd::Zstd PROPERTIES
|
|
IMPORTED_LOCATION_RELEASE "${ZSTD_LIBRARY_RELEASE}")
|
|
|
|
endif()
|
|
|
|
if(ZSTD_LIBRARY_DEBUG)
|
|
|
|
set_property(TARGET Zstd::Zstd APPEND PROPERTY
|
|
IMPORTED_CONFIGURATIONS DEBUG)
|
|
|
|
set_target_properties(Zstd::Zstd PROPERTIES
|
|
IMPORTED_LOCATION_DEBUG "${ZSTD_LIBRARY_DEBUG}")
|
|
|
|
endif()
|
|
|
|
endif()
|