[OBCDC] fix build error with OB_BUILD_CDC=ON

This commit is contained in:
obdev 2022-10-25 17:47:36 +08:00 committed by wangzelin.wzl
parent 0a319aa4fd
commit 45e229b80b
3 changed files with 29 additions and 9 deletions

View File

@ -150,6 +150,14 @@ else()
-Wl,-e,so_main
easy
)
set(LGPL_DEPS "-L${DEP_DIR}/lib/mariadb -lmariadb")
if (OB_STATIC_LINK_LGPL_DEPS)
set(LGPL_DEPS "-L${DEP_DIR}/lib/mariadb -l:libmariadbclient.a")
endif()
target_link_libraries(obcdc
PRIVATE
${LGPL_DEPS}
)
add_dependencies(obcdc obcdc_objects)
endif()
set_target_properties(obcdc PROPERTIES

View File

@ -18,8 +18,15 @@ target_link_libraries(obcdc_tailf_static PRIVATE obcdc_tailf_objects_static)
if (OB_BUILD_CDC)
# execute build_cdc_demo to check dlopen and compile
add_custom_command(TARGET obcdc_tailf POST_BUILD
COMMAND /usr/bin/sh build_cdc_demo.sh ${DEVTOOLS_DIR} ${PROJECT_BINARY_DIR}
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/demo/
)
if (NOT OB_STATIC_LINK_LGPL_DEPS)
add_custom_command(TARGET obcdc_tailf POST_BUILD
COMMAND /usr/bin/sh build_cdc_demo.sh ${DEVTOOLS_DIR} ${PROJECT_BINARY_DIR} ${DEP_DIR}
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/demo/
)
else()
add_custom_command(TARGET obcdc_tailf POST_BUILD
COMMAND /usr/bin/sh build_cdc_demo.sh ${DEVTOOLS_DIR} ${PROJECT_BINARY_DIR}
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/demo/
)
endif()
endif()

View File

@ -3,10 +3,15 @@
CLANG_PATH=$1/bin
PROJECT_BUILD_DIR=$2
mkdir -p `pwd`/lib/ &&
libtool --quiet --mode=install cp $PROJECT_BUILD_DIR/src/logservice/libobcdc/src/libobcdc.so `pwd`/lib/ &&
mkdir -p build_dir &&
mkdir -p build_dir/lib &&
cd build_dir &&
libtool --quiet --mode=install cp $PROJECT_BUILD_DIR/src/logservice/libobcdc/src/libobcdc.so `pwd`/lib/
if [ $# -eq 3 ]
then
DEP_DIR=$3
libtool --quiet --mode=install cp $DEP_DIR/lib/mariadb/libmariadb.so.3 `pwd`/lib/
fi
$CLANG_PATH/clang++ ../obcdc_dlopen.cpp -o cdc_dl -ldl -std=c++11 -fpic &&
./cdc_dl &&
cd ../
LD_LIBRARY_PATH=./lib ./cdc_dl