You've already forked mariadb-columnstore-engine
mirror of
https://github.com/mariadb-corporation/mariadb-columnstore-engine.git
synced 2025-07-30 19:23:07 +03:00
Merge pull request #2338 from mariadb-corporation/external-boost
Use external boost 1.78
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@ -176,3 +176,4 @@ mariadb-columnstore-regression-test/
|
|||||||
build/Testing/
|
build/Testing/
|
||||||
tests/*\[1\]_tests.cmake
|
tests/*\[1\]_tests.cmake
|
||||||
tests/*\[1\]_include.cmake
|
tests/*\[1\]_include.cmake
|
||||||
|
.boost
|
||||||
|
@ -95,12 +95,7 @@ SET (ENGINE_SRC_DIR ${CMAKE_CURRENT_SOURCE_DIR})
|
|||||||
|
|
||||||
INCLUDE(columnstore_version)
|
INCLUDE(columnstore_version)
|
||||||
INCLUDE(misc)
|
INCLUDE(misc)
|
||||||
|
INCLUDE(boost)
|
||||||
FIND_PACKAGE(Boost 1.53.0 COMPONENTS system filesystem thread regex date_time chrono atomic)
|
|
||||||
IF (NOT Boost_FOUND)
|
|
||||||
MESSAGE_ONCE(CS_NO_BOOST "Required Boost libraries not found!")
|
|
||||||
return()
|
|
||||||
ENDIF()
|
|
||||||
|
|
||||||
FIND_PACKAGE(BISON)
|
FIND_PACKAGE(BISON)
|
||||||
IF (NOT BISON_FOUND)
|
IF (NOT BISON_FOUND)
|
||||||
|
@ -1,33 +1,33 @@
|
|||||||
cmake_minimum_required(VERSION @CMAKE_VERSION@)
|
cmake_minimum_required(VERSION @CMAKE_VERSION@)
|
||||||
|
project (BoostExternal)
|
||||||
include(ExternalProject)
|
include(ExternalProject)
|
||||||
|
|
||||||
if(CMAKE_CXX_COMPILER_ID MATCHES "GNU")
|
if(CMAKE_CXX_COMPILER_ID MATCHES "GNU")
|
||||||
set(_toolset "gcc")
|
set(_toolset "gcc")
|
||||||
elseif(CMAKE_CXX_COMPILER_ID MATCHES ".*Clang")
|
elseif(CMAKE_CXX_COMPILER_ID MATCHES ".*Clang")
|
||||||
set(_toolset "clang")
|
set(_toolset "clang")
|
||||||
elseif(CMAKE_CXX_COMPILER_ID MATCHES "Intel")
|
elseif(CMAKE_CXX_COMPILER_ID MATCHES "Intel")
|
||||||
set(_toolset "intel-linux")
|
set(_toolset "intel-linux")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
set(_b2args link=shared;threading=multi;variant=release;toolset=${_toolset};--with-system;--with-filesystem;--with-thread;--with-regex;--with-date_time)
|
set(INSTALL_LOCATION ${CMAKE_BINARY_DIR}/boost-lib)
|
||||||
|
|
||||||
ExternalProject_Add(boost
|
set(_cxxargs "-fPIC -DBOOST_NO_AUTO_PTR -fvisibility=default")
|
||||||
PREFIX build
|
set(_b2args cxxflags=${_cxxargs};cflags=-fPIC;threading=multi; toolset=${_toolset} --without-python;--prefix=${INSTALL_LOCATION})
|
||||||
URL https://sourceforge.net/projects/boost/files/boost/1.55.0/boost_1_55_0.zip
|
|
||||||
URL_HASH SHA256=ae85620e810b87a03e1acf8bbf0d4ad87c0cf7040cf6a4e1d8958488ebe42e7e
|
ExternalProject_Add(boost
|
||||||
DOWNLOAD_NO_PROGRESS TRUE
|
PREFIX build
|
||||||
UPDATE_COMMAND ""
|
GIT_REPOSITORY https://github.com/boostorg/boost.git
|
||||||
CONFIGURE_COMMAND <SOURCE_DIR>/bootstrap.sh
|
GIT_TAG boost-1.78.0
|
||||||
--with-toolset=${_toolset}
|
DOWNLOAD_NO_PROGRESS TRUE
|
||||||
--prefix=${CMAKE_CURRENT_SOURCE_DIR}/../boost
|
UPDATE_COMMAND ""
|
||||||
--with-libraries=system,filesystem,thread,regex,date_time
|
CONFIGURE_COMMAND <SOURCE_DIR>/bootstrap.sh
|
||||||
BUILD_COMMAND <SOURCE_DIR>/b2 -q ${_b2args}
|
BUILD_COMMAND <SOURCE_DIR>/b2 -q ${_b2args}
|
||||||
LOG_BUILD TRUE
|
LOG_BUILD TRUE
|
||||||
BUILD_IN_SOURCE TRUE
|
BUILD_IN_SOURCE TRUE
|
||||||
INSTALL_COMMAND <SOURCE_DIR>/b2 -q install ${_b2args}
|
INSTALL_COMMAND <SOURCE_DIR>/b2 -q install ${_b2args}
|
||||||
LOG_INSTALL TRUE
|
LOG_INSTALL TRUE
|
||||||
)
|
)
|
||||||
|
|
||||||
unset(_b2args)
|
unset(_b2args)
|
||||||
unset(_toolset)
|
unset(_toolset)
|
@ -3,9 +3,11 @@
|
|||||||
|
|
||||||
|
|
||||||
configure_file(${CMAKE_CURRENT_LIST_DIR}/boost.CMakeLists.txt.in ${CMAKE_CURRENT_BINARY_DIR}/.boost/CMakeLists.txt @ONLY)
|
configure_file(${CMAKE_CURRENT_LIST_DIR}/boost.CMakeLists.txt.in ${CMAKE_CURRENT_BINARY_DIR}/.boost/CMakeLists.txt @ONLY)
|
||||||
|
SET(BOOST_ROOT ${CMAKE_CURRENT_BINARY_DIR}/.boost/boost-lib)
|
||||||
|
|
||||||
|
message ("-- External: Configuring Boost")
|
||||||
execute_process(
|
execute_process(
|
||||||
COMMAND ${CMAKE_COMMAND} .
|
COMMAND ${CMAKE_COMMAND} .
|
||||||
-G "${CMAKE_GENERATOR}"
|
-G "${CMAKE_GENERATOR}"
|
||||||
-DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}
|
-DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}
|
||||||
-DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}
|
-DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}
|
||||||
@ -17,6 +19,7 @@ if(${_exec_ret})
|
|||||||
message(FATAL_ERROR "Error ${_exec_ret} configuring boost dependency.")
|
message(FATAL_ERROR "Error ${_exec_ret} configuring boost dependency.")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
message ("-- External: Building Boost")
|
||||||
execute_process(
|
execute_process(
|
||||||
COMMAND ${CMAKE_COMMAND} --build .
|
COMMAND ${CMAKE_COMMAND} --build .
|
||||||
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/.boost
|
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/.boost
|
||||||
@ -29,6 +32,13 @@ endif()
|
|||||||
|
|
||||||
unset(_exec_ret)
|
unset(_exec_ret)
|
||||||
|
|
||||||
set(BOOST_ROOT ${CMAKE_CURRENT_BINARY_DIR}/boost)
|
|
||||||
|
|
||||||
find_package(Boost 1.55.0 REQUIRED COMPONENTS system filesystem thread regex date_time)
|
message("Boost installed localy at ${BOOST_ROOT}")
|
||||||
|
|
||||||
|
|
||||||
|
SET(Boost_USE_STATIC_LIBS ON)
|
||||||
|
FIND_PACKAGE(Boost 1.78.0 COMPONENTS system filesystem thread regex date_time chrono atomic)
|
||||||
|
IF (NOT Boost_FOUND)
|
||||||
|
MESSAGE_ONCE(CS_NO_BOOST "Required Boost libraries not found!")
|
||||||
|
return()
|
||||||
|
ENDIF()
|
||||||
|
@ -3,7 +3,7 @@ project(storagemanager)
|
|||||||
|
|
||||||
include_directories(include ${CMAKE_BINARY_DIR}/include ${ENGINE_UTILS_COMMON_INCLUDE} ${S3API_DIR})
|
include_directories(include ${CMAKE_BINARY_DIR}/include ${ENGINE_UTILS_COMMON_INCLUDE} ${S3API_DIR})
|
||||||
|
|
||||||
set(storagemanager_SRCS
|
set(storagemanager_SRCS
|
||||||
src/AppendTask.cpp
|
src/AppendTask.cpp
|
||||||
src/ClientRequestProcessor.cpp
|
src/ClientRequestProcessor.cpp
|
||||||
src/ListDirectoryTask.cpp
|
src/ListDirectoryTask.cpp
|
||||||
@ -62,12 +62,12 @@ set(CMAKE_INSTALL_RPATH $ORIGIN $ORIGIN/../lib)
|
|||||||
add_library(storagemanager SHARED ${storagemanager_SRCS})
|
add_library(storagemanager SHARED ${storagemanager_SRCS})
|
||||||
add_dependencies(storagemanager marias3)
|
add_dependencies(storagemanager marias3)
|
||||||
target_compile_definitions(storagemanager PUBLIC BOOST_NO_CXX11_SCOPED_ENUMS)
|
target_compile_definitions(storagemanager PUBLIC BOOST_NO_CXX11_SCOPED_ENUMS)
|
||||||
target_link_libraries(storagemanager boost_chrono boost_system boost_thread boost_filesystem boost_regex pthread ${S3API_DEPS})
|
target_link_libraries(storagemanager Boost::chrono Boost::system Boost::thread Boost::filesystem Boost::regex pthread ${S3API_DEPS})
|
||||||
set_property(TARGET storagemanager PROPERTY CXX_STANDARD 11)
|
set_property(TARGET storagemanager PROPERTY CXX_STANDARD 20)
|
||||||
|
|
||||||
add_executable(StorageManager src/main.cpp)
|
add_executable(StorageManager src/main.cpp)
|
||||||
target_link_libraries(StorageManager storagemanager)
|
target_link_libraries(StorageManager storagemanager)
|
||||||
set_property(TARGET StorageManager PROPERTY CXX_STANDARD 11)
|
set_property(TARGET StorageManager PROPERTY CXX_STANDARD 20)
|
||||||
|
|
||||||
set(TMPDIR ${CMAKE_RUNTIME_OUTPUT_DIRECTORY})
|
set(TMPDIR ${CMAKE_RUNTIME_OUTPUT_DIRECTORY})
|
||||||
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
|
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
|
||||||
@ -75,7 +75,7 @@ set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
|
|||||||
add_executable(unit_tests src/unit_tests.cpp)
|
add_executable(unit_tests src/unit_tests.cpp)
|
||||||
target_compile_definitions(unit_tests PUBLIC BOOST_NO_CXX11_SCOPED_ENUMS)
|
target_compile_definitions(unit_tests PUBLIC BOOST_NO_CXX11_SCOPED_ENUMS)
|
||||||
target_link_libraries(unit_tests storagemanager)
|
target_link_libraries(unit_tests storagemanager)
|
||||||
set_property(TARGET unit_tests PROPERTY CXX_STANDARD 11)
|
set_property(TARGET unit_tests PROPERTY CXX_STANDARD 20)
|
||||||
|
|
||||||
add_executable(testS3Connection src/testS3Connection.cpp)
|
add_executable(testS3Connection src/testS3Connection.cpp)
|
||||||
target_compile_definitions(testS3Connection PUBLIC BOOST_NO_CXX11_SCOPED_ENUMS)
|
target_compile_definitions(testS3Connection PUBLIC BOOST_NO_CXX11_SCOPED_ENUMS)
|
||||||
@ -96,10 +96,10 @@ add_custom_command(
|
|||||||
${CMAKE_CURRENT_BINARY_DIR}/test_data
|
${CMAKE_CURRENT_BINARY_DIR}/test_data
|
||||||
# COMMAND ${CMAKE_COMMAND} -E copy
|
# COMMAND ${CMAKE_COMMAND} -E copy
|
||||||
# ../bin/unit_tests # what is putting our bins in ../bin?
|
# ../bin/unit_tests # what is putting our bins in ../bin?
|
||||||
# ${CMAKE_CURRENT_BINARY_DIR}
|
# ${CMAKE_CURRENT_BINARY_DIR}
|
||||||
)
|
)
|
||||||
|
|
||||||
# The includes and lib linkages required to link against cloudio ...
|
# The includes and lib linkages required to link against cloudio ...
|
||||||
# pretty crazy. When lib dependencies are eventually config'd right,
|
# pretty crazy. When lib dependencies are eventually config'd right,
|
||||||
# change this to only include and link against cloudio.
|
# change this to only include and link against cloudio.
|
||||||
include_directories(${ENGINE_SRC_DIR}/utils/cloudio ${ENGINE_COMMON_INCLUDES})
|
include_directories(${ENGINE_SRC_DIR}/utils/cloudio ${ENGINE_COMMON_INCLUDES})
|
||||||
@ -141,12 +141,12 @@ install(TARGETS StorageManager smcat smput smls smrm testS3Connection
|
|||||||
COMPONENT columnstore-engine
|
COMPONENT columnstore-engine
|
||||||
)
|
)
|
||||||
|
|
||||||
install(FILES storagemanager.cnf
|
install(FILES storagemanager.cnf
|
||||||
DESTINATION ${ENGINE_SYSCONFDIR}/columnstore
|
DESTINATION ${ENGINE_SYSCONFDIR}/columnstore
|
||||||
COMPONENT columnstore-engine
|
COMPONENT columnstore-engine
|
||||||
)
|
)
|
||||||
|
|
||||||
install(FILES storagemanager.cnf
|
install(FILES storagemanager.cnf
|
||||||
RENAME storagemanager.cnf.example
|
RENAME storagemanager.cnf.example
|
||||||
DESTINATION ${ENGINE_SYSCONFDIR}/columnstore
|
DESTINATION ${ENGINE_SYSCONFDIR}/columnstore
|
||||||
COMPONENT columnstore-engine
|
COMPONENT columnstore-engine
|
||||||
|
@ -2,5 +2,5 @@ include_directories(${ENGINE_COMMON_INCLUDES})
|
|||||||
|
|
||||||
set(rebuildEM_SRCS main.cpp rebuildEM.cpp)
|
set(rebuildEM_SRCS main.cpp rebuildEM.cpp)
|
||||||
add_executable(mcsRebuildEM ${rebuildEM_SRCS})
|
add_executable(mcsRebuildEM ${rebuildEM_SRCS})
|
||||||
target_link_libraries(mcsRebuildEM ${ENGINE_LDFLAGS} ${ENGINE_WRITE_LIBS} ${MARIADB_CLIENT_LIBS} boost_filesystem boost_system)
|
target_link_libraries(mcsRebuildEM ${ENGINE_LDFLAGS} ${ENGINE_WRITE_LIBS} ${MARIADB_CLIENT_LIBS} Boost::system Boost::filesystem)
|
||||||
install(TARGETS mcsRebuildEM DESTINATION ${ENGINE_BINDIR} COMPONENT columnstore-engine)
|
install(TARGETS mcsRebuildEM DESTINATION ${ENGINE_BINDIR} COMPONENT columnstore-engine)
|
||||||
|
@ -16,7 +16,7 @@ set(common_LIB_SRCS
|
|||||||
|
|
||||||
add_library(common SHARED ${common_LIB_SRCS})
|
add_library(common SHARED ${common_LIB_SRCS})
|
||||||
|
|
||||||
target_link_libraries(common boost_filesystem)
|
target_link_libraries(common Boost::filesystem)
|
||||||
|
|
||||||
add_dependencies(common loggingcpp)
|
add_dependencies(common loggingcpp)
|
||||||
|
|
||||||
|
@ -15,7 +15,7 @@ set(idbdatafile_LIB_SRCS
|
|||||||
|
|
||||||
add_library(idbdatafile SHARED ${idbdatafile_LIB_SRCS})
|
add_library(idbdatafile SHARED ${idbdatafile_LIB_SRCS})
|
||||||
|
|
||||||
target_link_libraries(idbdatafile ${NETSNMP_LIBRARIES} ${ENGINE_OAM_LIBS})
|
target_link_libraries(idbdatafile ${NETSNMP_LIBRARIES} ${ENGINE_OAM_LIBS} Boost::filesystem Boost::system)
|
||||||
|
|
||||||
target_compile_definitions(idbdatafile PUBLIC BOOST_NO_CXX11_SCOPED_ENUMS)
|
target_compile_definitions(idbdatafile PUBLIC BOOST_NO_CXX11_SCOPED_ENUMS)
|
||||||
|
|
||||||
|
@ -155,7 +155,6 @@ JoinPartition::JoinPartition(const JoinPartition& jp, bool splitMode)
|
|||||||
, nextSmallOffset(0)
|
, nextSmallOffset(0)
|
||||||
, nextLargeOffset(0)
|
, nextLargeOffset(0)
|
||||||
{
|
{
|
||||||
boost::posix_time::ptime t;
|
|
||||||
ostringstream os;
|
ostringstream os;
|
||||||
|
|
||||||
fileMode = true;
|
fileMode = true;
|
||||||
|
@ -9,5 +9,6 @@ set(threadpool_LIB_SRCS weightedthreadpool.cpp threadpool.cpp prioritythreadpool
|
|||||||
add_library(threadpool SHARED ${threadpool_LIB_SRCS})
|
add_library(threadpool SHARED ${threadpool_LIB_SRCS})
|
||||||
|
|
||||||
add_dependencies(threadpool loggingcpp)
|
add_dependencies(threadpool loggingcpp)
|
||||||
|
target_link_libraries(threadpool Boost::chrono)
|
||||||
|
|
||||||
install(TARGETS threadpool DESTINATION ${ENGINE_LIBDIR} COMPONENT columnstore-engine)
|
install(TARGETS threadpool DESTINATION ${ENGINE_LIBDIR} COMPONENT columnstore-engine)
|
||||||
|
Reference in New Issue
Block a user