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
Serg dev (#2504)
* more build dependencies * fix for cmake < 3.11 It cannot do ADD_LIBRARY(... ALIAS ...) on IMPORTED targets * another fix for cmake 3.10.2 It doesn't know about CMAKE_CXX_STANDARD=20, let's add the correct flag manually * gcc 8 on aarch64 utils/common/simd_arm.h:241:16: error: need ‘typename’ before ‘simd::TypeToVecWrapperType<T>::WrapperType’ because ‘simd::TypeToVecWrapperType<T>’ is a dependent scope
This commit is contained in:
@ -28,8 +28,14 @@ endif()
|
||||
INCLUDE(ExternalProject)
|
||||
INCLUDE(CheckCXXSourceCompiles)
|
||||
|
||||
SET(CMAKE_CXX_STANDARD 20)
|
||||
SET(CMAKE_CXX_STANDARD_REQUIRED TRUE)
|
||||
MY_CHECK_CXX_COMPILER_FLAG("-std=c++20")
|
||||
IF (have_CXX__std_c__20)
|
||||
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++20")
|
||||
ELSE()
|
||||
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++2a")
|
||||
ENDIF()
|
||||
|
||||
UNSET(CMAKE_CXX_STANDARD)
|
||||
SET(CMAKE_CXX_EXTENSIONS FALSE)
|
||||
SET(CMAKE_EXPORT_COMPILE_COMMANDS TRUE)
|
||||
SET(CMAKE_POSITION_INDEPENDENT_CODE TRUE)
|
||||
@ -219,7 +225,7 @@ MY_CHECK_AND_SET_COMPILER_FLAG("-Wno-deprecated-copy" DEBUG RELEASE RELWITHDEBIN
|
||||
MY_CHECK_AND_SET_COMPILER_FLAG("-Werror -Wall")
|
||||
SET (ENGINE_LDFLAGS "-Wl,--no-as-needed -Wl,--add-needed")
|
||||
SET (ENGINE_DT_LIB datatypes)
|
||||
SET (ENGINE_COMMON_LIBS messageqcpp loggingcpp configcpp idbboot Boost::thread xml2 pthread rt libmysql_client ${ENGINE_DT_LIB})
|
||||
SET (ENGINE_COMMON_LIBS messageqcpp loggingcpp configcpp idbboot boost_thread xml2 pthread rt libmysql_client ${ENGINE_DT_LIB})
|
||||
SET (ENGINE_OAM_LIBS oamcpp)
|
||||
SET (ENGINE_BRM_LIBS brm idbdatafile cacheutils rwlock ${ENGINE_OAM_LIBS} ${ENGINE_COMMON_LIBS})
|
||||
SET (ENGINE_EXEC_LIBS joblist execplan windowfunction joiner rowgroup funcexp udfsdk regr dataconvert common compress querystats querytele thrift threadpool ${ENGINE_BRM_LIBS})
|
||||
|
@ -19,7 +19,6 @@ set(_b2args cxxflags=${_cxxargs};cflags=-fPIC;threading=multi; toolset=${_toolse
|
||||
FOREACH(name chrono filesystem program_options regex system thread)
|
||||
SET(lib boost_${name})
|
||||
ADD_LIBRARY(${lib} STATIC IMPORTED GLOBAL)
|
||||
ADD_LIBRARY(Boost::${name} ALIAS ${lib})
|
||||
ADD_DEPENDENCIES(${lib} external_boost)
|
||||
SET (loc "${Boost_LIBRARY_DIRS}/${CMAKE_STATIC_LIBRARY_PREFIX}${lib}${CMAKE_STATIC_LIBRARY_SUFFIX}")
|
||||
SET(byproducts ${byproducts} BUILD_BYPRODUCTS ${loc})
|
||||
|
@ -62,12 +62,10 @@ set(CMAKE_INSTALL_RPATH $ORIGIN $ORIGIN/../lib)
|
||||
add_library(storagemanager SHARED ${storagemanager_SRCS})
|
||||
add_dependencies(storagemanager marias3)
|
||||
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})
|
||||
set_property(TARGET storagemanager PROPERTY CXX_STANDARD 20)
|
||||
target_link_libraries(storagemanager boost_chrono boost_system boost_thread boost_filesystem boost_regex pthread ${S3API_DEPS})
|
||||
|
||||
add_executable(StorageManager src/main.cpp)
|
||||
target_link_libraries(StorageManager storagemanager)
|
||||
set_property(TARGET StorageManager PROPERTY CXX_STANDARD 20)
|
||||
|
||||
set(TMPDIR ${CMAKE_RUNTIME_OUTPUT_DIRECTORY})
|
||||
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
|
||||
@ -75,12 +73,10 @@ set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
|
||||
add_executable(unit_tests src/unit_tests.cpp)
|
||||
target_compile_definitions(unit_tests PUBLIC BOOST_NO_CXX11_SCOPED_ENUMS)
|
||||
target_link_libraries(unit_tests storagemanager)
|
||||
set_property(TARGET unit_tests PROPERTY CXX_STANDARD 20)
|
||||
|
||||
add_executable(testS3Connection src/testS3Connection.cpp)
|
||||
target_compile_definitions(testS3Connection PUBLIC BOOST_NO_CXX11_SCOPED_ENUMS)
|
||||
target_link_libraries(testS3Connection storagemanager)
|
||||
set_property(TARGET testS3Connection PROPERTY CXX_STANDARD 11)
|
||||
|
||||
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${TMPDIR})
|
||||
|
||||
|
@ -1,6 +1,5 @@
|
||||
include_directories( ${ENGINE_COMMON_INCLUDES} ${ENGINE_BLOCKCACHE_INCLUDE} ${ENGINE_PRIMPROC_INCLUDE} )
|
||||
cmake_policy(SET CMP0054 NEW)
|
||||
SET(CMAKE_CXX_STANDARD 20)
|
||||
|
||||
if (WITH_UNITTESTS)
|
||||
set(EXTERNAL_INSTALL_LOCATION ${CMAKE_BINARY_DIR}/external)
|
||||
|
@ -2,5 +2,5 @@ include_directories(${ENGINE_COMMON_INCLUDES})
|
||||
|
||||
set(rebuildEM_SRCS main.cpp rebuildEM.cpp)
|
||||
add_executable(mcsRebuildEM ${rebuildEM_SRCS})
|
||||
target_link_libraries(mcsRebuildEM ${ENGINE_LDFLAGS} ${ENGINE_WRITE_LIBS} ${MARIADB_CLIENT_LIBS} Boost::system Boost::filesystem)
|
||||
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)
|
||||
|
@ -16,7 +16,7 @@ set(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)
|
||||
|
||||
|
@ -238,7 +238,7 @@ struct IntegralToSIMD<T, KIND,
|
||||
template <typename T, ENUM_KIND KIND>
|
||||
struct IntegralToSIMD<T, KIND, typename std::enable_if<KIND != KIND_FLOAT>::type>
|
||||
{
|
||||
using type = TypeToVecWrapperType<T>::WrapperType;
|
||||
using type = typename TypeToVecWrapperType<T>::WrapperType;
|
||||
};
|
||||
|
||||
template <typename T, ENUM_KIND KIND, typename ENABLE = void>
|
||||
|
@ -15,7 +15,7 @@ set(idbdatafile_LIB_SRCS
|
||||
|
||||
add_library(idbdatafile SHARED ${idbdatafile_LIB_SRCS})
|
||||
|
||||
target_link_libraries(idbdatafile ${NETSNMP_LIBRARIES} ${ENGINE_OAM_LIBS} Boost::filesystem Boost::system)
|
||||
target_link_libraries(idbdatafile ${NETSNMP_LIBRARIES} ${ENGINE_OAM_LIBS} boost_filesystem boost_system)
|
||||
|
||||
target_compile_definitions(idbdatafile PUBLIC BOOST_NO_CXX11_SCOPED_ENUMS)
|
||||
|
||||
|
@ -19,6 +19,7 @@ install(TARGETS regr DESTINATION ${ENGINE_LIBDIR} COMPONENT columnstore-engine)
|
||||
set(regr_mysql_LIB_SRCS regrmysql.cpp modamysql.cpp)
|
||||
|
||||
add_library(regr_mysql SHARED ${regr_mysql_LIB_SRCS})
|
||||
add_dependencies(regr_mysql external_boost)
|
||||
|
||||
install(TARGETS regr_mysql DESTINATION ${MARIADB_PLUGINDIR} COMPONENT columnstore-engine)
|
||||
|
||||
|
@ -7,5 +7,5 @@ include_directories( ${ENGINE_COMMON_INCLUDES} )
|
||||
set(threadpool_LIB_SRCS weightedthreadpool.cpp threadpool.cpp prioritythreadpool.cpp fair_threadpool.cpp)
|
||||
add_library(threadpool SHARED ${threadpool_LIB_SRCS})
|
||||
add_dependencies(threadpool loggingcpp)
|
||||
target_link_libraries(threadpool Boost::chrono)
|
||||
target_link_libraries(threadpool boost_chrono)
|
||||
install(TARGETS threadpool DESTINATION ${ENGINE_LIBDIR} COMPONENT columnstore-engine)
|
Reference in New Issue
Block a user