From 20092c8bb99d4bfb071f94fa15157d2db6a5f2c9 Mon Sep 17 00:00:00 2001 From: Fireatoms Date: Wed, 29 Dec 2021 18:21:41 +0800 Subject: [PATCH] fix: failed to run make DESTDIR=./ install in non-rpm build mode --- CMakeLists.txt | 30 +++++++++++++++++-------- build.sh | 2 +- cmake/Env.cmake | 1 - cmake/RPM.cmake | 42 ++++++++++++++++++++--------------- src/sql/parser/CMakeLists.txt | 11 ++++++--- 5 files changed, 54 insertions(+), 32 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index fa7912ca48..b2372f2393 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 40e362ebd7..897b1bb847 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 83710c5153..fa2f938154 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 c22b76c495..1d531c8e9c 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 e311978ba2..4542845c28 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 -- GitLab