diff --git a/src/logservice/libobcdc/src/CMakeLists.txt b/src/logservice/libobcdc/src/CMakeLists.txt index 0ed87c3dd..50906bc60 100644 --- a/src/logservice/libobcdc/src/CMakeLists.txt +++ b/src/logservice/libobcdc/src/CMakeLists.txt @@ -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 diff --git a/src/logservice/libobcdc/tests/CMakeLists.txt b/src/logservice/libobcdc/tests/CMakeLists.txt index 00b1acfa0..c9389fc7a 100644 --- a/src/logservice/libobcdc/tests/CMakeLists.txt +++ b/src/logservice/libobcdc/tests/CMakeLists.txt @@ -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() diff --git a/src/logservice/libobcdc/tests/demo/build_cdc_demo.sh b/src/logservice/libobcdc/tests/demo/build_cdc_demo.sh index 7f147417d..4e52d996b 100755 --- a/src/logservice/libobcdc/tests/demo/build_cdc_demo.sh +++ b/src/logservice/libobcdc/tests/demo/build_cdc_demo.sh @@ -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