From ea167f1fa6b094f03a9220411e69b367a442cee7 Mon Sep 17 00:00:00 2001 From: Oleg Babin Date: Sat, 19 Feb 2022 13:31:43 +0300 Subject: [PATCH] fix parallel build for statically built librdkafka Closes #14 --- .github/workflows/fast_testing.yml | 4 +++- CMakeLists.txt | 10 ++++++---- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/.github/workflows/fast_testing.yml b/.github/workflows/fast_testing.yml index ab5a056..3a0ec32 100644 --- a/.github/workflows/fast_testing.yml +++ b/.github/workflows/fast_testing.yml @@ -48,7 +48,9 @@ jobs: run: pip3 install -r tests/requirements.txt - name: Build module - run: tarantoolctl rocks STATIC_BUILD=ON make + run: | + export MAKEFLAGS=-j8 + tarantoolctl rocks STATIC_BUILD=ON make - name: Run tarantool application run: TT_LOG=tarantool.log tarantool tests/app.lua > output.log 2>&1 & diff --git a/CMakeLists.txt b/CMakeLists.txt index bed59a4..3e3b656 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -10,8 +10,7 @@ set(MY_C_FLAGS "-Wall -Wextra -Werror -std=gnu11 -fno-strict-aliasing -Wno-depre set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${MY_C_FLAGS}") set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} ${MY_C_FLAGS} -ggdb3") -set(Tarantool_FIND_REQUIRED ON) -find_package(Tarantool) +find_package(Tarantool REQUIRED) # Oracle Connector requires fiber_cond API added in 1.7.4-291 string(REPLACE "-" "." tntver ${TARANTOOL_VERSION}) if(${tntver} VERSION_LESS 1.7.4.291) @@ -42,9 +41,12 @@ if(STATIC_BUILD) DEPENDS ${CMAKE_BINARY_DIR}/librdkafka/lib/librdkafka.a ) + add_library(librdkafka_static INTERFACE) + target_include_directories(librdkafka_static INTERFACE ${CMAKE_BINARY_DIR}/librdkafka/include) + target_link_libraries(librdkafka_static INTERFACE ${CMAKE_BINARY_DIR}/librdkafka/lib/librdkafka.a) + add_dependencies(librdkafka_static librdkafka.a) - set(RDKAFKA_LIBRARY ${RDKAFKA_LIBRARY} ${CMAKE_BINARY_DIR}/librdkafka/lib/librdkafka.a) - set(RDKAFKA_INCLUDE_DIR ${CMAKE_BINARY_DIR}/librdkafka/include) + set(RDKAFKA_LIBRARY ${RDKAFKA_LIBRARY} librdkafka_static) else() set(RDKAFKA_FIND_REQUIRED ON) find_package(RdKafka)