ClickHouse/contrib/zstd-cmake/CMakeLists.txt
proller fc2925b567 Squashed commit of the following:
commit 2722e540abfee4a527d716474c4ca582eceeee08
Merge: b4f3af824 aebddd550
Author: proller <proller@github.com>
Date:   Tue Aug 21 18:34:18 2018 +0300

    Merge remote-tracking branch 'upstream/master' into fix3

commit b4f3af824b88a8b6826583bb483730827574e8ad
Author: proller <proller@github.com>
Date:   Tue Aug 21 17:00:20 2018 +0300

    fix

commit 3a18fa7ded2a7d6b7a0883a1b9c2d6b99360837d
Author: proller <proller@github.com>
Date:   Tue Aug 21 16:57:17 2018 +0300

    fix

commit 5d42220c2cf47e1a86bdc73dbfc24b68f8626891
Author: proller <proller@github.com>
Date:   Tue Aug 21 16:50:21 2018 +0300

    freebsd fixes

commit 7baf4fb5ba4575f79b0d12a9ffaaabd34e1006da
Author: proller <proller@github.com>
Date:   Tue Aug 21 16:17:19 2018 +0300

    fix

commit e1fe707fd765b841a8d0952d91a980128cbf91d0
Author: proller <proller@github.com>
Date:   Tue Aug 21 15:35:21 2018 +0300

    fix

commit 027887c71b3ffa98d9473d50d8c3b79cbf3304ac
Author: proller <proller@github.com>
Date:   Tue Aug 21 15:25:57 2018 +0300

    fix

commit 81af41bfcfff7c02fe4060196cf03c2d2aab416e
Author: proller <proller@github.com>
Date:   Tue Aug 21 15:20:41 2018 +0300

    fix

commit 93d572c85d9c7e331254999a614c3b22b5573b02
Author: proller <proller@github.com>
Date:   Tue Aug 21 14:58:07 2018 +0300

    SPLIT_SHARED

commit dd5b8990d8527d59b1e890943d80c2bf27c613ce
Author: proller <proller@github.com>
Date:   Tue Aug 21 14:52:39 2018 +0300

    fix

commit 4840ca12ab752a38c1ef482e8ec59c5859bb48d7
Author: proller <proller@github.com>
Date:   Tue Aug 21 14:46:31 2018 +0300

    fix

commit abde633beb86f2a0d025d6fcf079965dbd827b92
Author: proller <proller@github.com>
Date:   Tue Aug 21 14:25:32 2018 +0300

    fix

commit 0d94a5476a5ba8ba5e88638d58f2cfbf2b4b662d
Author: proller <proller@github.com>
Date:   Tue Aug 21 14:45:18 2018 +0300

    Travis: try fail on ninja fail

commit c2686f90b68255c2beb0a708804aef404e80a6d2
Merge: 2c3427bbd 2aa7eb463
Author: proller <proller@github.com>
Date:   Tue Aug 21 14:25:15 2018 +0300

    Merge remote-tracking branch 'upstream/master' into fix3

commit 2c3427bbdb861edbb188ed4621e8a05cafaedafb
Author: proller <proller@github.com>
Date:   Mon Aug 20 23:57:24 2018 +0300

    fix

commit 530170c6a81d31dcfa81230e48520383234df4bc
Merge: 9abec162c f6e4ec970
Author: proller <proller@github.com>
Date:   Mon Aug 20 23:57:03 2018 +0300

    Merge remote-tracking branch 'upstream/master' into fix3

commit 9abec162cb2e09bbc2f33cbe80fe76791f6e5a77
Author: proller <proller@github.com>
Date:   Mon Aug 20 23:49:58 2018 +0300

    Apple fixes

commit 36d05e8217440fbc8ae21571b06d4eb6d679d538
Author: proller <proller@github.com>
Date:   Mon Aug 20 23:25:05 2018 +0300

    apple fix

commit aeec3e845e4456e89fbb1b1af6f9f36820a46e33
Author: proller <proller@github.com>
Date:   Mon Aug 20 23:20:06 2018 +0300

    fixes

commit 427961d916a5954981e47d94733996deb2a616ce
Author: proller <proller@github.com>
Date:   Mon Aug 20 23:11:11 2018 +0300

    fix

commit a7dd55ff8f653624c0f3dbcbc54defd3b3ae97af
Author: proller <proller@github.com>
Date:   Mon Aug 20 22:41:53 2018 +0300

    fix

commit 6200e0d315c7a62bae63a8de0fc32f7937770ad2
Merge: 8a541d7e6 21cedbe46
Author: proller <proller@github.com>
Date:   Mon Aug 20 22:35:49 2018 +0300

    Merge remote-tracking branch 'upstream/master' into fix3

commit 8a541d7e64c89e2c16af6c909e0353361153aaa3
Author: proller <proller@github.com>
Date:   Mon Aug 20 22:34:32 2018 +0300

    Do not use poco types

commit fd560f43d048b7e3307c6c6b9c9d9918230014d8
Author: proller <proller@github.com>
Date:   Mon Aug 20 22:20:42 2018 +0300

    Try fix apple build

commit cfb2eba07ac06f19e822d3474341d800b1f98cf1
Merge: 8d2e31c90 5b81fdfc0
Author: proller <proller@github.com>
Date:   Mon Aug 20 22:03:24 2018 +0300

    Merge remote-tracking branch 'upstream/master' into fix3

commit 8d2e31c908be2e99d09e2a9dde2414ab82a5e93c
Author: proller <proller@github.com>
Date:   Mon Aug 20 21:56:06 2018 +0300

    travis: TEST_SERVER_STARTUP_WAIT=10
2018-08-21 18:56:50 +03:00

131 lines
5.5 KiB
CMake

# ################################################################
# zstd - Makefile
# Copyright (C) Yann Collet 2014-2016
# All rights reserved.
#
# BSD license
#
# Redistribution and use in source and binary forms, with or without modification,
# are permitted provided that the following conditions are met:
#
# * Redistributions of source code must retain the above copyright notice, this
# list of conditions and the following disclaimer.
#
# * Redistributions in binary form must reproduce the above copyright notice, this
# list of conditions and the following disclaimer in the documentation and/or
# other materials provided with the distribution.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
# ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
# You can contact the author at :
# - zstd homepage : http://www.zstd.net/
# ################################################################
# Get library version based on information from input content (use regular exp)
function(GetLibraryVersion _content _outputVar1 _outputVar2 _outputVar3)
string(REGEX MATCHALL ".*define ZSTD_VERSION_MAJOR+.* ([0-9]+).*define ZSTD_VERSION_MINOR+.* ([0-9]+).*define ZSTD_VERSION_RELEASE+.* ([0-9]+)" VERSION_REGEX "${_content}")
SET(${_outputVar1} ${CMAKE_MATCH_1} PARENT_SCOPE)
SET(${_outputVar2} ${CMAKE_MATCH_2} PARENT_SCOPE)
SET(${_outputVar3} ${CMAKE_MATCH_3} PARENT_SCOPE)
endfunction()
# Define library directory, where sources and header files are located
SET(LIBRARY_DIR ${ClickHouse_SOURCE_DIR}/contrib/zstd/lib)
INCLUDE_DIRECTORIES(BEFORE ${LIBRARY_DIR} ${LIBRARY_DIR}/common)
# Read file content
FILE(READ ${LIBRARY_DIR}/zstd.h HEADER_CONTENT)
# Parse version
GetLibraryVersion("${HEADER_CONTENT}" LIBVER_MAJOR LIBVER_MINOR LIBVER_RELEASE)
MESSAGE(STATUS "ZSTD VERSION ${LIBVER_MAJOR}.${LIBVER_MINOR}.${LIBVER_RELEASE}")
SET(Sources
${LIBRARY_DIR}/common/entropy_common.c
${LIBRARY_DIR}/common/error_private.c
${LIBRARY_DIR}/common/fse_decompress.c
${LIBRARY_DIR}/common/pool.c
${LIBRARY_DIR}/common/threading.c
${LIBRARY_DIR}/common/xxhash.c
${LIBRARY_DIR}/common/zstd_common.c
${LIBRARY_DIR}/compress/fse_compress.c
${LIBRARY_DIR}/compress/huf_compress.c
${LIBRARY_DIR}/compress/zstd_compress.c
${LIBRARY_DIR}/compress/zstd_double_fast.c
${LIBRARY_DIR}/compress/zstd_fast.c
${LIBRARY_DIR}/compress/zstd_lazy.c
${LIBRARY_DIR}/compress/zstd_ldm.c
${LIBRARY_DIR}/compress/zstdmt_compress.c
${LIBRARY_DIR}/compress/zstd_opt.c
${LIBRARY_DIR}/decompress/huf_decompress.c
${LIBRARY_DIR}/decompress/zstd_decompress.c
${LIBRARY_DIR}/deprecated/zbuff_common.c
${LIBRARY_DIR}/deprecated/zbuff_compress.c
${LIBRARY_DIR}/deprecated/zbuff_decompress.c
${LIBRARY_DIR}/dictBuilder/cover.c
${LIBRARY_DIR}/dictBuilder/divsufsort.c
${LIBRARY_DIR}/dictBuilder/zdict.c)
SET(Headers
${LIBRARY_DIR}/common/bitstream.h
${LIBRARY_DIR}/common/error_private.h
${LIBRARY_DIR}/common/fse.h
${LIBRARY_DIR}/common/huf.h
${LIBRARY_DIR}/common/mem.h
${LIBRARY_DIR}/common/pool.h
${LIBRARY_DIR}/common/threading.h
${LIBRARY_DIR}/common/xxhash.h
${LIBRARY_DIR}/common/zstd_errors.h
${LIBRARY_DIR}/common/zstd_internal.h
${LIBRARY_DIR}/compress/zstd_double_fast.h
${LIBRARY_DIR}/compress/zstd_fast.h
${LIBRARY_DIR}/compress/zstd_lazy.h
${LIBRARY_DIR}/compress/zstd_ldm.h
${LIBRARY_DIR}/compress/zstdmt_compress.h
${LIBRARY_DIR}/compress/zstd_opt.h
${LIBRARY_DIR}/compress/zstd_ldm.h
${LIBRARY_DIR}/deprecated/zbuff.h
${LIBRARY_DIR}/dictBuilder/divsufsort.h
${LIBRARY_DIR}/dictBuilder/zdict.h
${LIBRARY_DIR}/zstd.h)
SET(ZSTD_LEGACY_SUPPORT true)
IF (ZSTD_LEGACY_SUPPORT)
SET(LIBRARY_LEGACY_DIR ${LIBRARY_DIR}/legacy)
INCLUDE_DIRECTORIES(BEFORE ${LIBRARY_LEGACY_DIR})
ADD_DEFINITIONS(-D ZSTD_LEGACY_SUPPORT=1)
SET(Sources ${Sources}
${LIBRARY_LEGACY_DIR}/zstd_v01.c
${LIBRARY_LEGACY_DIR}/zstd_v02.c
${LIBRARY_LEGACY_DIR}/zstd_v03.c
${LIBRARY_LEGACY_DIR}/zstd_v04.c
${LIBRARY_LEGACY_DIR}/zstd_v05.c
${LIBRARY_LEGACY_DIR}/zstd_v06.c
${LIBRARY_LEGACY_DIR}/zstd_v07.c)
SET(Headers ${Headers}
${LIBRARY_LEGACY_DIR}/zstd_legacy.h
${LIBRARY_LEGACY_DIR}/zstd_v01.h
${LIBRARY_LEGACY_DIR}/zstd_v02.h
${LIBRARY_LEGACY_DIR}/zstd_v03.h
${LIBRARY_LEGACY_DIR}/zstd_v04.h
${LIBRARY_LEGACY_DIR}/zstd_v05.h
${LIBRARY_LEGACY_DIR}/zstd_v06.h
${LIBRARY_LEGACY_DIR}/zstd_v07.h)
ENDIF (ZSTD_LEGACY_SUPPORT)
ADD_LIBRARY(zstd ${SPLIT_SHARED} ${Sources} ${Headers})
target_include_directories (zstd PUBLIC ${LIBRARY_DIR})