Created
December 9, 2012 14:22
-
-
Save coderplay/4245172 to your computer and use it in GitHub Desktop.
supersonic with cmake
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
cmake_minimum_required(VERSION 2.8) | |
project(supersonic) | |
MESSAGE(STATUS "This is BINARY dir " ${supersonic_BINARY_DIR}) | |
MESSAGE(STATUS "This is SOURCE dir "${supersonic_SOURCE_DIR}) | |
#============================================================================ | |
# HEADERS | |
#============================================================================ | |
# protobuf | |
set(protos_H | |
${supersonic_BINARY_DIR}/supersonic/utils/exception/stack_trace.pb.h | |
${supersonic_BINARY_DIR}/supersonic/utils/proto/expressions.pb.h | |
${supersonic_BINARY_DIR}/supersonic/utils/proto/types.pb.h | |
${supersonic_BINARY_DIR}/supersonic/cursor/proto/cursors.pb.h | |
${supersonic_BINARY_DIR}/supersonic/expression/proto/operators.pb.h | |
${supersonic_BINARY_DIR}/supersonic/proto/specification.pb.h | |
${supersonic_BINARY_DIR}/supersonic/proto/supersonic.pb.h | |
) | |
set(sources_H | |
supersonic/utils/algorithm.h | |
supersonic/utils/arm_instruction_set_select.h | |
supersonic/utils/atomicops.h | |
supersonic/utils/auxiliary/atomicops-internals-macosx.h | |
supersonic/utils/auxiliary/atomicops-internals-arm-v6plus.h | |
supersonic/utils/auxiliary/atomicops-internals-arm-generic.h | |
supersonic/utils/atomicops-internals-x86.h | |
supersonic/utils/atomicops-internals-powerpc.h | |
supersonic/utils/auxiliary/atomicops-internals-windows.h | |
supersonic/utils/atomic_refcount.h | |
supersonic/utils/basictypes.h | |
supersonic/utils/bits.h | |
supersonic/utils/charmap.h | |
supersonic/utils/container_literal.h | |
supersonic/utils/container_literal_generated.h | |
supersonic/utils/cycleclock-inl.h | |
supersonic/utils/demangle.h | |
supersonic/utils/dynamic_annotations.h | |
supersonic/utils/fixedarray.h | |
supersonic/utils/integral_types.h | |
supersonic/utils/iterator_adaptors.h | |
supersonic/utils/endian.h | |
supersonic/utils/casts.h | |
supersonic/utils/int128.h | |
supersonic/utils/linked_ptr.h | |
supersonic/utils/logging-inl.h | |
supersonic/utils/macros.h | |
supersonic/utils/manual_constructor.h | |
supersonic/utils/map-util.h | |
supersonic/utils/mathlimits.h | |
supersonic/utils/mutex.h | |
supersonic/utils/once.h | |
supersonic/utils/paranoid.h | |
supersonic/utils/pointer_vector.h | |
supersonic/utils/port.h | |
supersonic/utils/scoped_ptr.h | |
supersonic/utils/scoped_ptr_internals.h | |
supersonic/utils/singleton.h | |
supersonic/utils/shared_ptr.h | |
supersonic/utils/sparsetable.h | |
supersonic/utils/spinlock_linux-inl.h | |
supersonic/utils/spinlock_posix-inl.h | |
supersonic/utils/spinlock_win32-inl.h | |
supersonic/utils/spinlock_wait.h | |
supersonic/utils/strtoint.h | |
supersonic/utils/stl_util.h | |
supersonic/utils/stringprintf.h | |
supersonic/utils/template_util.h | |
supersonic/utils/thread_annotations.h | |
supersonic/utils/type_traits.h | |
supersonic/utils/valgrind.h | |
supersonic/utils/atomic/atomic.h | |
supersonic/utils/atomic/atomic_internal.h | |
supersonic/utils/atomic/atomic_std.h | |
supersonic/utils/atomic/forward.h | |
supersonic/utils/atomic/locking.h | |
supersonic/utils/atomic/tsan.h | |
supersonic/utils/atomic/x86-gcc.h | |
supersonic/utils/hash/builtin_type_hash.h | |
supersonic/utils/hash/city.h | |
supersonic/utils/hash/hash.h | |
supersonic/utils/hash/hash128to64.h | |
supersonic/utils/hash/jenkins.h | |
supersonic/utils/hash/jenkins_lookup2.h | |
supersonic/utils/hash/legacy_hash.h | |
supersonic/utils/hash/string_hash.h | |
supersonic/utils/exception/coowned_pointer.h | |
supersonic/utils/exception/failureor.h | |
supersonic/utils/exception/stack_trace.h | |
supersonic/utils/strings/fastmem.h | |
supersonic/utils/strings/join.h | |
supersonic/utils/strings/escaping.h | |
supersonic/utils/strings/memutil.h | |
supersonic/utils/strings/numbers.h | |
supersonic/utils/strings/split_internal.h | |
supersonic/utils/strings/strcat.h | |
supersonic/utils/strings/stringpiece.h | |
supersonic/utils/strings/substitute.h | |
supersonic/utils/strings/strip.h | |
supersonic/utils/utf/utfdef.h | |
supersonic/utils/timer.h | |
supersonic/utils/random.h | |
supersonic/utils/walltime.h | |
supersonic/utils/file.h | |
supersonic/utils/file_util.h | |
supersonic/base/exception/exception_macros.h | |
supersonic/base/exception/exception.h | |
supersonic/base/exception/result.h | |
supersonic/base/infrastructure/aggregation_operators.h | |
supersonic/base/infrastructure/bit_pointers.h | |
supersonic/base/infrastructure/block.h | |
supersonic/base/infrastructure/copy_column.h | |
supersonic/base/infrastructure/double_buffered_block.h | |
supersonic/base/infrastructure/init.h | |
supersonic/base/infrastructure/operators.h | |
supersonic/base/infrastructure/projector.h | |
supersonic/base/infrastructure/tuple_schema.h | |
supersonic/base/infrastructure/types_infrastructure.h | |
supersonic/base/infrastructure/types.h | |
supersonic/base/infrastructure/variant_pointer.h | |
supersonic/base/infrastructure/variant.h | |
supersonic/base/infrastructure/view_copier.h | |
supersonic/base/memory/arena.h | |
supersonic/base/memory/memory.h | |
supersonic/cursor/base/cursor.h | |
supersonic/cursor/base/lookup_index.h | |
supersonic/cursor/base/operation.h | |
supersonic/cursor/core/aggregate.h | |
supersonic/cursor/core/aggregator.h | |
supersonic/cursor/core/benchmarks.h | |
supersonic/cursor/core/coalesce.h | |
supersonic/cursor/core/column_aggregator.h | |
supersonic/cursor/core/compute.h | |
supersonic/cursor/core/filter.h | |
supersonic/cursor/core/foreign_filter.h | |
supersonic/cursor/core/generate.h | |
supersonic/cursor/core/hash_join.h | |
supersonic/cursor/core/hybrid_group_utils.h | |
supersonic/cursor/core/limit.h | |
supersonic/cursor/core/merge_union_all.h | |
supersonic/cursor/core/ownership_taker.h | |
supersonic/cursor/core/project.h | |
supersonic/cursor/core/rowid_merge_join.h | |
supersonic/cursor/core/scan_view.h | |
supersonic/cursor/core/sort.h | |
supersonic/cursor/core/specification_builder.h | |
supersonic/cursor/core/splitter.h | |
supersonic/cursor/core/spy.h | |
supersonic/cursor/infrastructure/basic_cursor.h | |
supersonic/cursor/infrastructure/basic_operation.h | |
supersonic/cursor/infrastructure/file_io.h | |
supersonic/cursor/infrastructure/file_io-internal.h | |
supersonic/cursor/infrastructure/history_transformer.h | |
supersonic/cursor/infrastructure/iterators.h | |
supersonic/cursor/infrastructure/ordering.h | |
supersonic/cursor/infrastructure/row_copier.h | |
supersonic/cursor/infrastructure/row.h | |
supersonic/cursor/infrastructure/row_hash_set.h | |
supersonic/cursor/infrastructure/table.h | |
supersonic/cursor/infrastructure/value_ref.h | |
supersonic/cursor/infrastructure/view_cursor.h | |
supersonic/cursor/infrastructure/view_printer.h | |
supersonic/expression/base/expression.h | |
supersonic/expression/core/arithmetic_bound_expressions.h | |
supersonic/expression/core/arithmetic_expressions.h | |
supersonic/expression/core/comparison_bound_expressions.h | |
supersonic/expression/core/comparison_expressions.h | |
supersonic/expression/core/date_bound_expressions.h | |
supersonic/expression/core/date_evaluators.h | |
supersonic/expression/core/date_expressions.h | |
supersonic/expression/core/elementary_bound_expressions.h | |
supersonic/expression/core/elementary_expressions.h | |
supersonic/expression/core/math_bound_expressions.h | |
supersonic/expression/core/math_evaluators.h | |
supersonic/expression/core/math_expressions.h | |
supersonic/expression/core/projecting_bound_expressions.h | |
supersonic/expression/core/projecting_expressions.h | |
supersonic/expression/core/stateful_bound_expressions.h | |
supersonic/expression/core/stateful_expressions.h | |
supersonic/expression/core/string_bound_expressions.h | |
supersonic/expression/core/string_bound_expressions_internal.h | |
supersonic/expression/core/string_evaluators.h | |
supersonic/expression/core/string_expressions.h | |
supersonic/expression/ext/hashing/hashing_bound_expressions.h | |
supersonic/expression/ext/hashing/hashing_evaluators.h | |
supersonic/expression/ext/hashing/hashing_expressions.h | |
supersonic/expression/infrastructure/basic_bound_expression.h | |
supersonic/expression/infrastructure/basic_expressions.h | |
supersonic/expression/infrastructure/bound_expression_creators.h | |
supersonic/expression/infrastructure/elementary_bound_const_expressions.h | |
supersonic/expression/infrastructure/elementary_const_expressions.h | |
supersonic/expression/infrastructure/expression_utils.h | |
supersonic/expression/infrastructure/terminal_bound_expressions.h | |
supersonic/expression/infrastructure/terminal_expressions.h | |
supersonic/expression/templated/abstract_bound_expressions.h | |
supersonic/expression/templated/abstract_expressions.h | |
supersonic/expression/templated/bound_expression_factory.h | |
supersonic/expression/templated/cast_bound_expression.h | |
supersonic/expression/templated/cast_expression.h | |
supersonic/expression/vector/binary_column_computers.h | |
supersonic/expression/vector/column_validity_checkers.h | |
supersonic/expression/vector/expression_evaluators.h | |
supersonic/expression/vector/expression_traits.h | |
supersonic/expression/vector/simd_operators.h | |
supersonic/expression/vector/ternary_column_computers.h | |
supersonic/expression/vector/unary_column_computers.h | |
supersonic/expression/vector/vector_logic.h | |
supersonic/serialization/build_expression_from_proto.h | |
supersonic/expression/vector/vector_primitives.h | |
supersonic/cursor/infrastructure/writer.h | |
supersonic/utils/utf/utf.h | |
supersonic/supersonic.h | |
supersonic/supersonic-config.h | |
) | |
set(nobase_supersonic_include_HEADERS | |
${protos_H} | |
${sources_H} | |
) | |
#============================================================================ | |
# SOURCES | |
#============================================================================ | |
set(supersonic_S) | |
# cpp sources | |
# protoc output | |
set(protos_S = | |
${supersonic_BINARY_DIR}/supersonic/utils/exception/stack_trace.pb.cc | |
${supersonic_BINARY_DIR}/supersonic/utils/proto/expressions.pb.cc | |
${supersonic_BINARY_DIR}/supersonic/utils/proto/types.pb.cc | |
${supersonic_BINARY_DIR}/supersonic/cursor/proto/cursors.pb.cc | |
${supersonic_BINARY_DIR}/supersonic/expression/proto/operators.pb.cc | |
${supersonic_BINARY_DIR}/supersonic/proto/specification.pb.cc | |
${supersonic_BINARY_DIR}/supersonic/proto/supersonic.pb.cc | |
) | |
set(supersonic_S ${supersonic_S} ${protos_H}) | |
set(supersonic_S | |
${supersonic_S} | |
supersonic/utils/atomicops-internals-x86.cc | |
supersonic/utils/bits.cc | |
supersonic/utils/demangle.cc | |
supersonic/utils/dynamic_annotations.c | |
supersonic/utils/int128.cc | |
supersonic/utils/mathlimits.cc | |
supersonic/utils/once.cc | |
supersonic/utils/spinlock_wait.cc | |
supersonic/utils/strtoint.cc | |
supersonic/utils/stringprintf.cc | |
supersonic/utils/atomic/locking.cc | |
supersonic/utils/atomic/x86-gcc.cc | |
supersonic/utils/hash/city.cc | |
supersonic/utils/hash/hash.cc | |
supersonic/utils/hash/jenkins.cc | |
supersonic/utils/exception/stack_trace.cc | |
supersonic/utils/strings/join.cc | |
supersonic/utils/strings/stringpiece.cc | |
supersonic/utils/strings/ascii_ctype.cc | |
supersonic/utils/strings/charset.cc | |
supersonic/utils/strings/escaping.cc | |
supersonic/utils/strings/memutil.cc | |
supersonic/utils/strings/numbers.cc | |
supersonic/utils/strings/serialize.cc | |
supersonic/utils/strings/split.cc | |
supersonic/utils/strings/strcat.cc | |
supersonic/utils/strings/substitute.cc | |
supersonic/utils/strings/strip.cc | |
supersonic/utils/strings/util.cc | |
supersonic/utils/utf/rune.c | |
) | |
set(supersonic_S | |
${supersonic_S} | |
supersonic/utils/random.cc | |
supersonic/utils/walltime.cc | |
supersonic/utils/file.cc | |
supersonic/utils/file_util.cc | |
) | |
# base | |
set(supersonic_S | |
${supersonic_S} | |
supersonic/base/infrastructure/bit_pointers.cc | |
supersonic/base/infrastructure/block.cc | |
supersonic/base/infrastructure/copy_column.cc | |
supersonic/base/infrastructure/double_buffered_block.cc | |
supersonic/base/infrastructure/projector.cc | |
supersonic/base/infrastructure/tuple_schema.cc | |
supersonic/base/infrastructure/types_infrastructure.cc | |
supersonic/base/infrastructure/types.cc | |
supersonic/base/infrastructure/view_copier.cc | |
supersonic/base/memory/arena.cc | |
supersonic/base/memory/memory.cc | |
) | |
# cursor | |
set(supersonic_S | |
${supersonic_S} | |
supersonic/cursor/base/cursor.cc | |
supersonic/cursor/base/lookup_index.cc | |
supersonic/cursor/core/aggregate_clusters.cc | |
supersonic/cursor/core/aggregate_groups.cc | |
supersonic/cursor/core/aggregate_scalar.cc | |
supersonic/cursor/core/aggregator.cc | |
supersonic/cursor/core/benchmarks.cc | |
supersonic/cursor/core/coalesce.cc | |
supersonic/cursor/core/column_aggregator.cc | |
supersonic/cursor/core/compute.cc | |
supersonic/cursor/core/filter.cc | |
supersonic/cursor/core/foreign_filter.cc | |
supersonic/cursor/core/generate.cc | |
supersonic/cursor/core/hash_join.cc | |
supersonic/cursor/core/hybrid_group_utils.cc | |
supersonic/cursor/core/limit.cc | |
supersonic/cursor/core/merge_union_all.cc | |
supersonic/cursor/core/project.cc | |
supersonic/cursor/core/rowid_merge_join.cc | |
supersonic/cursor/core/scan_view.cc | |
supersonic/cursor/core/sort.cc | |
supersonic/cursor/core/specification_builder.cc | |
supersonic/cursor/core/splitter.cc | |
supersonic/cursor/core/spy.cc | |
supersonic/cursor/infrastructure/basic_cursor.cc | |
supersonic/cursor/infrastructure/basic_operation.cc | |
supersonic/cursor/infrastructure/file_io.cc | |
supersonic/cursor/infrastructure/iterators.cc | |
supersonic/cursor/infrastructure/ordering.cc | |
supersonic/cursor/infrastructure/row_hash_set.cc | |
supersonic/cursor/infrastructure/table.cc | |
supersonic/cursor/infrastructure/view_cursor.cc | |
supersonic/cursor/infrastructure/view_printer.cc | |
supersonic/cursor/infrastructure/writer.cc | |
) | |
# expression | |
set(supersonic_S | |
${supersonic_S} | |
supersonic/expression/base/expression.cc | |
supersonic/expression/core/arithmetic_bound_expressions.cc | |
supersonic/expression/core/arithmetic_expressions.cc | |
supersonic/expression/core/comparison_bound_expressions.cc | |
supersonic/expression/core/comparison_expressions.cc | |
supersonic/expression/core/date_bound_expressions.cc | |
supersonic/expression/core/date_evaluators.cc | |
supersonic/expression/core/date_expressions.cc | |
supersonic/expression/core/elementary_bound_expressions.cc | |
supersonic/expression/core/elementary_expressions.cc | |
supersonic/expression/core/math_bound_expressions.cc | |
supersonic/expression/core/math_expressions.cc | |
supersonic/expression/core/projecting_bound_expressions.cc | |
supersonic/expression/core/projecting_expressions.cc | |
supersonic/expression/core/stateful_bound_expressions.cc | |
supersonic/expression/core/stateful_expressions.cc | |
supersonic/expression/core/string_bound_expressions.cc | |
supersonic/expression/core/string_expressions.cc | |
supersonic/expression/ext/hashing/hashing_bound_expressions.cc | |
supersonic/expression/ext/hashing/hashing_expressions.cc | |
supersonic/expression/infrastructure/basic_bound_expression.cc | |
supersonic/expression/infrastructure/basic_expressions.cc | |
supersonic/expression/infrastructure/expression_utils.cc | |
supersonic/expression/infrastructure/terminal_bound_expressions.cc | |
supersonic/expression/infrastructure/terminal_expressions.cc | |
supersonic/expression/templated/bound_expression_factory.cc | |
supersonic/expression/templated/cast_bound_expression.cc | |
supersonic/expression/templated/cast_expression.cc | |
supersonic/expression/vector/vector_logic.cc | |
) | |
# serialization | |
set(supersonic_S | |
${supersonic_S} | |
supersonic/serialization/build_expression_from_proto.cc | |
) | |
# Source list | |
set(nodist_libsupersonic_la_SOURCES | |
${supersonic_S} | |
${nobase_supersonic_include_HEADERS} | |
) | |
find_program(PROTOC_EXECUTABLE protoc) | |
if( NOT PROTOC_EXECUTABLE ) | |
message(FATAL_ERROR "Unable to find protoc, required for builds") | |
endif() | |
function(exec_protoc file) | |
message(STATUS "file" ${file}) | |
execute_process( | |
COMMAND ${PROTOC_EXECUTABLE} | |
--proto_path=${supersonic_SOURCE_DIR} | |
--cpp_out=${supersonic_BINARY_DIR} | |
${supersonic_SOURCE_DIR}/${file} | |
) | |
endfunction() | |
exec_protoc(supersonic/utils/exception/stack_trace.proto) | |
exec_protoc(supersonic/expression/proto/operators.proto) | |
exec_protoc(supersonic/cursor/proto/cursors.proto) | |
exec_protoc(supersonic/proto/supersonic.proto) | |
exec_protoc(supersonic/proto/specification.proto) | |
exec_protoc(supersonic/utils/proto/types.proto) | |
exec_protoc(supersonic/utils/proto/expressions.proto) | |
include_directories(${supersonic_SOURCE_DIR} ${supersonic_BINARY_DIR}) | |
add_library(supersonic SHARED ${nodist_libsupersonic_la_SOURCES}) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment