Build fixes. Split config.h (#5686)

This commit is contained in:
proller 2019-06-20 12:12:49 +03:00 committed by GitHub
parent c899fce9fc
commit 3d8c8ee83c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
46 changed files with 101 additions and 79 deletions

View File

@ -268,15 +268,6 @@ if (USE_INCLUDE_WHAT_YOU_USE)
endif()
endif ()
# Check if gperf was installed
option (USE_GPERF "Use gperf function hash generator tool" ON)
if (USE_GPERF)
find_program(GPERF gperf)
if (NOT GPERF)
message(FATAL_ERROR "Could not find the program gperf")
endif()
endif()
# Flags for test coverage
if (TEST_COVERAGE)
set (CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -fprofile-arcs -ftest-coverage -DIS_DEBUG")

13
cmake/find_gperf.cmake Normal file
View File

@ -0,0 +1,13 @@
# Check if gperf was installed
find_program(GPERF gperf)
if(GPERF)
option(ENABLE_GPERF "Use gperf function hash generator tool" ON)
endif()
if (ENABLE_GPERF)
if(NOT GPERF)
message(FATAL_ERROR "Could not find the program gperf")
endif()
set(USE_GPERF 1)
endif()
message(STATUS "Using gperf=${USE_GPERF}: ${GPERF}")

View File

@ -1,6 +1,9 @@
include (CheckCXXSourceCompiles)
include (CMakePushCheckState)
set(THREADS_PREFER_PTHREAD_FLAG ON)
find_package(Threads)
cmake_push_check_state ()
if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang")

View File

@ -348,7 +348,7 @@ if (USE_JEMALLOC)
target_include_directories (dbms SYSTEM BEFORE PRIVATE ${JEMALLOC_INCLUDE_DIR}) # used in Interpreters/AsynchronousMetrics.cpp
endif ()
target_include_directories (dbms PUBLIC ${DBMS_INCLUDE_DIR})
target_include_directories (dbms PUBLIC ${DBMS_INCLUDE_DIR} PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/src/Formats/include)
target_include_directories (clickhouse_common_io PUBLIC ${DBMS_INCLUDE_DIR})
target_include_directories (clickhouse_common_io SYSTEM PUBLIC ${PCG_RANDOM_INCLUDE_DIR})
target_include_directories (clickhouse_common_io SYSTEM BEFORE PUBLIC ${DOUBLE_CONVERSION_INCLUDE_DIR})

View File

@ -5,31 +5,19 @@
#cmakedefine01 USE_ICU
#cmakedefine01 USE_MYSQL
#cmakedefine01 USE_RE2_ST
#cmakedefine01 USE_VECTORCLASS
#cmakedefine01 USE_RDKAFKA
#cmakedefine01 USE_CAPNP
#cmakedefine01 USE_EMBEDDED_COMPILER
#cmakedefine01 USE_POCO_SQLODBC
#cmakedefine01 USE_POCO_DATAODBC
#cmakedefine01 USE_POCO_MONGODB
#cmakedefine01 USE_POCO_NETSSL
#cmakedefine01 USE_BASE64
#cmakedefine01 USE_SNAPPY
#cmakedefine01 USE_PARQUET
#cmakedefine01 USE_HDFS
#cmakedefine01 USE_XXHASH
#cmakedefine01 USE_INTERNAL_LLVM_LIBRARY
#cmakedefine01 USE_PROTOBUF
#cmakedefine01 USE_CPUID
#cmakedefine01 USE_CPUINFO
#cmakedefine01 USE_BROTLI
#cmakedefine01 USE_SSL
#cmakedefine01 USE_HYPERSCAN
#cmakedefine01 USE_SIMDJSON
#cmakedefine01 USE_RAPIDJSON
#cmakedefine01 USE_LFALLOC
#cmakedefine01 USE_LFALLOC_RANDOM_HINT
#cmakedefine01 USE_GPERF
#cmakedefine01 CLICKHOUSE_SPLIT_BINARY
#cmakedefine01 LLVM_HAS_RTTI

View File

@ -1,3 +1,5 @@
configure_file(config_formats.h.in ${CMAKE_CURRENT_BINARY_DIR}/include/config_formats.h)
if (ENABLE_TESTS)
add_subdirectory (tests)
endif ()

View File

@ -1,9 +1,10 @@
#include <Common/config.h>
#include "config_formats.h"
#if USE_CAPNP
#include "CapnProtoRowInputStream.h"
#include <IO/ReadBuffer.h>
#include <Interpreters/Context.h>
#include <Formats/CapnProtoRowInputStream.h>
#include <Formats/FormatFactory.h>
#include <Formats/BlockInputStreamFromRowInputStream.h>
#include <Formats/FormatSchemaInfo.h>

View File

@ -1,10 +1,9 @@
#pragma once
#include <Common/config.h>
#include "config_formats.h"
#if USE_CAPNP
#include <Core/Block.h>
#include <Formats/IRowInputStream.h>
#include <capnp/schema-parser.h>
namespace DB

View File

@ -1,5 +1,4 @@
#include <Common/config.h>
#include "config_formats.h"
#if USE_PARQUET
# include "ParquetBlockInputStream.h"

View File

@ -1,11 +1,8 @@
#pragma once
#include <Common/config.h>
#include "config_formats.h"
#if USE_PARQUET
# include <DataStreams/IBlockInputStream.h>
//# include <parquet/file_reader.h>
//# include <parquet/arrow/reader.h>
//# include <arrow/buffer.h>
namespace parquet { namespace arrow { class FileReader; } }

View File

@ -1,4 +1,4 @@
#include <Common/config.h>
#include "config_formats.h"
#if USE_PARQUET
# include "ParquetBlockOutputStream.h"
@ -24,8 +24,6 @@
# include <parquet/exception.h>
# include <parquet/util/memory.h>
# include <Core/iostream_debug_helpers.h> // REMOVE ME
namespace DB
{
namespace ErrorCodes

View File

@ -1,6 +1,6 @@
#pragma once
#include <Common/config.h>
#include "config_formats.h"
#if USE_PARQUET
# include <DataStreams/IBlockOutputStream.h>
# include <Formats/FormatSettings.h>

View File

@ -1,8 +1,9 @@
#include <Common/config.h>
#include "config_formats.h"
#if USE_PROTOBUF
#include "ProtobufColumnMatcher.h"
#include <Common/Exception.h>
#include <Formats/ProtobufColumnMatcher.h>
#include <google/protobuf/descriptor.h>
#include <google/protobuf/descriptor.pb.h>
#include <Poco/String.h>

View File

@ -1,6 +1,6 @@
#pragma once
#include <Common/config.h>
#include "config_formats.h"
#if USE_PROTOBUF
#include <memory>

View File

@ -1,10 +1,11 @@
#include <Common/config.h>
#include "config_formats.h"
#if USE_PROTOBUF
#include "ProtobufReader.h"
#include <AggregateFunctions/IAggregateFunction.h>
#include <boost/numeric/conversion/cast.hpp>
#include <DataTypes/DataTypesDecimal.h>
#include <Formats/ProtobufReader.h>
#include <IO/ReadBufferFromString.h>
#include <IO/ReadHelpers.h>
#include <IO/WriteBufferFromVector.h>

View File

@ -5,7 +5,7 @@
#include <Common/UInt128.h>
#include <Core/UUID.h>
#include <Common/config.h>
#include "config_formats.h"
#if USE_PROTOBUF
#include <boost/noncopyable.hpp>

View File

@ -1,11 +1,12 @@
#include <Common/config.h>
#include "config_formats.h"
#if USE_PROTOBUF
#include "ProtobufRowInputStream.h"
#include <Core/Block.h>
#include <Formats/BlockInputStreamFromRowInputStream.h>
#include <Formats/FormatFactory.h>
#include <Formats/FormatSchemaInfo.h>
#include <Formats/ProtobufRowInputStream.h>
#include <Formats/ProtobufSchemas.h>

View File

@ -1,6 +1,6 @@
#pragma once
#include <Common/config.h>
#include "config_formats.h"
#if USE_PROTOBUF
#include <DataTypes/IDataType.h>

View File

@ -1,6 +1,6 @@
#include <Formats/FormatFactory.h>
#include <Common/config.h>
#include "config_formats.h"
#if USE_PROTOBUF
#include "ProtobufRowOutputStream.h"

View File

@ -1,4 +1,4 @@
#include <Common/config.h>
#include "config_formats.h"
#if USE_PROTOBUF
#include <Formats/FormatSchemaInfo.h>

View File

@ -1,6 +1,6 @@
#pragma once
#include <Common/config.h>
#include "config_formats.h"
#if USE_PROTOBUF
#include <memory>

View File

@ -1,6 +1,8 @@
#include <Common/config.h>
#include "config_formats.h"
#if USE_PROTOBUF
#include "ProtobufWriter.h"
#include <cassert>
#include <optional>
#include <math.h>
@ -11,7 +13,6 @@
#include <google/protobuf/descriptor.pb.h>
#include <IO/ReadHelpers.h>
#include <IO/WriteHelpers.h>
#include "ProtobufWriter.h"
namespace DB

View File

@ -4,7 +4,7 @@
#include <Common/UInt128.h>
#include <common/DayNum.h>
#include <Common/config.h>
#include "config_formats.h"
#if USE_PROTOBUF
#include <Formats/ProtobufColumnMatcher.h>

View File

@ -0,0 +1,8 @@
#pragma once
// .h autogenerated by cmake!
#cmakedefine01 USE_CAPNP
#cmakedefine01 USE_SNAPPY
#cmakedefine01 USE_PARQUET
#cmakedefine01 USE_PROTOBUF

View File

@ -1,3 +1,6 @@
include (${ClickHouse_SOURCE_DIR}/cmake/find_gperf.cmake)
configure_file(config_functions.h.in ${CMAKE_CURRENT_BINARY_DIR}/include/config_functions.h)
include(${ClickHouse_SOURCE_DIR}/cmake/dbms_glob_sources.cmake)
add_headers_and_sources(clickhouse_functions ./GatherUtils)
@ -6,7 +9,7 @@ add_headers_and_sources(clickhouse_functions .)
if (USE_GPERF)
add_custom_command(
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/tldLookup.cpp
COMMAND ${GPERF} ${CMAKE_CURRENT_SOURCE_DIR}/gperf/tldLookup.gperf --output-file=${CMAKE_CURRENT_BINARY_DIR}/tldLookup.cpp
COMMAND ${GPERF} ${CMAKE_CURRENT_SOURCE_DIR}/tldLookup.gperf --output-file=${CMAKE_CURRENT_BINARY_DIR}/tldLookup.cpp
)
list(APPEND clickhouse_functions_sources ${CMAKE_CURRENT_BINARY_DIR}/tldLookup.cpp)
@ -34,7 +37,8 @@ if (OPENSSL_CRYPTO_LIBRARY)
target_link_libraries(clickhouse_functions PUBLIC ${OPENSSL_CRYPTO_LIBRARY})
endif()
target_include_directories (clickhouse_functions SYSTEM BEFORE PUBLIC ${DIVIDE_INCLUDE_DIR} ${METROHASH_INCLUDE_DIR})
target_include_directories(clickhouse_functions PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/include)
target_include_directories(clickhouse_functions SYSTEM BEFORE PUBLIC ${DIVIDE_INCLUDE_DIR} ${METROHASH_INCLUDE_DIR})
if (CONSISTENT_HASHING_INCLUDE_DIR)
target_include_directories (clickhouse_functions PRIVATE ${CONSISTENT_HASHING_INCLUDE_DIR})

View File

@ -1,4 +1,4 @@
#include <Common/config.h>
#include "config_functions.h"
#if USE_BASE64
#include <Columns/ColumnConst.h>
#include <Columns/ColumnString.h>

View File

@ -8,7 +8,7 @@
#include <Columns/ColumnConst.h>
#include <Functions/IFunction.h>
#include <Functions/FunctionHelpers.h>
#include <Common/config.h>
#include "config_functions.h"
/** More efficient implementations of mathematical functions are possible when using a separate library.
* Disabled due to license compatibility limitations.

View File

@ -7,7 +7,7 @@
#include <Columns/ColumnDecimal.h>
#include <Functions/IFunction.h>
#include <Functions/FunctionHelpers.h>
#include <Common/config.h>
#include "config_functions.h"
/** More efficient implementations of mathematical functions are possible when using a separate library.
* Disabled due to license compatibility limitations.

View File

@ -1,7 +1,6 @@
#include <Functions/FunctionFactory.h>
#include <Functions/FunctionsHashing.h>
#include <Common/config.h>
#include "FunctionsHashing.h"
#include <Functions/FunctionFactory.h>
namespace DB
{

View File

@ -10,11 +10,12 @@
#include <Common/typeid_cast.h>
#include <Common/HashTable/Hash.h>
#include <Common/config.h>
#include "config_functions.h"
#if USE_XXHASH
# include <xxhash.h>
#endif
#include <Common/config.h>
#if USE_SSL
# include <openssl/md5.h>
# include <openssl/sha.h>

View File

@ -4,7 +4,7 @@
#include <Functions/DummyJSONParser.h>
#include <Functions/SimdJSONParser.h>
#include <Functions/RapidJSONParser.h>
#include <Common/config.h>
#include "config_functions.h"
#include <Common/CpuId.h>
#include <Common/typeid_cast.h>
#include <Core/Settings.h>

View File

@ -1,6 +1,6 @@
#include "FunctionsStringRegex.h"
#include "FunctionsStringSearch.h"
#include "FunctionsStringSearch.h"
#include <Columns/ColumnFixedString.h>
#include <DataTypes/DataTypeFixedString.h>
#include <Functions/FunctionFactory.h>
@ -10,14 +10,13 @@
#include <re2/stringpiece.h>
#include <Poco/UTF8String.h>
#include <Common/Volnitsky.h>
#include <algorithm>
#include <memory>
#include <optional>
#include <string>
#include <vector>
#include <Common/config.h>
#include "config_functions.h"
#if USE_HYPERSCAN
# if __has_include(<hs/hs.h>)
# include <hs/hs.h>
@ -26,6 +25,7 @@
# endif
#endif
#include <Common/config.h>
#if USE_RE2_ST
# include <re2_st/re2.h>
#else

View File

@ -1,3 +1,5 @@
#include "IFunction.h"
#include <Common/config.h>
#include <Common/typeid_cast.h>
#include <Common/LRUCache.h>
@ -13,7 +15,6 @@
#include <DataTypes/DataTypeLowCardinality.h>
#include <DataTypes/getLeastSupertype.h>
#include <Functions/FunctionHelpers.h>
#include <Functions/IFunction.h>
#include <Interpreters/ExpressionActions.h>
#include <IO/WriteHelpers.h>
#include <ext/range.h>

View File

@ -1,6 +1,6 @@
#pragma once
#include <Common/config.h>
#include "config_functions.h"
#if USE_RAPIDJSON
#include <common/StringRef.h>

View File

@ -15,7 +15,7 @@
#include <common/StringRef.h>
#include <Common/config.h>
#include "config_functions.h"
#if USE_HYPERSCAN
# if __has_include(<hs/hs.h>)
# include <hs/hs.h>

View File

@ -1,6 +1,6 @@
#pragma once
#include <Common/config.h>
#include "config_functions.h"
#if USE_SIMDJSON
#include <common/StringRef.h>

View File

@ -1,6 +1,6 @@
#include <Functions/FunctionFactory.h>
#include <Functions/FunctionBase64Conversion.h>
#if USE_BASE64
#include <Functions/FunctionFactory.h>
#include <DataTypes/DataTypeString.h>
namespace DB

View File

@ -0,0 +1,11 @@
#pragma once
// .h autogenerated by cmake!
#cmakedefine01 USE_VECTORCLASS
#cmakedefine01 USE_BASE64
#cmakedefine01 USE_XXHASH
#cmakedefine01 USE_HYPERSCAN
#cmakedefine01 USE_SIMDJSON
#cmakedefine01 USE_RAPIDJSON
#cmakedefine01 USE_GPERF

View File

@ -1,6 +1,8 @@
#include <Functions/FunctionMathUnaryFloat64.h>
#include <Functions/FunctionFactory.h>
#include <common/preciseExp10.h>
#if !USE_VECTORCLASS
# include <common/preciseExp10.h>
#endif
namespace DB
{

View File

@ -1,11 +1,8 @@
#pragma once
#include <Functions/domain.h>
#include <common/find_symbols.h>
#include <Common/config.h>
#if USE_GPERF
# include <Functions/tldLookup.h>
#endif
#include "domain.h"
#include "tldLookup.h"
namespace DB
{

View File

@ -1,4 +1,4 @@
#include <Common/config.h>
#include "config_functions.h"
namespace DB
{

View File

@ -1,6 +1,6 @@
#pragma once
#include <Common/config.h>
#include "config_functions.h"
#if USE_GPERF
// Definition of the class generated by gperf, present on gperf/tldLookup.gperf
class tldLookupHash

View File

@ -1,6 +1,6 @@
#include <Functions/FunctionFactory.h>
#include <Functions/FunctionBase64Conversion.h>
#if USE_BASE64
#include <Functions/FunctionFactory.h>
#include <DataTypes/DataTypeString.h>
namespace DB

View File

@ -61,6 +61,7 @@ const char * auto_config_build[]
"USE_SSL", "@USE_SSL@",
"USE_HYPERSCAN", "@USE_HYPERSCAN@",
"USE_SIMDJSON", "@USE_SIMDJSON@",
"USE_GPERF", "@USE_GPERF@",
nullptr, nullptr
};

View File

@ -443,7 +443,7 @@ if __name__ == '__main__':
parser.add_argument('--force-color', action='store_true', default=False)
parser.add_argument('--database', help='Database for tests (random name test_XXXXXX by default)')
parser.add_argument('--parallel', default='1/1', help='One parallel test run number/total')
parser.add_argument('-j', '--jobs', default=1, help='Run all tests in parallel', type=int) # default=multiprocessing.cpu_count()
parser.add_argument('-j', '--jobs', default=1, nargs='?', type=int, help='Run all tests in parallel')
parser.add_argument('--no-stateless', action='store_true', help='Disable all stateless tests')
parser.add_argument('--no-stateful', action='store_true', help='Disable all stateful tests')
@ -507,4 +507,7 @@ if __name__ == '__main__':
else:
args.extract_from_config = args.binary + ' extract-from-config'
if args.jobs is None:
args.jobs=multiprocessing.cpu_count()
main(args)