diff --git a/CMakeLists.txt b/CMakeLists.txt index fa7912ca48422935dbd32306e8f45700312ae33f..b2372f239319bc1cfc627af542bcd78193632568 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -32,15 +32,6 @@ if (ENABLE_FATAL_ERROR_HANG) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DFATAL_ERROR_HANG") endif() -message(STATUS "This is BINARY dir " ${PROJECT_BINARY_DIR}) -message(STATUS "This is SOURCE dir " ${PROJECT_SOURCE_DIR}) - -set(CMAKE_POSITION_INDEPENDENT_CODE ON) - -add_subdirectory(deps/easy) -add_subdirectory(deps/oblib) -add_subdirectory(src) - include(CMakeDependentOption) # OB_BUILD_RPM => include tools and build them. # otherwise => include tools but don't build them. @@ -62,6 +53,27 @@ cmake_dependent_option( "NOT OB_BUILD_RPM" OFF) option(OB_BUILD_TEST "" OFF) +# OB_BUILD_RPM => build sql proxy parser +cmake_dependent_option( + OB_BUILD_LIBOB_SQL_PROXY_PARSER "Build lib_sql_proxy_parser" OFF + "NOT OB_BUILD_RPM;NOT OB_BUILD_LIBOB_SQL_PROXY_PARSER" ON +) + +# OB_BUILD_RPM => build liboblog +cmake_dependent_option( + OB_BUILD_LIBOBLOG "Build liboblog" OFF + "NOT OB_BUILD_RPM;NOT OB_BUILD_LIBOBLOG" ON +) + +message(STATUS "This is BINARY dir " ${PROJECT_BINARY_DIR}) +message(STATUS "This is SOURCE dir " ${PROJECT_SOURCE_DIR}) + +set(CMAKE_POSITION_INDEPENDENT_CODE ON) + +add_subdirectory(deps/easy) +add_subdirectory(deps/oblib) +add_subdirectory(src) + include(CTest) if (OB_BUILD_UNITTEST) add_subdirectory(unittest) diff --git a/build.sh b/build.sh index 40e362ebd71ad3e7a65e613bd28a35bacdc9cb8c..897b1bb8470955af755e7de9ef6f7dd2d0e39a1f 100755 --- a/build.sh +++ b/build.sh @@ -116,7 +116,7 @@ function build do_build "$@" -DCMAKE_BUILD_TYPE=Debug ;; xrpm) - do_build "$@" -DOB_BUILD_LIBOBLOG=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo -DOB_USE_CCACHE=OFF -DOB_COMPRESS_DEBUG_SECTIONS=ON -DOB_STATIC_LINK_LGPL_DEPS=OFF + do_build "$@" -DOB_BUILD_RPM=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo -DOB_USE_CCACHE=OFF -DOB_COMPRESS_DEBUG_SECTIONS=ON -DOB_STATIC_LINK_LGPL_DEPS=OFF ;; *) BUILD_ARGS=(debug "${BUILD_ARGS[@]}") diff --git a/cmake/Env.cmake b/cmake/Env.cmake index 83710c5153d249ecf62ff2c2cbf80bc074360730..fa2f938154f00a25239bab9448c691c1497d2d60 100644 --- a/cmake/Env.cmake +++ b/cmake/Env.cmake @@ -12,7 +12,6 @@ ob_define(OB_ENABLE_LIB_PCH ${OB_ENABLE_PCH}) ob_define(OB_ENABLE_SERVER_PCH ${OB_ENABLE_PCH}) ob_define(OB_ENALBE_UNITY ON) ob_define(OB_MAX_UNITY_BATCH_SIZE 30) -ob_define(OB_BUILD_LIBOBLOG OFF) ob_define(OB_RELEASEID 1) diff --git a/cmake/RPM.cmake b/cmake/RPM.cmake index c22b76c49593203c37b5c69ae8ad68dfeb8f93a4..1d531c8e9c3431ba3226db2aef1253d7c95439bf 100644 --- a/cmake/RPM.cmake +++ b/cmake/RPM.cmake @@ -61,20 +61,24 @@ install(FILES ## oceanbase-devel # liboblog.so and libob_sql_proxy_parser_static.a -set(OCEANBASE_DEVEL_LIB_FILES - ${CMAKE_BINARY_DIR}/src/sql/parser/libob_sql_proxy_parser_static.a -) -set(OCEANBASE_DEVEL_INCLUDE_FILES - deps/oblib/src/lib/ob_errno.h - deps/oblib/src/common/sql_mode/ob_sql_mode.h - src/sql/parser/ob_item_type.h - src/sql/parser/ob_sql_parser.h - src/sql/parser/parse_malloc.h - src/sql/parser/parser_proxy_func.h - src/sql/parser/parse_node.h -) +set(OCEANBASE_DEVEL_LIB_FILES "") +set(OCEANBASE_DEVEL_INCLUDE_FILES deps/oblib/src/lib/ob_errno.h) set(OCEANBASE_DEVEL_BIN_FILES "") +message(STATUS "OB_BUILD_LIBOB_SQL_PROXY_PARSER ${OB_BUILD_LIBOB_SQL_PROXY_PARSER}") +if (OB_BUILD_LIBOB_SQL_PROXY_PARSER) + # lib + list(APPEND OCEANBASE_DEVEL_LIB_FILES ${CMAKE_BINARY_DIR}/src/sql/parser/libob_sql_proxy_parser_static.a) + + # headers + list(APPEND OCEANBASE_DEVEL_INCLUDE_FILES deps/oblib/src/common/sql_mode/ob_sql_mode.h) + list(APPEND OCEANBASE_DEVEL_INCLUDE_FILES src/sql/parser/ob_item_type.h) + list(APPEND OCEANBASE_DEVEL_INCLUDE_FILES src/sql/parser/ob_sql_parser.h) + list(APPEND OCEANBASE_DEVEL_INCLUDE_FILES src/sql/parser/parse_malloc.h) + list(APPEND OCEANBASE_DEVEL_INCLUDE_FILES src/sql/parser/parser_proxy_func.h) + list(APPEND OCEANBASE_DEVEL_INCLUDE_FILES src/sql/parser/parse_node.h) +endif() + if (OB_BUILD_LIBOBLOG) # lib # list(APPEND OCEANBASE_DEVEL_LIB_FILES ${CMAKE_BINARY_DIR}/src/liboblog/src/liboblog.a) @@ -132,12 +136,14 @@ install(PROGRAMS set(CPACK_RPM_UTILS_DEFAULT_USER "root") set(CPACK_RPM_UTILS_DEFAULT_GROUP "root") -install(PROGRAMS - ${CMAKE_BINARY_DIR}/tools/ob_admin/ob_admin - ${CMAKE_BINARY_DIR}/tools/ob_error/src/ob_error - DESTINATION /usr/bin - COMPONENT utils -) +if (OB_BUILD_TOOLS) + install(PROGRAMS + ${CMAKE_BINARY_DIR}/tools/ob_admin/ob_admin + ${CMAKE_BINARY_DIR}/tools/ob_error/src/ob_error + DESTINATION /usr/bin + COMPONENT utils + ) +endif() file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/utils_post.script "/sbin/ldconfig /home/admin/oceanbase/lib") set(CPACK_RPM_UTILS_POST_INSTALL_SCRIPT_FILE ${CMAKE_CURRENT_BINARY_DIR}/utils_post.script) file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/utils_postun.script "/sbin/ldconfig") diff --git a/src/sql/parser/CMakeLists.txt b/src/sql/parser/CMakeLists.txt index e311978ba28f1949d9baf5aea176b25db3b66f07..4542845c28d4af0e75a451bf154df6d7de57d786 100644 --- a/src/sql/parser/CMakeLists.txt +++ b/src/sql/parser/CMakeLists.txt @@ -81,9 +81,14 @@ target_compile_definitions(ob_sql_proxy_parser_objects PUBLIC SQL_PARSER_COMPILA disable_pch(ob_sql_server_parser_objects) disable_pch(ob_sql_proxy_parser_objects) -add_library(ob_sql_proxy_parser_static - STATIC - EXCLUDE_FROM_ALL) +message(STATUS "OB_BUILD_LIBOB_SQL_PROXY_PARSER ${OB_BUILD_LIBOB_SQL_PROXY_PARSER}") +if (OB_BUILD_LIBOB_SQL_PROXY_PARSER) + add_library(ob_sql_proxy_parser_static STATIC) +else() + add_library(ob_sql_proxy_parser_static + STATIC + EXCLUDE_FROM_ALL) +endif() add_library(ob_sql_server_parser_static STATIC