# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements.  See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership.  The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License.  You may obtain a copy of the License at
#
#   http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied.  See the License for the
# specific language governing permissions and limitations
# under the License.

include(CheckIncludeFiles)
check_include_files("unistd.h" QUICKSTEP_HAVE_UNISTD)
configure_file (
  "${CMAKE_CURRENT_SOURCE_DIR}/RelationalOperatorsConfig.h.in"
  "${CMAKE_CURRENT_BINARY_DIR}/RelationalOperatorsConfig.h"
)

QS_PROTOBUF_GENERATE_CPP(relationaloperators_SortMergeRunOperator_proto_srcs
                         relationaloperators_SortMergeRunOperator_proto_hdrs
                         SortMergeRunOperator.proto)
QS_PROTOBUF_GENERATE_CPP(relationaloperators_WorkOrder_proto_srcs
                         relationaloperators_WorkOrder_proto_hdrs
                         WorkOrder.proto)

set_gflags_lib_name ()

# Declare micro-libs:
add_library(quickstep_relationaloperators_AggregationOperator AggregationOperator.cpp AggregationOperator.hpp)
add_library(quickstep_relationaloperators_BuildAggregationExistenceMapOperator
            BuildAggregationExistenceMapOperator.cpp
            BuildAggregationExistenceMapOperator.hpp)
add_library(quickstep_relationaloperators_BuildHashOperator BuildHashOperator.cpp BuildHashOperator.hpp)
add_library(quickstep_relationaloperators_BuildLIPFilterOperator BuildLIPFilterOperator.cpp BuildLIPFilterOperator.hpp)
add_library(quickstep_relationaloperators_CreateIndexOperator ../empty_src.cpp CreateIndexOperator.hpp)
add_library(quickstep_relationaloperators_CreateTableOperator ../empty_src.cpp CreateTableOperator.hpp)
add_library(quickstep_relationaloperators_DestroyAggregationStateOperator
            DestroyAggregationStateOperator.cpp
            DestroyAggregationStateOperator.hpp)
add_library(quickstep_relationaloperators_DeleteOperator DeleteOperator.cpp DeleteOperator.hpp)
add_library(quickstep_relationaloperators_DestroyHashOperator DestroyHashOperator.cpp DestroyHashOperator.hpp)
add_library(quickstep_relationaloperators_DropTableOperator DropTableOperator.cpp DropTableOperator.hpp)
add_library(quickstep_relationaloperators_FinalizeAggregationOperator
            FinalizeAggregationOperator.cpp
            FinalizeAggregationOperator.hpp)
add_library(quickstep_relationaloperators_HashJoinOperator HashJoinOperator.cpp HashJoinOperator.hpp)
add_library(quickstep_relationaloperators_InitializeAggregationOperator
            InitializeAggregationOperator.cpp
            InitializeAggregationOperator.hpp)
add_library(quickstep_relationaloperators_InsertOperator InsertOperator.cpp InsertOperator.hpp)
add_library(quickstep_relationaloperators_NestedLoopsJoinOperator
            NestedLoopsJoinOperator.cpp
            NestedLoopsJoinOperator.hpp)
add_library(quickstep_relationaloperators_RebuildWorkOrder ../empty_src.cpp RebuildWorkOrder.hpp)
add_library(quickstep_relationaloperators_RelationalOperator ../empty_src.cpp RelationalOperator.hpp)
add_library(quickstep_relationaloperators_SampleOperator SampleOperator.cpp SampleOperator.hpp)
add_library(quickstep_relationaloperators_SaveBlocksOperator SaveBlocksOperator.cpp SaveBlocksOperator.hpp)
add_library(quickstep_relationaloperators_SelectOperator SelectOperator.cpp SelectOperator.hpp)
add_library(quickstep_relationaloperators_SortMergeRunOperator SortMergeRunOperator.cpp
            SortMergeRunOperator.hpp)
add_library(quickstep_relationaloperators_SortMergeRunOperator_proto
            ${relationaloperators_SortMergeRunOperator_proto_srcs}
            ${relationaloperators_SortMergeRunOperator_proto_hdrs})
add_library(quickstep_relationaloperators_SortMergeRunOperatorHelpers SortMergeRunOperatorHelpers.cpp
            SortMergeRunOperatorHelpers.hpp)
add_library(quickstep_relationaloperators_SortRunGenerationOperator SortRunGenerationOperator.cpp
            SortRunGenerationOperator.hpp)
add_library(quickstep_relationaloperators_TableExportOperator TableExportOperator.cpp TableExportOperator.hpp)
add_library(quickstep_relationaloperators_TableGeneratorOperator TableGeneratorOperator.cpp TableGeneratorOperator.hpp)
add_library(quickstep_relationaloperators_TextScanOperator TextScanOperator.cpp TextScanOperator.hpp)
add_library(quickstep_relationaloperators_UnionAllOperator UnionAllOperator.cpp UnionAllOperator.hpp)
add_library(quickstep_relationaloperators_UpdateOperator UpdateOperator.cpp UpdateOperator.hpp)
add_library(quickstep_relationaloperators_WindowAggregationOperator WindowAggregationOperator.cpp WindowAggregationOperator.hpp)
add_library(quickstep_relationaloperators_WorkOrder ../empty_src.cpp WorkOrder.hpp)
add_library(quickstep_relationaloperators_WorkOrderFactory WorkOrderFactory.cpp WorkOrderFactory.hpp)
add_library(quickstep_relationaloperators_WorkOrder_proto
            ${relationaloperators_WorkOrder_proto_srcs}
            ${relationaloperators_WorkOrder_proto_hdrs})

# Link dependencies:
target_link_libraries(quickstep_relationaloperators_AggregationOperator
                      glog
                      quickstep_catalog_CatalogRelation
                      quickstep_catalog_CatalogTypedefs
                      quickstep_catalog_PartitionScheme
                      quickstep_queryexecution_QueryContext
                      quickstep_queryexecution_WorkOrderProtosContainer
                      quickstep_queryexecution_WorkOrdersContainer
                      quickstep_relationaloperators_RelationalOperator
                      quickstep_relationaloperators_WorkOrder
                      quickstep_relationaloperators_WorkOrder_proto
                      quickstep_storage_AggregationOperationState
                      quickstep_storage_StorageBlockInfo
                      quickstep_utility_Macros
                      quickstep_utility_lipfilter_LIPFilterAdaptiveProber
                      quickstep_utility_lipfilter_LIPFilterUtil
                      tmb)
target_link_libraries(quickstep_relationaloperators_BuildAggregationExistenceMapOperator
                      glog
                      quickstep_catalog_CatalogAttribute
                      quickstep_catalog_CatalogRelation
                      quickstep_catalog_CatalogRelationSchema
                      quickstep_catalog_CatalogTypedefs
                      quickstep_catalog_PartitionScheme
                      quickstep_queryexecution_QueryContext
                      quickstep_queryexecution_WorkOrderProtosContainer
                      quickstep_queryexecution_WorkOrdersContainer
                      quickstep_relationaloperators_RelationalOperator
                      quickstep_relationaloperators_WorkOrder
                      quickstep_relationaloperators_WorkOrder_proto
                      quickstep_storage_AggregationOperationState
                      quickstep_storage_CollisionFreeVectorTable
                      quickstep_storage_StorageBlock
                      quickstep_storage_StorageBlockInfo
                      quickstep_storage_StorageManager
                      quickstep_storage_TupleStorageSubBlock
                      quickstep_storage_ValueAccessor
                      quickstep_storage_ValueAccessorUtil
                      quickstep_types_Type
                      quickstep_types_TypeID
                      quickstep_utility_BarrieredReadWriteConcurrentBitVector
                      quickstep_utility_Macros
                      tmb)
target_link_libraries(quickstep_relationaloperators_BuildHashOperator
                      glog
                      quickstep_catalog_CatalogRelation
                      quickstep_catalog_CatalogTypedefs
                      quickstep_catalog_PartitionScheme
                      quickstep_queryexecution_QueryContext
                      quickstep_queryexecution_WorkOrderProtosContainer
                      quickstep_queryexecution_WorkOrdersContainer
                      quickstep_relationaloperators_RelationalOperator
                      quickstep_relationaloperators_WorkOrder
                      quickstep_relationaloperators_WorkOrder_proto
                      quickstep_storage_HashTable
                      quickstep_storage_StorageBlock
                      quickstep_storage_StorageBlockInfo
                      quickstep_storage_StorageManager
                      quickstep_storage_TupleReference
                      quickstep_storage_TupleStorageSubBlock
                      quickstep_storage_ValueAccessor
                      quickstep_utility_Macros
                      quickstep_utility_lipfilter_LIPFilterBuilder
                      quickstep_utility_lipfilter_LIPFilterUtil
                      tmb)
target_link_libraries(quickstep_relationaloperators_BuildLIPFilterOperator
                      glog
                      quickstep_catalog_CatalogRelation
                      quickstep_catalog_CatalogTypedefs
                      quickstep_catalog_PartitionScheme
                      quickstep_queryexecution_QueryContext
                      quickstep_queryexecution_WorkOrderProtosContainer
                      quickstep_queryexecution_WorkOrdersContainer
                      quickstep_relationaloperators_RelationalOperator
                      quickstep_relationaloperators_WorkOrder
                      quickstep_relationaloperators_WorkOrder_proto
                      quickstep_storage_StorageBlock
                      quickstep_storage_StorageBlockInfo
                      quickstep_storage_StorageManager
                      quickstep_storage_TupleIdSequence
                      quickstep_storage_TupleStorageSubBlock
                      quickstep_storage_ValueAccessor
                      quickstep_utility_Macros
                      quickstep_utility_lipfilter_LIPFilterAdaptiveProber
                      quickstep_utility_lipfilter_LIPFilterBuilder
                      quickstep_utility_lipfilter_LIPFilterUtil
                      tmb)
target_link_libraries(quickstep_relationaloperators_CreateIndexOperator
                      glog
                      quickstep_catalog_CatalogRelation
                      quickstep_relationaloperators_RelationalOperator
                      quickstep_storage_StorageBlockLayout_proto
                      quickstep_utility_Macros
                      tmb)
target_link_libraries(quickstep_relationaloperators_CreateTableOperator
                      glog
                      quickstep_catalog_CatalogDatabase
                      quickstep_catalog_CatalogRelation
                      quickstep_relationaloperators_RelationalOperator
                      quickstep_utility_Macros
                      tmb)
target_link_libraries(quickstep_relationaloperators_DeleteOperator
                      glog
                      quickstep_catalog_CatalogRelation
                      quickstep_catalog_CatalogRelationSchema
                      quickstep_catalog_CatalogTypedefs
                      quickstep_catalog_PartitionScheme
                      quickstep_queryexecution_QueryContext
                      quickstep_queryexecution_QueryExecutionMessages_proto
                      quickstep_queryexecution_QueryExecutionTypedefs
                      quickstep_queryexecution_QueryExecutionUtil
                      quickstep_queryexecution_WorkOrderProtosContainer
                      quickstep_queryexecution_WorkOrdersContainer
                      quickstep_relationaloperators_RelationalOperator
                      quickstep_relationaloperators_WorkOrder
                      quickstep_relationaloperators_WorkOrder_proto
                      quickstep_storage_StorageBlock
                      quickstep_storage_StorageBlockInfo
                      quickstep_storage_StorageManager
                      quickstep_threading_ThreadIDBasedMap
                      quickstep_utility_Macros
                      tmb)
target_link_libraries(quickstep_relationaloperators_DestroyAggregationStateOperator
                      glog
                      quickstep_catalog_CatalogTypedefs
                      quickstep_queryexecution_QueryContext
                      quickstep_queryexecution_WorkOrderProtosContainer
                      quickstep_queryexecution_WorkOrdersContainer
                      quickstep_relationaloperators_RelationalOperator
                      quickstep_relationaloperators_WorkOrder
                      quickstep_relationaloperators_WorkOrder_proto
                      quickstep_utility_Macros
                      tmb)
target_link_libraries(quickstep_relationaloperators_DestroyHashOperator
                      glog
                      quickstep_catalog_CatalogTypedefs
                      quickstep_queryexecution_QueryContext
                      quickstep_queryexecution_WorkOrderProtosContainer
                      quickstep_queryexecution_WorkOrdersContainer
                      quickstep_relationaloperators_RelationalOperator
                      quickstep_relationaloperators_WorkOrder
                      quickstep_relationaloperators_WorkOrder_proto
                      quickstep_utility_Macros
                      tmb)
target_link_libraries(quickstep_relationaloperators_DropTableOperator
                      glog
                      quickstep_catalog_CatalogDatabase
                      quickstep_catalog_CatalogDatabaseLite
                      quickstep_catalog_CatalogRelation
                      quickstep_catalog_CatalogTypedefs
                      quickstep_queryexecution_WorkOrderProtosContainer
                      quickstep_queryexecution_WorkOrdersContainer
                      quickstep_relationaloperators_RelationalOperator
                      quickstep_relationaloperators_WorkOrder
                      quickstep_relationaloperators_WorkOrder_proto
                      quickstep_storage_StorageBlockInfo
                      quickstep_storage_StorageManager
                      quickstep_utility_Macros
                      tmb)
target_link_libraries(quickstep_relationaloperators_FinalizeAggregationOperator
                      glog
                      quickstep_catalog_CatalogRelation
                      quickstep_catalog_CatalogTypedefs
                      quickstep_queryexecution_QueryContext
                      quickstep_queryexecution_WorkOrderProtosContainer
                      quickstep_queryexecution_WorkOrdersContainer
                      quickstep_relationaloperators_RelationalOperator
                      quickstep_relationaloperators_WorkOrder
                      quickstep_relationaloperators_WorkOrder_proto
                      quickstep_storage_AggregationOperationState
                      quickstep_utility_Macros
                      tmb)
target_link_libraries(quickstep_relationaloperators_HashJoinOperator
                      ${GFLAGS_LIB_NAME}
                      glog
                      quickstep_catalog_CatalogAttribute
                      quickstep_catalog_CatalogRelation
                      quickstep_catalog_CatalogRelationSchema
                      quickstep_catalog_CatalogTypedefs
                      quickstep_catalog_PartitionScheme
                      quickstep_catalog_PartitionSchemeHeader
                      quickstep_expressions_predicate_Predicate
                      quickstep_expressions_scalar_Scalar
                      quickstep_expressions_scalar_ScalarAttribute
                      quickstep_queryexecution_QueryContext
                      quickstep_queryexecution_WorkOrderProtosContainer
                      quickstep_queryexecution_WorkOrdersContainer
                      quickstep_relationaloperators_RelationalOperator
                      quickstep_relationaloperators_WorkOrder
                      quickstep_relationaloperators_WorkOrder_proto
                      quickstep_storage_HashTable
                      quickstep_storage_InsertDestination
                      quickstep_storage_StorageBlock
                      quickstep_storage_StorageBlockInfo
                      quickstep_storage_StorageManager
                      quickstep_storage_SubBlocksReference
                      quickstep_storage_TupleIdSequence
                      quickstep_storage_TupleReference
                      quickstep_storage_TupleStorageSubBlock
                      quickstep_storage_ValueAccessor
                      quickstep_types_Type
                      quickstep_types_TypedValue
                      quickstep_types_containers_ColumnVector
                      quickstep_types_containers_ColumnVectorsValueAccessor
                      quickstep_utility_ColumnVectorCache
                      quickstep_utility_Macros
                      quickstep_utility_lipfilter_LIPFilterAdaptiveProber
                      quickstep_utility_lipfilter_LIPFilterUtil
                      tmb)
target_link_libraries(quickstep_relationaloperators_InitializeAggregationOperator
                      glog
                      quickstep_queryexecution_QueryContext
                      quickstep_queryexecution_WorkOrderProtosContainer
                      quickstep_queryexecution_WorkOrdersContainer
                      quickstep_relationaloperators_RelationalOperator
                      quickstep_relationaloperators_WorkOrder
                      quickstep_relationaloperators_WorkOrder_proto
                      quickstep_storage_AggregationOperationState
                      quickstep_utility_Macros
                      tmb)
target_link_libraries(quickstep_relationaloperators_InsertOperator
                      glog
                      quickstep_catalog_CatalogRelation
                      quickstep_catalog_CatalogTypedefs
                      quickstep_queryexecution_QueryContext
                      quickstep_queryexecution_WorkOrderProtosContainer
                      quickstep_queryexecution_WorkOrdersContainer
                      quickstep_relationaloperators_RelationalOperator
                      quickstep_relationaloperators_WorkOrder
                      quickstep_relationaloperators_WorkOrder_proto
                      quickstep_storage_InsertDestination
                      quickstep_types_containers_Tuple
                      quickstep_utility_Macros
                      tmb)
target_link_libraries(quickstep_relationaloperators_NestedLoopsJoinOperator
                      glog
                      quickstep_catalog_CatalogRelation
                      quickstep_catalog_CatalogRelationSchema
                      quickstep_catalog_CatalogTypedefs
                      quickstep_catalog_PartitionScheme
                      quickstep_catalog_PartitionSchemeHeader
                      quickstep_expressions_predicate_Predicate
                      quickstep_expressions_scalar_Scalar
                      quickstep_queryexecution_QueryContext
                      quickstep_queryexecution_WorkOrderProtosContainer
                      quickstep_queryexecution_WorkOrdersContainer
                      quickstep_relationaloperators_RelationalOperator
                      quickstep_relationaloperators_WorkOrder
                      quickstep_relationaloperators_WorkOrder_proto
                      quickstep_storage_InsertDestination
                      quickstep_storage_StorageBlock
                      quickstep_storage_StorageBlockInfo
                      quickstep_storage_StorageManager
                      quickstep_storage_TupleStorageSubBlock
                      quickstep_storage_ValueAccessor
                      quickstep_types_containers_ColumnVectorsValueAccessor
                      quickstep_utility_ColumnVectorCache
                      quickstep_utility_Macros
                      tmb)
target_link_libraries(quickstep_relationaloperators_RebuildWorkOrder
                      glog
                      quickstep_catalog_CatalogTypedefs
                      quickstep_queryexecution_QueryExecutionMessages_proto
                      quickstep_queryexecution_QueryExecutionTypedefs
                      quickstep_queryexecution_QueryExecutionUtil
                      quickstep_relationaloperators_WorkOrder
                      quickstep_storage_StorageBlock
                      quickstep_threading_ThreadIDBasedMap
                      quickstep_utility_Macros
                      tmb)
target_link_libraries(quickstep_relationaloperators_RelationalOperator
                      glog
                      quickstep_catalog_CatalogTypedefs
                      quickstep_queryexecution_QueryContext
                      quickstep_relationaloperators_WorkOrder
                      quickstep_storage_StorageBlockInfo
                      quickstep_utility_Macros
                      tmb)
target_link_libraries(quickstep_relationaloperators_SampleOperator
                      glog
                      quickstep_catalog_CatalogRelation
                      quickstep_catalog_CatalogTypedefs
                      quickstep_queryexecution_QueryContext
                      quickstep_queryexecution_WorkOrderProtosContainer
                      quickstep_queryexecution_WorkOrdersContainer
                      quickstep_relationaloperators_RelationalOperator
                      quickstep_relationaloperators_WorkOrder
                      quickstep_relationaloperators_WorkOrder_proto
                      quickstep_storage_InsertDestination
                      quickstep_storage_StorageBlock
                      quickstep_storage_StorageBlockInfo
                      quickstep_storage_StorageManager
                      quickstep_utility_Macros
                      tmb)
target_link_libraries(quickstep_relationaloperators_SaveBlocksOperator
                      glog
                      quickstep_catalog_CatalogRelation
                      quickstep_catalog_CatalogTypedefs
                      quickstep_queryexecution_WorkOrderProtosContainer
                      quickstep_queryexecution_WorkOrdersContainer
                      quickstep_relationaloperators_RelationalOperator
                      quickstep_relationaloperators_WorkOrder
                      quickstep_relationaloperators_WorkOrder_proto
                      quickstep_storage_StorageBlockInfo
                      quickstep_storage_StorageManager
                      quickstep_utility_Macros
                      tmb)
target_link_libraries(quickstep_relationaloperators_SelectOperator
                      glog
                      quickstep_catalog_CatalogRelation
                      quickstep_catalog_CatalogTypedefs
                      quickstep_catalog_PartitionScheme
                      quickstep_queryexecution_QueryContext
                      quickstep_queryexecution_WorkOrderProtosContainer
                      quickstep_queryexecution_WorkOrdersContainer
                      quickstep_relationaloperators_RelationalOperator
                      quickstep_relationaloperators_WorkOrder
                      quickstep_relationaloperators_WorkOrder_proto
                      quickstep_storage_InsertDestination
                      quickstep_storage_StorageBlock
                      quickstep_storage_StorageBlockInfo
                      quickstep_storage_StorageManager
                      quickstep_storage_TupleIdSequence
                      quickstep_storage_ValueAccessor
                      quickstep_utility_Macros
                      quickstep_utility_lipfilter_LIPFilterAdaptiveProber
                      quickstep_utility_lipfilter_LIPFilterUtil
                      tmb)
if(QUICKSTEP_HAVE_LIBNUMA)
target_link_libraries(quickstep_relationaloperators_SelectOperator
                      quickstep_catalog_NUMAPlacementScheme)
endif()
target_link_libraries(quickstep_relationaloperators_SortMergeRunOperator
                      glog
                      quickstep_catalog_CatalogRelation
                      quickstep_catalog_CatalogTypedefs
                      quickstep_queryexecution_QueryContext
                      quickstep_queryexecution_QueryExecutionTypedefs
                      quickstep_queryexecution_WorkOrderProtosContainer
                      quickstep_queryexecution_WorkOrdersContainer
                      quickstep_relationaloperators_RelationalOperator
                      quickstep_relationaloperators_SortMergeRunOperatorHelpers
                      quickstep_relationaloperators_SortMergeRunOperator_proto
                      quickstep_relationaloperators_WorkOrder
                      quickstep_relationaloperators_WorkOrder_proto
                      quickstep_storage_StorageBlockInfo
                      quickstep_threading_ThreadIDBasedMap
                      quickstep_utility_Macros
                      quickstep_utility_SortConfiguration
                      tmb)
target_link_libraries(quickstep_relationaloperators_SortMergeRunOperator_proto
                      ${PROTOBUF_LIBRARY})
target_link_libraries(quickstep_relationaloperators_SortMergeRunOperatorHelpers
                      glog
                      quickstep_catalog_CatalogTypedefs
                      quickstep_expressions_scalar_Scalar
                      quickstep_storage_InsertDestination
                      quickstep_storage_StorageBlock
                      quickstep_storage_StorageBlockInfo
                      quickstep_storage_StorageManager
                      quickstep_storage_TupleStorageSubBlock
                      quickstep_storage_ValueAccessor
                      quickstep_storage_ValueAccessorUtil
                      quickstep_threading_SpinMutex
                      quickstep_types_Type
                      quickstep_types_containers_Tuple
                      quickstep_types_operations_comparisons_Comparison
                      quickstep_types_operations_comparisons_ComparisonFactory
                      quickstep_types_operations_comparisons_ComparisonID
                      quickstep_utility_Macros
                      quickstep_utility_PtrVector
                      quickstep_utility_SortConfiguration)
target_link_libraries(quickstep_relationaloperators_SortRunGenerationOperator
                      glog
                      quickstep_catalog_CatalogRelation
                      quickstep_catalog_CatalogTypedefs
                      quickstep_queryexecution_QueryContext
                      quickstep_queryexecution_WorkOrderProtosContainer
                      quickstep_queryexecution_WorkOrdersContainer
                      quickstep_relationaloperators_RelationalOperator
                      quickstep_relationaloperators_WorkOrder
                      quickstep_relationaloperators_WorkOrder_proto
                      quickstep_storage_InsertDestination
                      quickstep_storage_StorageBlock
                      quickstep_storage_StorageBlockInfo
                      quickstep_storage_StorageManager
                      quickstep_storage_TupleIdSequence
                      quickstep_utility_Macros
                      quickstep_utility_SortConfiguration
                      tmb)
target_link_libraries(quickstep_relationaloperators_TableExportOperator
                      glog
                      quickstep_catalog_CatalogAttribute
                      quickstep_catalog_CatalogRelation
                      quickstep_catalog_CatalogTypedefs
                      quickstep_queryexecution_QueryContext
                      quickstep_queryexecution_WorkOrderProtosContainer
                      quickstep_queryexecution_WorkOrdersContainer
                      quickstep_relationaloperators_RelationalOperator
                      quickstep_relationaloperators_WorkOrder
                      quickstep_relationaloperators_WorkOrder_proto
                      quickstep_storage_StorageBlockInfo
                      quickstep_storage_StorageConstants
                      quickstep_storage_ValueAccessor
                      quickstep_threading_SpinMutex
                      quickstep_types_TypedValue
                      quickstep_types_containers_Tuple
                      quickstep_utility_BulkIoConfiguration
                      quickstep_utility_Macros
                      quickstep_utility_StringUtil)
target_link_libraries(quickstep_relationaloperators_TableGeneratorOperator
                      glog
                      quickstep_catalog_CatalogRelation
                      quickstep_catalog_CatalogTypedefs
                      quickstep_expressions_tablegenerator_GeneratorFunctionHandle
                      quickstep_queryexecution_QueryContext
                      quickstep_queryexecution_WorkOrderProtosContainer
                      quickstep_queryexecution_WorkOrdersContainer
                      quickstep_relationaloperators_RelationalOperator
                      quickstep_relationaloperators_WorkOrder
                      quickstep_relationaloperators_WorkOrder_proto
                      quickstep_storage_InsertDestination
                      quickstep_storage_StorageBlockInfo
                      quickstep_types_containers_ColumnVectorsValueAccessor
                      quickstep_utility_Macros
                      tmb)
target_link_libraries(quickstep_relationaloperators_TextScanOperator
                      ${GFLAGS_LIB_NAME}
                      glog
                      quickstep_catalog_CatalogAttribute
                      quickstep_catalog_CatalogRelation
                      quickstep_catalog_CatalogTypedefs
                      quickstep_queryexecution_QueryContext
                      quickstep_queryexecution_WorkOrderProtosContainer
                      quickstep_queryexecution_WorkOrdersContainer
                      quickstep_relationaloperators_RelationalOperator
                      quickstep_relationaloperators_WorkOrder
                      quickstep_relationaloperators_WorkOrder_proto
                      quickstep_storage_Flags
                      quickstep_storage_InsertDestination
                      quickstep_types_Type
                      quickstep_types_TypedValue
                      quickstep_types_containers_ColumnVector
                      quickstep_types_containers_ColumnVectorsValueAccessor
                      quickstep_types_containers_Tuple
                      quickstep_utility_BulkIoConfiguration
                      quickstep_utility_Glob
                      quickstep_utility_Macros
                      tmb)
if (QUICKSTEP_HAVE_FILE_MANAGER_HDFS)
  target_link_libraries(quickstep_relationaloperators_TextScanOperator
                        ${LIBHDFS3_LIBRARIES})
endif(QUICKSTEP_HAVE_FILE_MANAGER_HDFS)
target_link_libraries(quickstep_relationaloperators_UnionAllOperator
                      glog
                      quickstep_catalog_CatalogRelation
                      quickstep_catalog_CatalogTypedefs
                      quickstep_queryexecution_QueryContext
                      quickstep_queryexecution_WorkOrderProtosContainer
                      quickstep_queryexecution_WorkOrdersContainer
                      quickstep_relationaloperators_RelationalOperator
                      quickstep_storage_InsertDestination
                      quickstep_storage_StorageBlock
                      quickstep_storage_StorageBlockInfo
                      quickstep_storage_StorageManager
                      quickstep_utility_Macros
                      tmb)
target_link_libraries(quickstep_relationaloperators_UpdateOperator
                      glog
                      quickstep_catalog_CatalogRelation
                      quickstep_catalog_CatalogRelationSchema
                      quickstep_catalog_CatalogTypedefs
                      quickstep_catalog_PartitionScheme
                      quickstep_queryexecution_QueryContext
                      quickstep_queryexecution_QueryExecutionMessages_proto
                      quickstep_queryexecution_QueryExecutionTypedefs
                      quickstep_queryexecution_QueryExecutionUtil
                      quickstep_queryexecution_WorkOrderProtosContainer
                      quickstep_queryexecution_WorkOrdersContainer
                      quickstep_relationaloperators_RelationalOperator
                      quickstep_relationaloperators_WorkOrder
                      quickstep_relationaloperators_WorkOrder_proto
                      quickstep_storage_InsertDestination
                      quickstep_storage_StorageBlock
                      quickstep_storage_StorageBlockInfo
                      quickstep_storage_StorageManager
                      quickstep_threading_ThreadIDBasedMap
                      quickstep_utility_Macros
                      tmb)
target_link_libraries(quickstep_relationaloperators_WindowAggregationOperator
                      glog
                      quickstep_catalog_CatalogRelation
                      quickstep_queryexecution_QueryContext
                      quickstep_queryexecution_WorkOrderProtosContainer
                      quickstep_queryexecution_WorkOrdersContainer
                      quickstep_relationaloperators_RelationalOperator
                      quickstep_relationaloperators_WorkOrder
                      quickstep_relationaloperators_WorkOrder_proto
                      quickstep_storage_StorageBlockInfo
                      quickstep_storage_WindowAggregationOperationState
                      quickstep_utility_Macros
                      tmb)
target_link_libraries(quickstep_relationaloperators_WorkOrder
                      glog
                      quickstep_catalog_CatalogTypedefs
                      quickstep_queryexecution_QueryExecutionTypedefs
                      quickstep_utility_Macros
                      tmb)
target_link_libraries(quickstep_relationaloperators_WorkOrderFactory
                      glog
                      quickstep_catalog_CatalogDatabaseLite
                      quickstep_catalog_CatalogRelationSchema
                      quickstep_catalog_CatalogTypedefs
                      quickstep_queryexecution_QueryContext
                      quickstep_relationaloperators_AggregationOperator
                      quickstep_relationaloperators_BuildAggregationExistenceMapOperator
                      quickstep_relationaloperators_BuildHashOperator
                      quickstep_relationaloperators_BuildLIPFilterOperator
                      quickstep_relationaloperators_DeleteOperator
                      quickstep_relationaloperators_DestroyAggregationStateOperator
                      quickstep_relationaloperators_DestroyHashOperator
                      quickstep_relationaloperators_DropTableOperator
                      quickstep_relationaloperators_FinalizeAggregationOperator
                      quickstep_relationaloperators_HashJoinOperator
                      quickstep_relationaloperators_InitializeAggregationOperator
                      quickstep_relationaloperators_InsertOperator
                      quickstep_relationaloperators_NestedLoopsJoinOperator
                      quickstep_relationaloperators_SampleOperator
                      quickstep_relationaloperators_SaveBlocksOperator
                      quickstep_relationaloperators_SelectOperator
                      quickstep_relationaloperators_SortMergeRunOperator
                      quickstep_relationaloperators_SortMergeRunOperatorHelpers
                      quickstep_relationaloperators_SortMergeRunOperator_proto
                      quickstep_relationaloperators_SortRunGenerationOperator
                      quickstep_relationaloperators_TableGeneratorOperator
                      quickstep_relationaloperators_TextScanOperator
                      quickstep_relationaloperators_UnionAllOperator
                      quickstep_relationaloperators_UpdateOperator
                      quickstep_relationaloperators_WindowAggregationOperator
                      quickstep_relationaloperators_WorkOrder_proto
                      quickstep_storage_StorageBlockInfo
                      quickstep_utility_Macros
                      quickstep_utility_lipfilter_LIPFilterUtil
                      tmb)
target_link_libraries(quickstep_relationaloperators_WorkOrder_proto
                      quickstep_relationaloperators_SortMergeRunOperator_proto
                      ${PROTOBUF_LIBRARY})

# Module all-in-one library:
add_library(quickstep_relationaloperators ../empty_src.cpp RelationalOperatorsModule.hpp)
target_link_libraries(quickstep_relationaloperators
                      quickstep_relationaloperators_AggregationOperator
                      quickstep_relationaloperators_BuildAggregationExistenceMapOperator
                      quickstep_relationaloperators_BuildLIPFilterOperator
                      quickstep_relationaloperators_BuildHashOperator
                      quickstep_relationaloperators_CreateIndexOperator
                      quickstep_relationaloperators_CreateTableOperator
                      quickstep_relationaloperators_DeleteOperator
                      quickstep_relationaloperators_DestroyAggregationStateOperator
                      quickstep_relationaloperators_DestroyHashOperator
                      quickstep_relationaloperators_DropTableOperator
                      quickstep_relationaloperators_FinalizeAggregationOperator
                      quickstep_relationaloperators_HashJoinOperator
                      quickstep_relationaloperators_InitializeAggregationOperator
                      quickstep_relationaloperators_InsertOperator
                      quickstep_relationaloperators_NestedLoopsJoinOperator
                      quickstep_relationaloperators_RebuildWorkOrder
                      quickstep_relationaloperators_RelationalOperator
                      quickstep_relationaloperators_SampleOperator
                      quickstep_relationaloperators_SaveBlocksOperator
                      quickstep_relationaloperators_SelectOperator
                      quickstep_relationaloperators_SortMergeRunOperator
                      quickstep_relationaloperators_SortMergeRunOperatorHelpers
                      quickstep_relationaloperators_SortMergeRunOperator_proto
                      quickstep_relationaloperators_SortRunGenerationOperator
                      quickstep_relationaloperators_TableExportOperator
                      quickstep_relationaloperators_TableGeneratorOperator
                      quickstep_relationaloperators_TextScanOperator
                      quickstep_relationaloperators_UnionAllOperator
                      quickstep_relationaloperators_UpdateOperator
                      quickstep_relationaloperators_WindowAggregationOperator
                      quickstep_relationaloperators_WorkOrder
                      quickstep_relationaloperators_WorkOrderFactory
                      quickstep_relationaloperators_WorkOrder_proto)

# Tests:
add_executable(AggregationOperator_unittest
               "${CMAKE_CURRENT_SOURCE_DIR}/tests/AggregationOperator_unittest.cpp")
target_link_libraries(AggregationOperator_unittest
                      ${GFLAGS_LIB_NAME}
                      glog
                      gtest
                      quickstep_catalog_CatalogAttribute
                      quickstep_catalog_CatalogDatabase
                      quickstep_catalog_CatalogRelation
                      quickstep_catalog_CatalogTypedefs
                      quickstep_expressions_Expressions_proto
                      quickstep_expressions_aggregation_AggregateFunction
                      quickstep_expressions_aggregation_AggregateFunctionFactory
                      quickstep_expressions_aggregation_AggregationID
                      quickstep_expressions_predicate_ComparisonPredicate
                      quickstep_expressions_predicate_Predicate
                      quickstep_expressions_scalar_Scalar
                      quickstep_expressions_scalar_ScalarAttribute
                      quickstep_expressions_scalar_ScalarBinaryExpression
                      quickstep_expressions_scalar_ScalarLiteral
                      quickstep_queryexecution_QueryContext
                      quickstep_queryexecution_QueryContext_proto
                      quickstep_queryexecution_QueryExecutionTypedefs
                      quickstep_queryexecution_WorkOrdersContainer
                      quickstep_relationaloperators_AggregationOperator
                      quickstep_relationaloperators_DestroyAggregationStateOperator
                      quickstep_relationaloperators_FinalizeAggregationOperator
                      quickstep_relationaloperators_WorkOrder
                      quickstep_storage_AggregationOperationState_proto
                      quickstep_storage_HashTable_proto
                      quickstep_storage_InsertDestination
                      quickstep_storage_InsertDestination_proto
                      quickstep_storage_StorageBlock
                      quickstep_storage_StorageBlockInfo
                      quickstep_storage_StorageBlockLayout
                      quickstep_storage_StorageManager
                      quickstep_storage_TupleStorageSubBlock
                      quickstep_threading_ThreadIDBasedMap
                      quickstep_types_DoubleType
                      quickstep_types_FloatType
                      quickstep_types_IntType
                      quickstep_types_LongType
                      quickstep_types_TypedValue
                      quickstep_types_containers_Tuple
                      quickstep_types_operations_binaryoperations_BinaryOperationFactory
                      quickstep_types_operations_binaryoperations_BinaryOperationID
                      quickstep_types_operations_comparisons_ComparisonFactory
                      quickstep_types_operations_comparisons_ComparisonID
                      quickstep_utility_Macros
                      quickstep_utility_PtrList
                      tmb
                      ${LIBS})
add_test(AggregationOperator_unittest AggregationOperator_unittest)

add_executable(HashJoinOperator_unittest
               "${CMAKE_CURRENT_SOURCE_DIR}/tests/HashJoinOperator_unittest.cpp")
target_link_libraries(HashJoinOperator_unittest
                      ${GFLAGS_LIB_NAME}
                      glog
                      gtest
                      quickstep_catalog_CatalogAttribute
                      quickstep_catalog_CatalogDatabase
                      quickstep_catalog_CatalogRelation
                      quickstep_catalog_CatalogTypedefs
                      quickstep_catalog_PartitionScheme
                      quickstep_catalog_PartitionSchemeHeader
                      quickstep_expressions_Expressions_proto
                      quickstep_expressions_predicate_ComparisonPredicate
                      quickstep_expressions_predicate_Predicate
                      quickstep_expressions_scalar_ScalarAttribute
                      quickstep_expressions_scalar_ScalarLiteral
                      quickstep_queryexecution_QueryContext
                      quickstep_queryexecution_QueryContext_proto
                      quickstep_queryexecution_QueryExecutionTypedefs
                      quickstep_queryexecution_WorkOrdersContainer
                      quickstep_relationaloperators_BuildHashOperator
                      quickstep_relationaloperators_DestroyHashOperator
                      quickstep_relationaloperators_HashJoinOperator
                      quickstep_relationaloperators_RelationalOperator
                      quickstep_relationaloperators_WorkOrder
                      quickstep_storage_HashTable_proto
                      quickstep_storage_HashTableBase
                      quickstep_storage_InsertDestination
                      quickstep_storage_InsertDestination_proto
                      quickstep_storage_StorageBlock
                      quickstep_storage_StorageBlockInfo
                      quickstep_storage_StorageBlockLayout
                      quickstep_storage_StorageBlockLayout_proto
                      quickstep_storage_StorageManager
                      quickstep_storage_TupleStorageSubBlock
                      quickstep_threading_ThreadIDBasedMap
                      quickstep_types_CharType
                      quickstep_types_IntType
                      quickstep_types_LongType
                      quickstep_types_Type
                      quickstep_types_Type_proto
                      quickstep_types_TypedValue
                      quickstep_types_VarCharType
                      quickstep_types_containers_Tuple
                      quickstep_types_operations_comparisons_ComparisonFactory
                      quickstep_types_operations_comparisons_ComparisonID
                      quickstep_utility_Macros
                      tmb
                      ${LIBS})
add_test(HashJoinOperator_unittest HashJoinOperator_unittest)

add_executable(SortMergeRunOperator_unittest
               "${CMAKE_CURRENT_SOURCE_DIR}/tests/SortMergeRunOperator_unittest.cpp")
target_link_libraries(SortMergeRunOperator_unittest
                      ${GFLAGS_LIB_NAME}
                      glog
                      gtest
                      quickstep_catalog_CatalogAttribute
                      quickstep_catalog_CatalogDatabase
                      quickstep_catalog_CatalogRelation
                      quickstep_catalog_CatalogTypedefs
                      quickstep_expressions_Expressions_proto
                      quickstep_expressions_scalar_Scalar
                      quickstep_expressions_scalar_ScalarAttribute
                      quickstep_queryexecution_QueryContext
                      quickstep_queryexecution_QueryContext_proto
                      quickstep_queryexecution_QueryExecutionMessages_proto
                      quickstep_queryexecution_QueryExecutionTypedefs
                      quickstep_queryexecution_WorkOrdersContainer
                      quickstep_relationaloperators_RelationalOperator
                      quickstep_relationaloperators_SortMergeRunOperator
                      quickstep_relationaloperators_SortMergeRunOperatorHelpers
                      quickstep_relationaloperators_WorkOrder
                      quickstep_storage_BasicColumnStoreValueAccessor
                      quickstep_storage_CompressedColumnStoreValueAccessor
                      quickstep_storage_CompressedPackedRowStoreValueAccessor
                      quickstep_storage_CountedReference
                      quickstep_storage_InsertDestination
                      quickstep_storage_InsertDestination_proto
                      quickstep_storage_SplitRowStoreValueAccessor
                      quickstep_storage_StorageBlock
                      quickstep_storage_StorageBlockInfo
                      quickstep_storage_StorageBlockLayout
                      quickstep_storage_StorageManager
                      quickstep_storage_TupleStorageSubBlock
                      quickstep_storage_ValueAccessor
                      quickstep_storage_ValueAccessorUtil
                      quickstep_threading_ThreadIDBasedMap
                      quickstep_types_IntType
                      quickstep_types_Type
                      quickstep_types_TypeID
                      quickstep_types_TypedValue
                      quickstep_types_containers_ColumnVectorsValueAccessor
                      quickstep_types_containers_Tuple
                      quickstep_utility_PtrVector
                      quickstep_utility_SortConfiguration
                      quickstep_utility_SortConfiguration_proto
                      tmb
                      ${LIBS})
add_test(SortMergeRunOperator_unittest SortMergeRunOperator_unittest)

add_executable(SortRunGenerationOperator_unittest
               "${CMAKE_CURRENT_SOURCE_DIR}/tests/SortRunGenerationOperator_unittest.cpp")
target_link_libraries(SortRunGenerationOperator_unittest
                      ${GFLAGS_LIB_NAME}
                      glog
                      gtest
                      quickstep_catalog_CatalogAttribute
                      quickstep_catalog_CatalogDatabase
                      quickstep_catalog_CatalogRelation
                      quickstep_catalog_CatalogTypedefs
                      quickstep_expressions_Expressions_proto
                      quickstep_expressions_scalar_Scalar
                      quickstep_expressions_scalar_ScalarAttribute
                      quickstep_queryexecution_QueryContext
                      quickstep_queryexecution_QueryContext_proto
                      quickstep_queryexecution_QueryExecutionMessages_proto
                      quickstep_queryexecution_QueryExecutionTypedefs
                      quickstep_queryexecution_WorkOrdersContainer
                      quickstep_relationaloperators_RelationalOperator
                      quickstep_relationaloperators_SortRunGenerationOperator
                      quickstep_relationaloperators_WorkOrder
                      quickstep_storage_BasicColumnStoreValueAccessor
                      quickstep_storage_CompressedColumnStoreValueAccessor
                      quickstep_storage_CompressedPackedRowStoreValueAccessor
                      quickstep_storage_CountedReference
                      quickstep_storage_InsertDestination
                      quickstep_storage_SplitRowStoreValueAccessor
                      quickstep_storage_StorageBlock
                      quickstep_storage_StorageBlockInfo
                      quickstep_storage_StorageBlockLayout
                      quickstep_storage_StorageManager
                      quickstep_storage_TupleStorageSubBlock
                      quickstep_storage_ValueAccessor
                      quickstep_storage_ValueAccessorUtil
                      quickstep_threading_ThreadIDBasedMap
                      quickstep_types_IntType
                      quickstep_types_Type
                      quickstep_types_TypeID
                      quickstep_types_TypedValue
                      quickstep_types_containers_ColumnVectorsValueAccessor
                      quickstep_types_containers_Tuple
                      quickstep_utility_SortConfiguration
                      quickstep_utility_SortConfiguration_proto
                      tmb
                      ${LIBS})
add_test(SortRunGenerationOperator_unittest SortRunGenerationOperator_unittest)

add_executable(TextScanOperator_unittest
               "${CMAKE_CURRENT_SOURCE_DIR}/tests/TextScanOperator_unittest.cpp")
target_link_libraries(TextScanOperator_unittest
                      ${GFLAGS_LIB_NAME}
                      glog
                      gtest
                      quickstep_catalog_CatalogAttribute
                      quickstep_catalog_CatalogDatabase
                      quickstep_catalog_CatalogRelation
                      quickstep_catalog_CatalogTypedefs
                      quickstep_cli_PrintToScreen
                      quickstep_queryexecution_QueryContext
                      quickstep_queryexecution_QueryContext_proto
                      quickstep_queryexecution_QueryExecutionMessages_proto
                      quickstep_queryexecution_QueryExecutionTypedefs
                      quickstep_queryexecution_WorkOrdersContainer
                      quickstep_relationaloperators_RelationalOperator
                      quickstep_relationaloperators_TextScanOperator
                      quickstep_relationaloperators_WorkOrder
                      quickstep_storage_InsertDestination_proto
                      quickstep_storage_StorageManager
                      quickstep_threading_ThreadIDBasedMap
                      quickstep_types_TypeFactory
                      quickstep_types_TypeID
                      quickstep_utility_MemStream
                      tmb)
file(TO_NATIVE_PATH
     "${CMAKE_CURRENT_SOURCE_DIR}/tests/text_scan_input.txt"
     TEXT_SCAN_INPUT_FILE)
file(TO_NATIVE_PATH
     "${CMAKE_CURRENT_SOURCE_DIR}/tests/text_scan_golden_output.txt"
     TEXT_SCAN_GOLDEN_OUTPUT_FILE)
file(TO_NATIVE_PATH
     "${CMAKE_CURRENT_BINARY_DIR}/text_scan_failure_output.txt"
     TEXT_SCAN_FAILURE_OUTPUT_FILE)
add_test(TextScanOperator_unittest
         TextScanOperator_unittest
         ${TEXT_SCAN_INPUT_FILE}
         ${TEXT_SCAN_GOLDEN_OUTPUT_FILE}
         ${TEXT_SCAN_FAILURE_OUTPUT_FILE})
file(TO_NATIVE_PATH
     "${CMAKE_CURRENT_SOURCE_DIR}/tests/text_scan_faulty_input.txt"
     TEXT_SCAN_FAULTY_INPUT_FILE)
file(TO_NATIVE_PATH
     "${CMAKE_CURRENT_SOURCE_DIR}/tests/text_scan_faulty_golden_output.txt"
     TEXT_SCAN_FAULTY_GOLDEN_OUTPUT_FILE)
file(TO_NATIVE_PATH
     "${CMAKE_CURRENT_BINARY_DIR}/text_scan_faulty_failure_output.txt"
     TEXT_SCAN_FAULTY_FAILURE_OUTPUT_FILE)
add_test(TextScanOperator_faulty_unittest
         TextScanOperator_unittest
         ${TEXT_SCAN_FAULTY_INPUT_FILE}
         ${TEXT_SCAN_FAULTY_GOLDEN_OUTPUT_FILE}
         ${TEXT_SCAN_FAULTY_FAILURE_OUTPUT_FILE})
