Files
openGauss-server/src/bin/scripts/CMakeLists.txt
2022-09-03 16:22:35 +08:00

181 lines
9.0 KiB
CMake
Executable File

#This is the main CMAKE for build all components.
# scripts bins
execute_process(
COMMAND ln -fs ${PROJECT_SRC_DIR}/bin/pg_dump/keywords.cpp ${CMAKE_CURRENT_SOURCE_DIR}/keywords.cpp
COMMAND ln -fs ${PROJECT_SRC_DIR}/bin/pg_dump/dumpmem.cpp ${CMAKE_CURRENT_SOURCE_DIR}/dumpmem.cpp
COMMAND ln -fs ${PROJECT_SRC_DIR}/bin/psql/mbprint.cpp ${CMAKE_CURRENT_SOURCE_DIR}/mbprint.cpp
COMMAND ln -fs ${PROJECT_SRC_DIR}/bin/psql/print.cpp ${CMAKE_CURRENT_SOURCE_DIR}/print.cpp
COMMAND ln -fs ${PROJECT_SRC_DIR}/bin/pg_dump/dumputils.cpp ${CMAKE_CURRENT_SOURCE_DIR}/dumputils.cpp
COMMAND ln -fs ${PROJECT_SRC_DIR}/common/backend/parser/kwlookup.cpp ${CMAKE_CURRENT_SOURCE_DIR}/kwlookup.cpp
)
set(TGT_createdb_SRC
${CMAKE_CURRENT_SOURCE_DIR}/createdb.cpp
${CMAKE_CURRENT_SOURCE_DIR}/common.cpp
${CMAKE_CURRENT_SOURCE_DIR}/dumputils.cpp
${CMAKE_CURRENT_SOURCE_DIR}/dumpmem.cpp
${CMAKE_CURRENT_SOURCE_DIR}/kwlookup.cpp
${CMAKE_CURRENT_SOURCE_DIR}/keywords.cpp
)
set(TGT_vacuumdb_SRC
${CMAKE_CURRENT_SOURCE_DIR}/vacuumdb.cpp
${CMAKE_CURRENT_SOURCE_DIR}/common.cpp
)
set(TGT_reindexdb_SRC
${CMAKE_CURRENT_SOURCE_DIR}/reindexdb.cpp
${CMAKE_CURRENT_SOURCE_DIR}/common.cpp
${CMAKE_CURRENT_SOURCE_DIR}/dumputils.cpp
${CMAKE_CURRENT_SOURCE_DIR}/dumpmem.cpp
${CMAKE_CURRENT_SOURCE_DIR}/kwlookup.cpp
${CMAKE_CURRENT_SOURCE_DIR}/keywords.cpp
)
set(TGT_clusterdb_SRC
${CMAKE_CURRENT_SOURCE_DIR}/clusterdb.cpp
${CMAKE_CURRENT_SOURCE_DIR}/common.cpp
${CMAKE_CURRENT_SOURCE_DIR}/dumputils.cpp
${CMAKE_CURRENT_SOURCE_DIR}/dumpmem.cpp
${CMAKE_CURRENT_SOURCE_DIR}/kwlookup.cpp
${CMAKE_CURRENT_SOURCE_DIR}/keywords.cpp
)
set(TGT_dropuser_SRC
${CMAKE_CURRENT_SOURCE_DIR}/dropuser.cpp
${CMAKE_CURRENT_SOURCE_DIR}/common.cpp
${CMAKE_CURRENT_SOURCE_DIR}/dumputils.cpp
${CMAKE_CURRENT_SOURCE_DIR}/dumpmem.cpp
${CMAKE_CURRENT_SOURCE_DIR}/kwlookup.cpp
${CMAKE_CURRENT_SOURCE_DIR}/keywords.cpp
)
set(TGT_createlang_SRC
${CMAKE_CURRENT_SOURCE_DIR}/createlang.cpp
${CMAKE_CURRENT_SOURCE_DIR}/common.cpp
${CMAKE_CURRENT_SOURCE_DIR}/dumputils.cpp
${CMAKE_CURRENT_SOURCE_DIR}/dumpmem.cpp
${CMAKE_CURRENT_SOURCE_DIR}/kwlookup.cpp
${CMAKE_CURRENT_SOURCE_DIR}/keywords.cpp
${CMAKE_CURRENT_SOURCE_DIR}/print.cpp
${CMAKE_CURRENT_SOURCE_DIR}/mbprint.cpp
)
set(TGT_droplang_SRC
${CMAKE_CURRENT_SOURCE_DIR}/droplang.cpp
${CMAKE_CURRENT_SOURCE_DIR}/common.cpp
${CMAKE_CURRENT_SOURCE_DIR}/dumputils.cpp
${CMAKE_CURRENT_SOURCE_DIR}/dumpmem.cpp
${CMAKE_CURRENT_SOURCE_DIR}/kwlookup.cpp
${CMAKE_CURRENT_SOURCE_DIR}/keywords.cpp
${CMAKE_CURRENT_SOURCE_DIR}/print.cpp
${CMAKE_CURRENT_SOURCE_DIR}/mbprint.cpp
)
set(TGT_dropdb_SRC
${CMAKE_CURRENT_SOURCE_DIR}/dropdb.cpp
${CMAKE_CURRENT_SOURCE_DIR}/common.cpp
${CMAKE_CURRENT_SOURCE_DIR}/dumputils.cpp
${CMAKE_CURRENT_SOURCE_DIR}/dumpmem.cpp
${CMAKE_CURRENT_SOURCE_DIR}/kwlookup.cpp
${CMAKE_CURRENT_SOURCE_DIR}/keywords.cpp
)
set(TGT_createuser_SRC
${CMAKE_CURRENT_SOURCE_DIR}/createuser.cpp
${CMAKE_CURRENT_SOURCE_DIR}/common.cpp
${CMAKE_CURRENT_SOURCE_DIR}/dumputils.cpp
${CMAKE_CURRENT_SOURCE_DIR}/dumpmem.cpp
${CMAKE_CURRENT_SOURCE_DIR}/kwlookup.cpp
${CMAKE_CURRENT_SOURCE_DIR}/keywords.cpp
)
set(TGT_scripts_INC
${PROJECT_SRC_DIR}/common/port
${PROJECT_SRC_DIR}/common/interfaces/libpq
${PROJECT_SRC_DIR}/include/libpq
${PROJECT_SRC_DIR}/bin/pg_dump
${PROJECT_SRC_DIR}/bin/psql
${CMAKE_CURRENT_SOURCE_DIR}
${PROJECT_SRC_DIR}/lib/gstrace
${PROJECT_TRUNK_DIR}/distribute/include
)
set(scripts_DEF_OPTIONS ${MACRO_OPTIONS})
set(scripts_COMPILE_OPTIONS ${OPTIMIZE_OPTIONS} ${OS_OPTIONS} ${PROTECT_OPTIONS} ${WARNING_OPTIONS} ${BIN_SECURE_OPTIONS} ${CHECK_OPTIONS})
set(scripts_LINK_OPTIONS ${BIN_LINK_OPTIONS})
set(scripts_LINK_LIBS libelog.a libpgport.a -lpq -lcrypt -ldl -lm -lssl -lcrypto -l${SECURE_C_CHECK} -pthread -lrt -lz -lminiunz)
if(NOT "${ENABLE_LITE_MODE}" STREQUAL "ON")
list(APPEND scripts_LINK_LIBS -lgssapi_krb5_gauss -lgssrpc_gauss -lkrb5_gauss -lkrb5support_gauss -lk5crypto_gauss -lcom_err_gauss)
endif()
add_bintarget(createdb TGT_createdb_SRC TGT_scripts_INC "${scripts_DEF_OPTIONS}" "${scripts_COMPILE_OPTIONS}" "${scripts_LINK_OPTIONS}" "${scripts_LINK_LIBS}")
add_dependencies(createdb elog_static pgport_static pq)
target_link_directories(createdb PUBLIC
${LIBOPENSSL_LIB_PATH} ${LIBCURL_LIB_PATH} ${KERBEROS_LIB_PATH}
${ZLIB_LIB_PATH} ${LIBOBS_LIB_PATH} ${LIBEDIT_LIB_PATH} ${LIBCGROUP_LIB_PATH} ${SECURE_LIB_PATH} ${CMAKE_BINARY_DIR}/lib
)
install(TARGETS createdb RUNTIME DESTINATION bin)
add_bintarget(createlang TGT_createlang_SRC TGT_scripts_INC "${scripts_DEF_OPTIONS}" "${scripts_COMPILE_OPTIONS}" "${scripts_LINK_OPTIONS}" "${scripts_LINK_LIBS}")
add_dependencies(createlang elog_static pgport_static pq)
target_link_directories(createlang PUBLIC
${LIBOPENSSL_LIB_PATH} ${LIBCURL_LIB_PATH} ${KERBEROS_LIB_PATH}
${ZLIB_LIB_PATH} ${LIBOBS_LIB_PATH} ${LIBEDIT_LIB_PATH} ${LIBCGROUP_LIB_PATH} ${SECURE_LIB_PATH} ${CMAKE_BINARY_DIR}/lib
)
install(TARGETS createlang RUNTIME DESTINATION bin)
add_bintarget(createuser TGT_createuser_SRC TGT_scripts_INC "${scripts_DEF_OPTIONS}" "${scripts_COMPILE_OPTIONS}" "${scripts_LINK_OPTIONS}" "${scripts_LINK_LIBS}")
add_dependencies(createuser elog_static pgport_static pq)
target_link_directories(createuser PUBLIC
${LIBOPENSSL_LIB_PATH} ${LIBCURL_LIB_PATH} ${KERBEROS_LIB_PATH}
${ZLIB_LIB_PATH} ${LIBOBS_LIB_PATH} ${LIBEDIT_LIB_PATH} ${LIBCGROUP_LIB_PATH} ${SECURE_LIB_PATH} ${CMAKE_BINARY_DIR}/lib
)
install(TARGETS createuser RUNTIME DESTINATION bin)
add_bintarget(dropdb TGT_dropdb_SRC TGT_scripts_INC "${scripts_DEF_OPTIONS}" "${scripts_COMPILE_OPTIONS}" "${scripts_LINK_OPTIONS}" "${scripts_LINK_LIBS}")
add_dependencies(dropdb elog_static pgport_static pq)
target_link_directories(dropdb PUBLIC
${LIBOPENSSL_LIB_PATH} ${LIBCURL_LIB_PATH} ${KERBEROS_LIB_PATH}
${ZLIB_LIB_PATH} ${LIBOBS_LIB_PATH} ${LIBEDIT_LIB_PATH} ${LIBCGROUP_LIB_PATH} ${SECURE_LIB_PATH} ${CMAKE_BINARY_DIR}/lib
)
install(TARGETS dropdb LIBRARY DESTINATION bin)
add_bintarget(droplang TGT_droplang_SRC TGT_scripts_INC "${scripts_DEF_OPTIONS}" "${scripts_COMPILE_OPTIONS}" "${scripts_LINK_OPTIONS}" "${scripts_LINK_LIBS}")
add_dependencies(droplang elog_static pgport_static pq)
target_link_directories(droplang PUBLIC
${LIBOPENSSL_LIB_PATH} ${LIBCURL_LIB_PATH} ${KERBEROS_LIB_PATH}
${ZLIB_LIB_PATH} ${LIBOBS_LIB_PATH} ${LIBEDIT_LIB_PATH} ${LIBCGROUP_LIB_PATH} ${SECURE_LIB_PATH} ${CMAKE_BINARY_DIR}/lib
)
install(TARGETS droplang RUNTIME DESTINATION bin)
add_bintarget(dropuser TGT_dropuser_SRC TGT_scripts_INC "${scripts_DEF_OPTIONS}" "${scripts_COMPILE_OPTIONS}" "${scripts_LINK_OPTIONS}" "${scripts_LINK_LIBS}")
add_dependencies(dropuser elog_static pgport_static pq)
target_link_directories(dropuser PUBLIC
${LIBOPENSSL_LIB_PATH} ${LIBCURL_LIB_PATH} ${KERBEROS_LIB_PATH}
${ZLIB_LIB_PATH} ${LIBOBS_LIB_PATH} ${LIBEDIT_LIB_PATH} ${LIBCGROUP_LIB_PATH} ${SECURE_LIB_PATH} ${CMAKE_BINARY_DIR}/lib
)
install(TARGETS dropuser RUNTIME DESTINATION bin)
add_bintarget(clusterdb TGT_clusterdb_SRC TGT_scripts_INC "${scripts_DEF_OPTIONS}" "${scripts_COMPILE_OPTIONS}" "${scripts_LINK_OPTIONS}" "${scripts_LINK_LIBS}")
add_dependencies(clusterdb elog_static pgport_static pq)
target_link_directories(clusterdb PUBLIC
${LIBOPENSSL_LIB_PATH} ${LIBCURL_LIB_PATH} ${KERBEROS_LIB_PATH}
${ZLIB_LIB_PATH} ${LIBOBS_LIB_PATH} ${LIBEDIT_LIB_PATH} ${LIBCGROUP_LIB_PATH} ${SECURE_LIB_PATH} ${CMAKE_BINARY_DIR}/lib
)
install(TARGETS clusterdb RUNTIME DESTINATION bin)
add_bintarget(vacuumdb TGT_vacuumdb_SRC TGT_scripts_INC "${scripts_DEF_OPTIONS}" "${scripts_COMPILE_OPTIONS}" "${scripts_LINK_OPTIONS}" "${scripts_LINK_LIBS}")
add_dependencies(vacuumdb elog_static pgport_static pq)
target_link_directories(vacuumdb PUBLIC
${LIBOPENSSL_LIB_PATH} ${LIBCURL_LIB_PATH} ${KERBEROS_LIB_PATH}
${ZLIB_LIB_PATH} ${LIBOBS_LIB_PATH} ${LIBEDIT_LIB_PATH} ${LIBCGROUP_LIB_PATH} ${SECURE_LIB_PATH} ${CMAKE_BINARY_DIR}/lib
)
install(TARGETS vacuumdb RUNTIME DESTINATION bin)
add_bintarget(reindexdb TGT_reindexdb_SRC TGT_scripts_INC "${scripts_DEF_OPTIONS}" "${scripts_COMPILE_OPTIONS}" "${scripts_LINK_OPTIONS}" "${scripts_LINK_LIBS}")
add_dependencies(reindexdb elog_static pgport_static pq)
target_link_directories(reindexdb PUBLIC
${LIBOPENSSL_LIB_PATH} ${LIBCURL_LIB_PATH} ${KERBEROS_LIB_PATH}
${ZLIB_LIB_PATH} ${LIBOBS_LIB_PATH} ${LIBEDIT_LIB_PATH} ${LIBCGROUP_LIB_PATH} ${SECURE_LIB_PATH} ${CMAKE_BINARY_DIR}/lib
)
install(TARGETS reindexdb RUNTIME DESTINATION bin)
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/run_drop_cache.sh DESTINATION bin)
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/runsessionstat.sh DESTINATION bin)
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/drop_caches.sh DESTINATION bin)
if(${BUILD_TUPLE} STREQUAL "aarch64")
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/setArmOptimization.sh DESTINATION bin)
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/bind_net_irq.sh DESTINATION bin)
endif()