Petr Kubánek created AVRO-4113: ---------------------------------- Summary: Don't generate test C++ files when tests aren't selected Key: AVRO-4113 URL: https://issues.apache.org/jira/browse/AVRO-4113 Project: Apache Avro Issue Type: Improvement Components: c++ Reporter: Petr Kubánek
The gen macro (which converts interfaces to c++ bindings) is called when tests aren't needed. This works fine unless you try to cross-compile Avro - then of course avrocppgen is a binary, that cannot be run on your host, and so the compilation fails. This patch should make it possible to skip gen when tests aren't requested: {code} diff --git a/lang/c++/CMakeLists.txt b/lang/c++/CMakeLists.txt index 8e7f12bb5..47d0d42de 100644 --- a/lang/c++/CMakeLists.txt +++ b/lang/c++/CMakeLists.txt @@ -170,6 +170,13 @@ if (AVRO_BUILD_EXECUTABLES) target_link_libraries (precompile avrocpp_s) + add_executable (avrogencpp impl/avrogencpp.cc) + target_link_libraries (avrogencpp avrocpp_s ${Boost_LIBRARIES}) +endif () + +if (AVRO_BUILD_TESTS) + enable_testing() + macro (gen file ns) add_custom_command (OUTPUT ${file}.hh COMMAND avrogencpp @@ -201,13 +208,6 @@ if (AVRO_BUILD_EXECUTABLES) gen (big_union big_union) gen (union_redundant_types redundant_types) - add_executable (avrogencpp impl/avrogencpp.cc) - target_link_libraries (avrogencpp avrocpp_s ${Boost_LIBRARIES}) -endif () - -if (AVRO_BUILD_TESTS) - enable_testing() - macro (unittest name) add_executable (${name} test/${name}.cc) target_link_libraries (${name} avrocpp_s ${Boost_LIBRARIES} ${SNAPPY_LIBRARIES} ${ZLIB_LIBRARIES}) {code} I marked that as blocked, as without that I will be unable to get openembedded/NI cRIO compilation working without some manual tinkering. -- This message was sent by Atlassian Jira (v8.20.10#820010)