From b0f5a220c41af013da3362e5c9751b593b22754a Mon Sep 17 00:00:00 2001 From: Andreas Sturmlechner Date: Mon, 29 Apr 2019 21:08:02 +0200 Subject: [PATCH 1/2] Import FindBrotliDec.cmake and FindBrotliEnc.cmake from Igalia S.L. MIT License, which fits well. Signed-off-by: Andreas Sturmlechner --- cmake/FindBrotliDec.cmake | 35 +++++++++++++++++++++++++++++++++++ cmake/FindBrotliEnc.cmake | 35 +++++++++++++++++++++++++++++++++++ 2 files changed, 70 insertions(+) create mode 100644 cmake/FindBrotliDec.cmake create mode 100644 cmake/FindBrotliEnc.cmake diff --git a/cmake/FindBrotliDec.cmake b/cmake/FindBrotliDec.cmake new file mode 100644 index 00000000..abb06f44 --- /dev/null +++ b/cmake/FindBrotliDec.cmake @@ -0,0 +1,35 @@ +# Copyright 2017 Igalia S.L. All Rights Reserved. +# +# Distributed under MIT license. +# See file LICENSE for detail or copy at https://opensource.org/licenses/MIT + +# Try to find BrotliDec. Once done, this will define +# +# BROTLIDEC_FOUND - system has BrotliDec. +# BROTLIDEC_INCLUDE_DIRS - the BrotliDec include directories +# BROTLIDEC_LIBRARIES - link these to use BrotliDec. + +find_package(PkgConfig) + +pkg_check_modules(PC_BROTLIDEC libbrotlidec) + +find_path(BROTLIDEC_INCLUDE_DIRS + NAMES brotli/decode.h + HINTS ${PC_BROTLIDEC_INCLUDEDIR} +) + +find_library(BROTLIDEC_LIBRARIES + NAMES brotlidec + HINTS ${PC_BROTLIDEC_LIBDIR} +) + +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args(BrotliDec + REQUIRED_VARS BROTLIDEC_INCLUDE_DIRS BROTLIDEC_LIBRARIES + FOUND_VAR BROTLIDEC_FOUND + VERSION_VAR PC_BROTLIDEC_VERSION) + +mark_as_advanced( + BROTLIDEC_INCLUDE_DIRS + BROTLIDEC_LIBRARIES +) diff --git a/cmake/FindBrotliEnc.cmake b/cmake/FindBrotliEnc.cmake new file mode 100644 index 00000000..4be347db --- /dev/null +++ b/cmake/FindBrotliEnc.cmake @@ -0,0 +1,35 @@ +# Copyright 2017 Igalia S.L. All Rights Reserved. +# +# Distributed under MIT license. +# See file LICENSE for detail or copy at https://opensource.org/licenses/MIT + +# Try to find BrotliEnc. Once done, this will define +# +# BROTLIENC_FOUND - system has BrotliEnc. +# BROTLIENC_INCLUDE_DIRS - the BrotliEnc include directories +# BROTLIENC_LIBRARIES - link these to use BrotliEnc. + +find_package(PkgConfig) + +pkg_check_modules(PC_BROTLIENC libbrotlienc) + +find_path(BROTLIENC_INCLUDE_DIRS + NAMES brotli/encode.h + HINTS ${PC_BROTLIENC_INCLUDEDIR} +) + +find_library(BROTLIENC_LIBRARIES + NAMES brotlienc + HINTS ${PC_BROTLIENC_LIBDIR} +) + +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args(BrotliEnc + REQUIRED_VARS BROTLIENC_INCLUDE_DIRS BROTLIENC_LIBRARIES + FOUND_VAR BROTLIENC_FOUND + VERSION_VAR PC_BROTLIENC_VERSION) + +mark_as_advanced( + BROTLIENC_INCLUDE_DIRS + BROTLIENC_LIBRARIES +) -- 2.21.0 From cd3486343001d6a47e4a468caa425ef835012463 Mon Sep 17 00:00:00 2001 From: Andreas Sturmlechner Date: Mon, 29 Apr 2019 21:11:57 +0200 Subject: [PATCH 2/2] Find system brotli instead of bundled Signed-off-by: Andreas Sturmlechner --- CMakeLists.txt | 5 +++-- cli/CMakeLists.txt | 2 +- lib/trace/CMakeLists.txt | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index bc988e95..6a62b3b7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -483,8 +483,11 @@ if (ENABLE_STATIC_SNAPPY OR NOT SNAPPY_FOUND) endif () include_directories (${SNAPPY_INCLUDE_DIRS}) -include_directories (${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/brotli/c/include) -add_subdirectory (thirdparty/brotli) +if (NOT BUILD_LIB_ONLY) + find_package(BrotliDec REQUIRED) + find_package(BrotliEnc REQUIRED) + include_directories (${BROTLIDEC_INCLUDE_DIRS} ${BROTLIENC_INCLUDE_DIRS}) +endif (NOT BUILD_LIB_ONLY) if (NOT WIN32 AND NOT ENABLE_STATIC_EXE) # zlib 1.2.4-1.2.5 made it impossible to read the last block of incomplete diff --git a/cli/CMakeLists.txt b/cli/CMakeLists.txt index a0189202..16428c63 100644 --- a/cli/CMakeLists.txt +++ b/cli/CMakeLists.txt @@ -39,7 +39,7 @@ add_executable (apitrace target_link_libraries (apitrace common - brotli_dec brotli_enc brotli_common + ${BROTLIDEC_LIBRARIES} ${BROTLIENC_LIBRARIES} ${ZLIB_LIBRARIES} ${SNAPPY_LIBRARIES} ${GETOPT_LIBRARIES} diff --git a/lib/trace/CMakeLists.txt b/lib/trace/CMakeLists.txt index c68bd00f..ce2e469e 100644 --- a/lib/trace/CMakeLists.txt +++ b/lib/trace/CMakeLists.txt @@ -31,7 +31,7 @@ target_link_libraries (common guids highlight os - brotli_dec brotli_common + ${BROTLIDEC_LIBRARIES} ${BROTLIENC_LIBRARIES} ) add_gtest (trace_parser_flags_test trace_parser_flags_test.cpp) -- 2.21.0