2022-11-22 00:51:38 +08:00
|
|
|
diff --git "a/lang/c++/CMakeLists.txt" "b/lang/c++/CMakeLists.txt"
|
|
|
|
index 52d6ac8a..39d59cd8 100644
|
|
|
|
--- "a/lang/c++/CMakeLists.txt"
|
|
|
|
+++ "b/lang/c++/CMakeLists.txt"
|
|
|
|
@@ -51,6 +51,8 @@ list(GET AVRO_VERSION 2 AVRO_VERSION_PATCH)
|
2020-08-02 04:55:50 +08:00
|
|
|
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 (
|
2022-11-22 00:51:38 +08:00
|
|
|
@@ -64,7 +66,8 @@ if (WIN32 AND NOT CYGWIN AND NOT MSYS)
|
|
|
|
endif()
|
|
|
|
|
|
|
|
if (CMAKE_COMPILER_IS_GNUCXX)
|
|
|
|
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -pedantic -Werror")
|
|
|
|
+ # Remove " -Werror" because of warning from boost-math (will require C++ 14 soon)
|
|
|
|
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -pedantic")
|
|
|
|
if (AVRO_ADD_PROTECTOR_FLAGS)
|
|
|
|
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -fstack-protector-all -D_GLIBCXX_DEBUG")
|
|
|
|
# Unset _GLIBCXX_DEBUG for avrogencpp.cc because using Boost Program Options
|
|
|
|
@@ -131,12 +134,12 @@ set_target_properties (avrocpp PROPERTIES
|
2020-08-02 04:55:50 +08:00
|
|
|
set_target_properties (avrocpp_s PROPERTIES
|
[boost] update to 1.76.0 (#17335)
* [boost] update generator script for boost 1.76
* [boost] update ports to 1.76.0 (run generator)
* [boost] fix windows build?
* [quantlib] update and fix mac build
* [symengine] update and fix build
* [avro-cpp] update to latest master and fix windows build
* [folly] update to 2021.05.31.00
* [fbthrift, fizz, wangle] update to v2021.05.31.00 and fix build
* [proxygen] update to version 2021.05.31.00
* [fizz, proxygen, fbthrift] fix sodium target
* [proxygen] also works on macOS
* [quantlib] use fix from upstream to fix mac build
* [symengine] minimize patch file and fix deprecation warning
* [folly,proxygen,wangle,fizz,fbthrift] update to 2021.06.14.00
* [fbthrift] remove unnecessary dependency rsocket
I couldn't find any information that this dependency exists. The term is used in the code, but not in the context of a dependency
* [fizz,fbthrift] fix zlib dependency
* [fbthrift] pass required flex executable to cmake configure
* add version files
* [boost] generate-ports.ps1: Apply code review
* [boost] changes from new version of generate-ports script
* update version files
* [boost] generate-ports.ps1: Apply code review
2021-07-08 03:31:06 +08:00
|
|
|
VERSION ${AVRO_VERSION_MAJOR}.${AVRO_VERSION_MINOR}.${AVRO_VERSION_PATCH})
|
2020-08-02 04:55:50 +08:00
|
|
|
|
|
|
|
-target_link_libraries (avrocpp ${Boost_LIBRARIES} ${SNAPPY_LIBRARIES})
|
|
|
|
+target_link_libraries (avrocpp ${Boost_LIBRARIES} ${SNAPPY_LIBRARIES} ZLIB::ZLIB)
|
[boost] update to 1.76.0 (#17335)
* [boost] update generator script for boost 1.76
* [boost] update ports to 1.76.0 (run generator)
* [boost] fix windows build?
* [quantlib] update and fix mac build
* [symengine] update and fix build
* [avro-cpp] update to latest master and fix windows build
* [folly] update to 2021.05.31.00
* [fbthrift, fizz, wangle] update to v2021.05.31.00 and fix build
* [proxygen] update to version 2021.05.31.00
* [fizz, proxygen, fbthrift] fix sodium target
* [proxygen] also works on macOS
* [quantlib] use fix from upstream to fix mac build
* [symengine] minimize patch file and fix deprecation warning
* [folly,proxygen,wangle,fizz,fbthrift] update to 2021.06.14.00
* [fbthrift] remove unnecessary dependency rsocket
I couldn't find any information that this dependency exists. The term is used in the code, but not in the context of a dependency
* [fizz,fbthrift] fix zlib dependency
* [fbthrift] pass required flex executable to cmake configure
* add version files
* [boost] generate-ports.ps1: Apply code review
* [boost] changes from new version of generate-ports script
* update version files
* [boost] generate-ports.ps1: Apply code review
2021-07-08 03:31:06 +08:00
|
|
|
target_include_directories(avrocpp PRIVATE ${SNAPPY_INCLUDE_DIR})
|
2020-08-02 04:55:50 +08:00
|
|
|
|
|
|
|
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
|
2022-11-22 00:51:38 +08:00
|
|
|
@@ -166,37 +169,41 @@ gen (primitivetypes pt)
|
[boost] update to 1.76.0 (#17335)
* [boost] update generator script for boost 1.76
* [boost] update ports to 1.76.0 (run generator)
* [boost] fix windows build?
* [quantlib] update and fix mac build
* [symengine] update and fix build
* [avro-cpp] update to latest master and fix windows build
* [folly] update to 2021.05.31.00
* [fbthrift, fizz, wangle] update to v2021.05.31.00 and fix build
* [proxygen] update to version 2021.05.31.00
* [fizz, proxygen, fbthrift] fix sodium target
* [proxygen] also works on macOS
* [quantlib] use fix from upstream to fix mac build
* [symengine] minimize patch file and fix deprecation warning
* [folly,proxygen,wangle,fizz,fbthrift] update to 2021.06.14.00
* [fbthrift] remove unnecessary dependency rsocket
I couldn't find any information that this dependency exists. The term is used in the code, but not in the context of a dependency
* [fizz,fbthrift] fix zlib dependency
* [fbthrift] pass required flex executable to cmake configure
* add version files
* [boost] generate-ports.ps1: Apply code review
* [boost] changes from new version of generate-ports script
* update version files
* [boost] generate-ports.ps1: Apply code review
2021-07-08 03:31:06 +08:00
|
|
|
gen (cpp_reserved_words cppres)
|
2020-08-02 04:55:50 +08:00
|
|
|
|
|
|
|
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)
|
2022-11-22 00:51:38 +08:00
|
|
|
- add_executable (${name} test/${name}.cc)
|
2020-08-02 04:55:50 +08:00
|
|
|
- target_link_libraries (${name} avrocpp ${Boost_LIBRARIES} ${SNAPPY_LIBRARIES})
|
2022-11-22 00:51:38 +08:00
|
|
|
+ add_executable (${name} test/${name}.cc impl/json/JsonIO.cc impl/json/JsonDom.cc)
|
2020-08-02 04:55:50 +08:00
|
|
|
+ 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)
|
[boost] update to 1.76.0 (#17335)
* [boost] update generator script for boost 1.76
* [boost] update ports to 1.76.0 (run generator)
* [boost] fix windows build?
* [quantlib] update and fix mac build
* [symengine] update and fix build
* [avro-cpp] update to latest master and fix windows build
* [folly] update to 2021.05.31.00
* [fbthrift, fizz, wangle] update to v2021.05.31.00 and fix build
* [proxygen] update to version 2021.05.31.00
* [fizz, proxygen, fbthrift] fix sodium target
* [proxygen] also works on macOS
* [quantlib] use fix from upstream to fix mac build
* [symengine] minimize patch file and fix deprecation warning
* [folly,proxygen,wangle,fizz,fbthrift] update to 2021.06.14.00
* [fbthrift] remove unnecessary dependency rsocket
I couldn't find any information that this dependency exists. The term is used in the code, but not in the context of a dependency
* [fizz,fbthrift] fix zlib dependency
* [fbthrift] pass required flex executable to cmake configure
* add version files
* [boost] generate-ports.ps1: Apply code review
* [boost] changes from new version of generate-ports script
* update version files
* [boost] generate-ports.ps1: Apply code review
2021-07-08 03:31:06 +08:00
|
|
|
-unittest (AvrogencppTestReservedWords)
|
|
|
|
-
|
|
|
|
-add_dependencies (AvrogencppTestReservedWords cpp_reserved_words_hh)
|
2020-08-02 04:55:50 +08:00
|
|
|
-
|
|
|
|
-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)
|
[boost] update to 1.76.0 (#17335)
* [boost] update generator script for boost 1.76
* [boost] update ports to 1.76.0 (run generator)
* [boost] fix windows build?
* [quantlib] update and fix mac build
* [symengine] update and fix build
* [avro-cpp] update to latest master and fix windows build
* [folly] update to 2021.05.31.00
* [fbthrift, fizz, wangle] update to v2021.05.31.00 and fix build
* [proxygen] update to version 2021.05.31.00
* [fizz, proxygen, fbthrift] fix sodium target
* [proxygen] also works on macOS
* [quantlib] use fix from upstream to fix mac build
* [symengine] minimize patch file and fix deprecation warning
* [folly,proxygen,wangle,fizz,fbthrift] update to 2021.06.14.00
* [fbthrift] remove unnecessary dependency rsocket
I couldn't find any information that this dependency exists. The term is used in the code, but not in the context of a dependency
* [fizz,fbthrift] fix zlib dependency
* [fbthrift] pass required flex executable to cmake configure
* add version files
* [boost] generate-ports.ps1: Apply code review
* [boost] changes from new version of generate-ports script
* update version files
* [boost] generate-ports.ps1: Apply code review
2021-07-08 03:31:06 +08:00
|
|
|
+ unittest (AvrogencppTestReservedWords)
|
|
|
|
+
|
|
|
|
+ add_dependencies (AvrogencppTestReservedWords cpp_reserved_words_hh)
|
2020-08-02 04:55:50 +08:00
|
|
|
+
|
|
|
|
+ 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)
|
|
|
|
|
2022-11-22 00:51:38 +08:00
|
|
|
@@ -207,9 +214,9 @@ include (CPack)
|
2020-08-02 04:55:50 +08:00
|
|
|
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)
|