summaryrefslogtreecommitdiffstats
path: root/fluent-bit/lib/avro/CMakeLists.txt
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-03-09 13:19:48 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-03-09 13:20:02 +0000
commit58daab21cd043e1dc37024a7f99b396788372918 (patch)
tree96771e43bb69f7c1c2b0b4f7374cb74d7866d0cb /fluent-bit/lib/avro/CMakeLists.txt
parentReleasing debian version 1.43.2-1. (diff)
downloadnetdata-58daab21cd043e1dc37024a7f99b396788372918.tar.xz
netdata-58daab21cd043e1dc37024a7f99b396788372918.zip
Merging upstream version 1.44.3.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'fluent-bit/lib/avro/CMakeLists.txt')
-rw-r--r--fluent-bit/lib/avro/CMakeLists.txt203
1 files changed, 203 insertions, 0 deletions
diff --git a/fluent-bit/lib/avro/CMakeLists.txt b/fluent-bit/lib/avro/CMakeLists.txt
new file mode 100644
index 000000000..36b0a0283
--- /dev/null
+++ b/fluent-bit/lib/avro/CMakeLists.txt
@@ -0,0 +1,203 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# https://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+cmake_minimum_required(VERSION 3.1)
+project(AvroC C)
+enable_testing()
+
+set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_SOURCE_DIR})
+
+# Eliminates warning about linker paths when linking both zlib and
+# liblzma.
+cmake_policy(SET CMP0003 NEW)
+
+#-----------------------------------------------------------------------
+# Retrieve the current version number
+
+if (UNIX)
+ execute_process(COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/version.sh project
+ WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
+ RESULT_VARIABLE AVRO_VERSION_RESULT
+ OUTPUT_VARIABLE AVRO_VERSION
+ OUTPUT_STRIP_TRAILING_WHITESPACE)
+ if(AVRO_VERSION_RESULT)
+ message(FATAL_ERROR "Cannot determine Avro version number")
+ endif(AVRO_VERSION_RESULT)
+
+ execute_process(COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/version.sh libtool
+ WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
+ RESULT_VARIABLE LIBAVRO_VERSION_RESULT
+ OUTPUT_VARIABLE LIBAVRO_VERSION
+ OUTPUT_STRIP_TRAILING_WHITESPACE)
+ if(LIBAVRO_VERSION_RESULT)
+ message(FATAL_ERROR "Cannot determine libavro version number")
+ endif(LIBAVRO_VERSION_RESULT)
+
+ execute_process(COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/version.sh libcurrent
+ WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
+ RESULT_VARIABLE LIBAVRO_SOVERSION_RESULT
+ OUTPUT_VARIABLE LIBAVRO_SOVERSION
+ OUTPUT_STRIP_TRAILING_WHITESPACE)
+ if(LIBAVRO_SOVERSION_RESULT)
+ message(FATAL_ERROR "Cannot determine libavro version number")
+ endif(LIBAVRO_SOVERSION_RESULT)
+
+else(UNIX)
+ # Hard code for win32 -- need to figure out how to port version.sh for
+ # Windows.
+ set(LIBAVRO_VERSION "22:0:0")
+endif(UNIX)
+
+
+#-----------------------------------------------------------------------
+# Extract major.minor.patch from version number
+
+if (UNIX)
+ string(REGEX REPLACE "([0-9]+)\\..*"
+ "\\1"
+ AVRO_MAJOR_VERSION
+ ${AVRO_VERSION}
+ )
+ string(REGEX REPLACE ".*\\.([0-9]+)\\..*"
+ "\\1"
+ AVRO_MINOR_VERSION
+ ${AVRO_VERSION}
+ )
+ string(REGEX REPLACE ".*\\..*\\.([0-9]+).*"
+ "\\1"
+ AVRO_PATCH_VERSION
+ ${AVRO_VERSION}
+ )
+ string(REGEX REPLACE ".*\\..*\\.[0-9]+(.*)"
+ "\\1"
+ AVRO_VERSION_EXTENSION
+ ${AVRO_VERSION}
+ )
+endif(UNIX)
+
+#-----------------------------------------------------------------------
+# Source package support
+
+include(CPackConfig.txt)
+include(CheckLibraryExists)
+
+
+if(APPLE)
+ if (NOT CMAKE_INSTALL_NAME_DIR)
+ set(CMAKE_INSTALL_NAME_DIR "${CMAKE_INSTALL_PREFIX}/lib")
+ endif (NOT CMAKE_INSTALL_NAME_DIR)
+endif(APPLE)
+
+if(CMAKE_COMPILER_IS_GNUCC)
+ add_definitions(-W -Wall)
+endif(CMAKE_COMPILER_IS_GNUCC)
+
+if (WIN32)
+ # Compile win32 in C++ to allow declarations after statements
+ add_definitions(/TP)
+endif(WIN32)
+
+# Uncomment to allow missing fields in the resolved-writer
+# add_definitions(-DAVRO_ALLOW_MISSING_FIELDS_IN_RESOLVED_WRITER)
+
+# Uncomment to allow non-atomic increment/decrement of reference count
+# add_definitions(-DAVRO_ALLOW_NON_ATOMIC_REFCOUNT)
+
+# Thread support (only for *nix with pthreads)
+set(THREADS_LIBRARIES)
+if(UNIX AND THREADSAFE AND CMAKE_COMPILER_IS_GNUCC)
+ set(CMAKE_THREAD_PREFER_PTHREAD)
+ find_package(Threads)
+
+ if(NOT CMAKE_USE_PTHREADS_INIT)
+ message(FATAL_ERROR "pthreads not found")
+ endif(NOT CMAKE_USE_PTHREADS_INIT)
+
+ add_definitions(-DTHREADSAFE -D_REENTRANT)
+ set(THREADS_LIBRARIES ${CMAKE_THREAD_LIBS_INIT})
+endif(UNIX AND THREADSAFE AND CMAKE_COMPILER_IS_GNUCC)
+
+include_directories(${AvroC_SOURCE_DIR}/src)
+
+
+# Enable codecs
+
+find_package(ZLIB)
+if (ZLIB_FOUND)
+ set(ZLIB_PKG zlib)
+ add_definitions(-DDEFLATE_CODEC)
+ include_directories(${ZLIB_INCLUDE_DIRS})
+ message("Enabled deflate codec")
+else (ZLIB_FOUND)
+ set(ZLIB_PKG "")
+ set(ZLIB_LIBRARIES "")
+ message("Disabled deflate codec. zlib not found.")
+endif (ZLIB_FOUND)
+
+find_package(Snappy)
+if (SNAPPY_FOUND AND ZLIB_FOUND) # Snappy borrows crc32 from zlib
+ set(SNAPPY_PKG libsnappy)
+ add_definitions(-DSNAPPY_CODEC)
+ include_directories(${SNAPPY_INCLUDE_DIRS})
+ message("Enabled snappy codec")
+else (SNAPPY_FOUND AND ZLIB_FOUND)
+ set(SNAPPY_PKG "")
+ set(SNAPPY_LIBRARIES "")
+ message("Disabled snappy codec. libsnappy not found or zlib not found.")
+endif (SNAPPY_FOUND AND ZLIB_FOUND)
+
+find_package(PkgConfig)
+pkg_check_modules(LZMA liblzma)
+if (LZMA_FOUND)
+ set(LZMA_PKG liblzma)
+ add_definitions(-DLZMA_CODEC)
+ include_directories(${LZMA_INCLUDE_DIRS})
+ link_directories(${LZMA_LIBRARY_DIRS})
+ message("Enabled lzma codec")
+else (LZMA_FOUND)
+ set(LZMA_PKG "")
+ set(LZMA_LIBRARIES "")
+ message("Disabled lzma codec. liblzma not found.")
+endif (LZMA_FOUND)
+
+set(CODEC_LIBRARIES ${ZLIB_LIBRARIES} ${LZMA_LIBRARIES} ${SNAPPY_LIBRARIES})
+set(CODEC_PKG "@ZLIB_PKG@ @LZMA_PKG@ @SNAPPY_PKG@")
+
+# updated by edsiper, avro version 77692d8c1
+# commented out by mcqueen because jansson is now embedded here 07OCT2020
+# Jansson JSON library
+#pkg_check_modules(JANSSON jansson>=2.3)
+#if (JANSSON_FOUND)
+# set(JANSSON_PKG libjansson)
+# include_directories(${JANSSON_INCLUDE_DIRS})
+# link_directories(${JANSSON_LIBRARY_DIRS})
+#else (JANSSON_FOUND)
+# message(FATAL_ERROR "libjansson >=2.3 not found")
+#endif (JANSSON_FOUND)
+
+# updated by edsiper, avro version 77692d8c1
+# added by mcqueen to get the headers into the fluent-bit build root 07OCT2020
+include_directories(${CMAKE_BINARY_DIR}/lib/jansson/include/)
+
+add_subdirectory(src)
+#add_subdirectory(examples)
+#add_subdirectory(tests)
+#add_subdirectory(docs)
+
+add_custom_target(pretty
+ "${CMAKE_COMMAND}" -P "${CMAKE_CURRENT_SOURCE_DIR}/cmake_pretty.cmake")