[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 -Wl,-e,so_main
easy 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) add_dependencies(obcdc obcdc_objects)
endif() endif()
set_target_properties(obcdc PROPERTIES 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) if (OB_BUILD_CDC)
# execute build_cdc_demo to check dlopen and compile # execute build_cdc_demo to check dlopen and compile
add_custom_command(TARGET obcdc_tailf POST_BUILD if (NOT OB_STATIC_LINK_LGPL_DEPS)
COMMAND /usr/bin/sh build_cdc_demo.sh ${DEVTOOLS_DIR} ${PROJECT_BINARY_DIR} add_custom_command(TARGET obcdc_tailf POST_BUILD
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/demo/ 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() endif()

View File

@ -3,10 +3,15 @@
CLANG_PATH=$1/bin CLANG_PATH=$1/bin
PROJECT_BUILD_DIR=$2 PROJECT_BUILD_DIR=$2
mkdir -p `pwd`/lib/ && mkdir -p build_dir/lib &&
libtool --quiet --mode=install cp $PROJECT_BUILD_DIR/src/logservice/libobcdc/src/libobcdc.so `pwd`/lib/ &&
mkdir -p build_dir &&
cd build_dir && 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 && $CLANG_PATH/clang++ ../obcdc_dlopen.cpp -o cdc_dl -ldl -std=c++11 -fpic &&
./cdc_dl && LD_LIBRARY_PATH=./lib ./cdc_dl
cd ../