include_directories(
"${OGRACDB_SRC}/cms/interface"
"${OGRACDB_SRC}/cluster"
"${OGRACDB_SRC}/rc"
"${OGRACDB_SRC}/zenfs"
"${OGRACDB_SRC}/ogsql/gdv"
"${OGRACDB_SRC}/ogsql/executor/explain"
"${OGRACDB_SRC}/upgrade_check"
"${OGRACDB_SRC}/fdsa"
"${CMAKE_CURRENT_SOURCE_DIR}"
"${CMAKE_CURRENT_SOURCE_DIR}/params"
)
link_directories(${OGRACDB_LIB} "${OGRACDB_LIBRARY}/protobuf/lib" ${PCRE_LIB_PATH})
aux_source_directory(. SERVER_SRC)
aux_source_directory(./params SERVER_PARAMS_SRC)
aux_source_directory(${CMAKE_SOURCE_DIR}/pkg/src/shard SHARD_SRC)
aux_source_directory(${CMAKE_SOURCE_DIR}/pkg/src/shard/rebalance SHD_REBALANCE_SRC)
aux_source_directory(${CMAKE_SOURCE_DIR}/pkg/src/shard/ddl SHD_DDL_SRC)
aux_source_directory(${CMAKE_SOURCE_DIR}/pkg/src/shard/dml SHD_DML_SRC)
aux_source_directory(${CMAKE_SOURCE_DIR}/pkg/src/shard/route SHD_ROUTE_SRC)
aux_source_directory(${CMAKE_SOURCE_DIR}/pkg/src/shard/adapter SHD_ADAPTER_SRC)
set(SHARD_TOTAL_SRC ${SHARD_SRC} ${SHD_REBALANCE_SRC} ${SHD_DDL_SRC} ${SHD_DML_SRC} ${SHD_ROUTE_SRC} ${SHD_ADAPTER_SRC})
add_library(ogserver STATIC ${SERVER_SRC} ${SERVER_PARAMS_SRC} ${SHARD_TOTAL_SRC})
if (USE_FUZZASAN)
target_link_libraries(ogserver PRIVATE ogcluster ogcms Secodefuzz ogracsql ogmes)
else ()
target_link_libraries(ogserver PRIVATE ogcluster ogcms)
endif(USE_FUZZASAN)
add_library(oGRAC SHARED ${SERVER_SRC} ${SERVER_PARAMS_SRC} ${SHARED_TOTAL_SRC} ${VERSION_SRC})
set_target_properties(oGRAC PROPERTIES OUTPUT_NAME ograc)
option(USE_FUZZASAN OFF)
if (USE_FUZZASAN)
add_definitions(-DBUILD_SRV_MAIN)
add_compile_options(-fsanitize-coverage=trace-pc)
ADD_EXECUTABLE(ogracd ${VERSION_SRC})
target_link_libraries(ogracd PRIVATE
-Wl,--start-group
ogserver ogracsql ogkernel ogmes ogprotocol ogcommon ogclient
ogcluster ogcms ogrc m rt pthread dl z zstd lz4 Secodefuzz
-Wl,--end-group)
else ()
add_definitions(-DBUILD_SRV_MAIN)
ADD_EXECUTABLE(ogracd ${VERSION_SRC})
target_link_libraries(ogracd PRIVATE
-Wl,--start-group
ogserver ogracsql ogkernel ogmes ogprotocol ogcommon ogclient
ogcluster ogcms ogrc m rt pthread dl z zstd lz4
-Wl,--end-group)
target_link_libraries(oGRAC PRIVATE
-Wl,--start-group
ogserver ogracsql ogkernel ogmes ogprotocol ogcommon ogclient
ogcluster ogcms ogrc m rt pthread dl z zstd lz4
-Wl,--end-group)
endif(USE_FUZZASAN)
target_compile_definitions(ogracd PRIVATE -DOG_LIB_VERSION=${DD_OG_LIB_VERSION})
target_compile_definitions(ogracd PRIVATE -DGETDBVERSION=${DD_GETDBVERSION})
target_compile_definitions(oGRAC PRIVATE -DOG_LIB_VERSION=${DD_OG_LIB_VERSION})
target_compile_definitions(oGRAC PRIVATE -DGETDBVERSION=${DD_GETDBVERSION})