[avro-cpp] new port (#11376)

* Add files via upload

* [new port] avro-cpp

* add boost-format

* remove comments

* remove comments

* avro-cpp 1.9.2

* avro-cpp 1.9.2

* avro-cpp 1.9.2

* avro-cpp 1.9.2

* avro-cpp 1.9.2

* avro-cpp 1.9.2

* fix remarks

* fix remarks

* fix remarks

* Update ports/avro-cpp/portfile.cmake

Co-authored-by: NancyLi1013 <46708020+NancyLi1013@users.noreply.github.com>

* Update ports/avro-cpp/portfile.cmake

Co-authored-by: NancyLi1013 <46708020+NancyLi1013@users.noreply.github.com>

* add linux support

* back osx restriction

* Update ports/avro-cpp/portfile.cmake

Co-authored-by: NancyLi1013 <46708020+NancyLi1013@users.noreply.github.com>

* fix remarks

* Update ports/avro-cpp/CONTROL

* Update ports/avro-cpp/portfile.cmake

* add osx support

* Update portfile.cmake

* Update CONTROL

* Update scripts/ci.baseline.txt

Co-authored-by: NancyLi1013 <46708020+NancyLi1013@users.noreply.github.com>

* fix

* disable all static build

* fix remarks

* fix remarks

* Update ports/avro-cpp/portfile.cmake

Remove whitespace

Co-authored-by: Alexander Smyslov <aleksandr.smyslov@libertexgroup.com>
Co-authored-by: NancyLi1013 <46708020+NancyLi1013@users.noreply.github.com>
Co-authored-by: Smyslov Alexander Nikolayevich <aleksandr.smyslov@fxclub.com>
Co-authored-by: Billy Robert O'Neal III <bion@microsoft.com>
Co-authored-by: nicole mazzuca <mazzucan@outlook.com>
This commit is contained in:
alexander-smyslov 2020-08-01 22:55:50 +02:00 committed by GitHub
parent f7fe9e374f
commit 021db935f6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 145 additions and 0 deletions

9
ports/avro-cpp/CONTROL Normal file
View File

@ -0,0 +1,9 @@
Source: avro-cpp
Version: 1.9.2
Homepage: https://github.com/apache/avro
Description: Apache Avro is a data serialization system
Build-Depends: boost-format, boost-thread, boost-filesystem, boost-iostreams, boost-program-options, boost-random, boost-crc, boost-test, libzip, bzip2, liblzma, zlib, zstd
Feature: snappy
Build-Depends: snappy
Description: Support Snappy for compression

View File

@ -0,0 +1,100 @@
diff --git a/lang/c++/CMakeLists.txt b/lang/c++/CMakeLists.txt
index 30a5d66..f7f2b94 100644
--- a/lang/c++/CMakeLists.txt
+++ b/lang/c++/CMakeLists.txt
@@ -40,6 +40,8 @@ set (AVRO_VERSION_MINOR "0")
project (Avro-cpp)
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_SOURCE_DIR})
+find_package(ZLIB REQUIRED)
+
if (WIN32 AND NOT CYGWIN AND NOT MSYS)
add_definitions (/EHa)
add_definitions (
@@ -118,11 +120,11 @@ set_target_properties (avrocpp PROPERTIES
set_target_properties (avrocpp_s PROPERTIES
VERSION ${AVRO_VERSION_MAJOR}.${AVRO_VERSION_MINOR})
-target_link_libraries (avrocpp ${Boost_LIBRARIES} ${SNAPPY_LIBRARIES})
+target_link_libraries (avrocpp ${Boost_LIBRARIES} ${SNAPPY_LIBRARIES} ZLIB::ZLIB)
add_executable (precompile test/precompile.cc)
-target_link_libraries (precompile avrocpp_s ${Boost_LIBRARIES} ${SNAPPY_LIBRARIES})
+target_link_libraries (precompile avrocpp_s ${Boost_LIBRARIES} ${SNAPPY_LIBRARIES} ZLIB::ZLIB)
macro (gen file ns)
add_custom_command (OUTPUT ${file}.hh
@@ -151,34 +153,40 @@ gen (crossref cr)
gen (primitivetypes pt)
add_executable (avrogencpp impl/avrogencpp.cc)
-target_link_libraries (avrogencpp avrocpp_s ${Boost_LIBRARIES} ${SNAPPY_LIBRARIES})
+target_link_libraries (avrogencpp avrocpp_s ${Boost_LIBRARIES} ${SNAPPY_LIBRARIES} ZLIB::ZLIB)
+
-enable_testing()
+if(BUILD_TESTING)
+ enable_testing()
+endif()
macro (unittest name)
add_executable (${name} test/${name}.cc)
- target_link_libraries (${name} avrocpp ${Boost_LIBRARIES} ${SNAPPY_LIBRARIES})
+ target_link_libraries (${name} avrocpp ${Boost_LIBRARIES} ${SNAPPY_LIBRARIES} ZLIB::ZLIB)
add_test (NAME ${name} WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
COMMAND ${CMAKE_CURRENT_BINARY_DIR}/${name})
endmacro (unittest)
-unittest (buffertest)
-unittest (unittest)
-unittest (SchemaTests)
-unittest (LargeSchemaTests)
-unittest (CodecTests)
-unittest (StreamTests)
-unittest (SpecificTests)
-unittest (DataFileTests)
-unittest (JsonTests)
-unittest (AvrogencppTests)
-unittest (CompilerTests)
-
-add_dependencies (AvrogencppTests bigrecord_hh bigrecord_r_hh bigrecord2_hh
- tweet_hh
- union_array_union_hh union_map_union_hh union_conflict_hh
- recursive_hh reuse_hh circulardep_hh tree1_hh tree2_hh crossref_hh
- primitivetypes_hh empty_record_hh)
+if(BUILD_TESTING)
+ unittest (buffertest)
+ unittest (unittest)
+ unittest (SchemaTests)
+ unittest (LargeSchemaTests)
+ unittest (CodecTests)
+ unittest (StreamTests)
+ unittest (SpecificTests)
+ unittest (DataFileTests)
+ unittest (JsonTests)
+ unittest (AvrogencppTests)
+ unittest (CompilerTests)
+
+ add_dependencies (AvrogencppTests bigrecord_hh bigrecord_r_hh bigrecord2_hh
+ tweet_hh
+ union_array_union_hh union_map_union_hh union_conflict_hh
+ recursive_hh reuse_hh circulardep_hh tree1_hh tree2_hh crossref_hh
+ primitivetypes_hh empty_record_hh)
+
+endif()
include (InstallRequiredSystemLibraries)
@@ -189,9 +197,9 @@ include (CPack)
install (TARGETS avrocpp avrocpp_s
LIBRARY DESTINATION lib
ARCHIVE DESTINATION lib
- RUNTIME DESTINATION lib)
+ RUNTIME DESTINATION bin)
-install (TARGETS avrogencpp RUNTIME DESTINATION bin)
+install (TARGETS avrogencpp RUNTIME DESTINATION tools/bin)
install (DIRECTORY api/ DESTINATION include/avro
FILES_MATCHING PATTERN *.hh)

View File

@ -0,0 +1,35 @@
vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO apache/avro
REF release-1.9.2
SHA512 6a6980901eea964c050eb3d61fadf28712e2f02c36985bf8e5176b668bba48985f6a666554a1964435448de29b18d790ab86b787d0288a22fd9cba00746a7846
HEAD_REF master
PATCHES
install.patch
)
vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
INVERTED_FEATURES
snappy CMAKE_DISABLE_FIND_PACKAGE_Snappy
)
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}/lang/c++
PREFER_NINJA
DISABLE_PARALLEL_CONFIGURE
OPTIONS
-DBUILD_TESTING=OFF
${FEATURE_OPTIONS}
OPTIONS_DEBUG
-DAVRO_ADD_PROTECTOR_FLAGS=1
)
vcpkg_install_cmake(ADD_BIN_TO_PATH)
vcpkg_copy_pdbs()
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
file(INSTALL ${SOURCE_PATH}/lang/c++/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)

View File

@ -90,6 +90,7 @@ avisynthplus:x64-windows-static=fail
avro-c:arm-uwp=fail
avro-c:x64-osx=fail
avro-c:x64-uwp=fail
avro-cpp:x64-windows-static=fail
aws-c-common:arm64-windows=fail
aws-c-common:arm-uwp=fail
aws-c-common:x64-uwp=fail