1
0
mirror of https://github.com/mariadb-corporation/mariadb-columnstore-engine.git synced 2025-08-01 06:46:55 +03:00

chore(build): refactor main CMakeLists.txt (#3543)

* chore(build): refactor main CMakeLists.txt

* chore(build): fix boost version for packages, set clang-20 only for amd and arm

* chore(build): boost 4 sm

* chore(build): boost dep for rowgroup

* chore(build): toolset for boost

* chore(build): suppress clang warnings for boost

* chore(ci, build): use ASAN for unittest on ubuntu 24.04 only, added custom cmake flag option for bootstrap, custom params for new and existing pipelines

* chore(build): sort bootstrap flags

* chore(CI): remove publish pkg step, adding clickable link instead to publish steps, fix customenv
This commit is contained in:
Leonid Fedorov
2025-05-20 05:00:48 +04:00
committed by GitHub
parent e0f3bf8322
commit a1019b7c0e
26 changed files with 2089 additions and 1767 deletions

108
cmake/includes.cmake Normal file
View File

@ -0,0 +1,108 @@
message_once(SERVER_BUILD_INCLUDE_DIR "SERVER_BUILD_INCLUDE_DIR = ${SERVER_BUILD_INCLUDE_DIR}")
message_once(SERVER_SOURCE_ROOT_DIR "SERVER_SOURCE_ROOT_DIR = ${SERVER_SOURCE_ROOT_DIR}")
set(ENGINE_UTILS_MESSAGEQCPP_INCLUDE "${CMAKE_CURRENT_SOURCE_DIR}/utils/messageqcpp")
set(ENGINE_WE_SHARED_INCLUDE "${CMAKE_CURRENT_SOURCE_DIR}/writeengine/shared")
set(ENGINE_UTILS_IDBDATAFILE_INCLUDE "${CMAKE_CURRENT_SOURCE_DIR}/utils/idbdatafile")
set(ENGINE_UTILS_LOGGINGCPP_INCLUDE "${CMAKE_CURRENT_SOURCE_DIR}/utils/loggingcpp"
"${CMAKE_CURRENT_BINARY_DIR}/utils/loggingcpp"
)
set(ENGINE_UTILS_CONFIGCPP_INCLUDE "${CMAKE_CURRENT_SOURCE_DIR}/utils/configcpp")
set(ENGINE_UTILS_COMPRESS_INCLUDE "${CMAKE_CURRENT_SOURCE_DIR}/utils/compress")
set(ENGINE_VERSIONING_BRM_INCLUDE "${CMAKE_CURRENT_SOURCE_DIR}/versioning/BRM")
set(ENGINE_UTILS_ROWGROUP_INCLUDE "${CMAKE_CURRENT_SOURCE_DIR}/utils/rowgroup")
set(ENGINE_UTILS_COMMON_INCLUDE "${CMAKE_CURRENT_SOURCE_DIR}/utils/common")
set(ENGINE_UTILS_DATACONVERT_INCLUDE "${CMAKE_CURRENT_SOURCE_DIR}/utils/dataconvert")
set(ENGINE_UTILS_RWLOCK_INCLUDE "${CMAKE_CURRENT_SOURCE_DIR}/utils/rwlock")
set(ENGINE_UTILS_FUNCEXP_INCLUDE "${CMAKE_CURRENT_SOURCE_DIR}/utils/funcexp")
set(ENGINE_UTILS_INCLUDE "${CMAKE_CURRENT_SOURCE_DIR}/utils")
set(ENGINE_OAM_OAMCPP_INCLUDE "${CMAKE_CURRENT_SOURCE_DIR}/oam/oamcpp")
set(ENGINE_DBCON_DDLPKGPROC_INCLUDE "${CMAKE_CURRENT_SOURCE_DIR}/dbcon/ddlpackageproc")
set(ENGINE_DBCON_DDLPKG_INCLUDE "${CMAKE_CURRENT_SOURCE_DIR}/dbcon/ddlpackage")
set(ENGINE_DBCON_EXECPLAN_INCLUDE "${CMAKE_CURRENT_SOURCE_DIR}/dbcon/execplan")
set(ENGINE_UTILS_STARTUP_INCLUDE "${CMAKE_CURRENT_SOURCE_DIR}/utils/startup")
set(ENGINE_DBCON_JOBLIST_INCLUDE "${CMAKE_CURRENT_SOURCE_DIR}/dbcon/joblist")
set(ENGINE_WE_WRAPPER_INCLUDE "${CMAKE_CURRENT_SOURCE_DIR}/writeengine/wrapper")
set(ENGINE_WE_SERVER_INCLUDE "${CMAKE_CURRENT_SOURCE_DIR}/writeengine/server")
set(ENGINE_DBCON_DMLPKG_INCLUDE "${CMAKE_CURRENT_SOURCE_DIR}/dbcon/dmlpackage")
set(ENGINE_WE_CLIENT_INCLUDE "${CMAKE_CURRENT_SOURCE_DIR}/writeengine/client")
set(ENGINE_DBCON_DMLPKGPROC_INCLUDE "${CMAKE_CURRENT_SOURCE_DIR}/dbcon/dmlpackageproc")
set(ENGINE_UTILS_CACHEUTILS_INCLUDE "${CMAKE_CURRENT_SOURCE_DIR}/utils/cacheutils")
set(ENGINE_UTILS_MYSQLCL_INCLUDE "${CMAKE_CURRENT_SOURCE_DIR}/utils/mysqlcl_idb")
set(ENGINE_UTILS_QUERYTELE_INCLUDE "${CMAKE_CURRENT_SOURCE_DIR}/utils/querytele")
set(ENGINE_UTILS_JOINER_INCLUDE "${CMAKE_CURRENT_SOURCE_DIR}/utils/joiner")
set(ENGINE_UTILS_THREADPOOL_INCLUDE "${CMAKE_CURRENT_SOURCE_DIR}/utils/threadpool")
set(ENGINE_UTILS_BATCHLDR_INCLUDE "${CMAKE_CURRENT_SOURCE_DIR}/utils/batchloader")
set(ENGINE_UTILS_DDLCLEANUP_INCLUDE "${CMAKE_CURRENT_SOURCE_DIR}/utils/ddlcleanup")
set(ENGINE_UTILS_QUERYSTATS_INCLUDE "${CMAKE_CURRENT_SOURCE_DIR}/utils/querystats")
set(ENGINE_UTILS_LIBMYSQL_CL_INCLUDE "${CMAKE_CURRENT_SOURCE_DIR}/utils/libmysql_client")
set(ENGINE_WE_CONFIGCPP_INCLUDE "${CMAKE_CURRENT_SOURCE_DIR}/writeengine/xml")
set(ENGINE_DATATYPES_INCLUDE "${CMAKE_CURRENT_SOURCE_DIR}/datatypes")
set(ENGINE_BLOCKCACHE_INCLUDE "${CMAKE_CURRENT_SOURCE_DIR}/primitives/blockcache")
set(ENGINE_PRIMPROC_INCLUDE "${CMAKE_CURRENT_SOURCE_DIR}/primitives/primproc")
set(ENGINE_SERVER_SQL_INCLUDE "${SERVER_SOURCE_ROOT_DIR}/sql")
set(ENGINE_SERVER_INCLUDE_INCLUDE "${SERVER_SOURCE_ROOT_DIR}/include")
if(PCRE_INCLUDES)
set(ENGINE_SERVER_PCRE_INCLUDE "${PCRE_INCLUDES}")
else()
set(ENGINE_SERVER_PCRE_INCLUDE "${SERVER_BUILD_INCLUDE_DIR}/../pcre")
endif()
set(ENGINE_SERVER_WSREP_INCLUDE "${SERVER_SOURCE_ROOT_DIR}/wsrep-lib/include")
set(ENGINE_SERVER_WSREP_API_INCLUDE "${SERVER_SOURCE_ROOT_DIR}/wsrep-lib/wsrep-API/v26/")
set(ENGINE_UTILS_UDFSDK_INCLUDE "${CMAKE_CURRENT_SOURCE_DIR}/utils/udfsdk")
set(ENGINE_DEFAULT_INCLUDES ${CMAKE_CURRENT_BINARY_DIR} "." "../" "../../" ${SERVER_BUILD_INCLUDE_DIR})
set(ENGINE_COMMON_INCLUDES
${ENGINE_DEFAULT_INCLUDES}
${Boost_INCLUDE_DIRS}
${LIBXML2_INCLUDE_DIR}
${ENGINE_UTILS_MESSAGEQCPP_INCLUDE}
${ENGINE_WE_SHARED_INCLUDE}
${ENGINE_UTILS_IDBDATAFILE_INCLUDE}
${ENGINE_UTILS_LOGGINGCPP_INCLUDE}
${ENGINE_UTILS_CONFIGCPP_INCLUDE}
${ENGINE_UTILS_COMPRESS_INCLUDE}
${ENGINE_VERSIONING_BRM_INCLUDE}
${ENGINE_UTILS_ROWGROUP_INCLUDE}
${ENGINE_UTILS_COMMON_INCLUDE}
${ENGINE_UTILS_DATACONVERT_INCLUDE}
${ENGINE_UTILS_RWLOCK_INCLUDE}
${ENGINE_UTILS_FUNCEXP_INCLUDE}
${ENGINE_OAMAPPS_ALARMMANAGER_INCLUDE}
${ENGINE_UTILS_INCLUDE}
${ENGINE_OAM_OAMCPP_INCLUDE}
${ENGINE_DBCON_DDLPKGPROC_INCLUDE}
${ENGINE_DBCON_DDLPKG_INCLUDE}
${ENGINE_DBCON_EXECPLAN_INCLUDE}
${ENGINE_UTILS_STARTUP_INCLUDE}
${ENGINE_DBCON_JOBLIST_INCLUDE}
${ENGINE_WE_WRAPPER_INCLUDE}
${ENGINE_WE_SERVER_INCLUDE}
${ENGINE_DBCON_DMLPKG_INCLUDE}
${ENGINE_WE_CLIENT_INCLUDE}
${ENGINE_DBCON_DMLPKGPROC_INCLUDE}
${ENGINE_UTILS_CACHEUTILS_INCLUDE}
${ENGINE_UTILS_MYSQLCL_INCLUDE}
${ENGINE_UTILS_QUERYTELE_INCLUDE}
${ENGINE_UTILS_THRIFT_INCLUDE}
${ENGINE_UTILS_JOINER_INCLUDE}
${ENGINE_UTILS_THREADPOOL_INCLUDE}
${ENGINE_UTILS_BATCHLDR_INCLUDE}
${ENGINE_UTILS_DDLCLEANUP_INCLUDE}
${ENGINE_UTILS_QUERYSTATS_INCLUDE}
${ENGINE_WE_CONFIGCPP_INCLUDE}
${ENGINE_SERVER_SQL_INCLUDE}
${ENGINE_SERVER_INCLUDE_INCLUDE}
${ENGINE_SERVER_PCRE_INCLUDE}
${ENGINE_SERVER_WSREP_API_INCLUDE}
${ENGINE_SERVER_WSREP_INCLUDE}
${ENGINE_UTILS_UDFSDK_INCLUDE}
${ENGINE_UTILS_LIBMYSQL_CL_INCLUDE}
${ENGINE_DATATYPES_INCLUDE}
)
set(LIBMARIADB_BININC_DIR ${CMAKE_BINARY_DIR}/libmariadb/include)
set(LIBMARIADB_SRCINC_DIR ${CMAKE_SOURCE_DIR}/libmariadb/include)
set(SERVER_BUILD_INCLUDE_DIR ${CMAKE_BINARY_DIR}/include)
set(SERVER_SOURCE_ROOT_DIR ${CMAKE_SOURCE_DIR})