Skip to content
Snippets Groups Projects
CMakeLists.txt 956 B
Newer Older
Josef Schmeißer's avatar
Josef Schmeißer committed
cmake_minimum_required(VERSION 3.5)
project(tpchjoinoptimized C CXX)

set(CMAKE_C_COMPILER gcc)
set(CMAKE_CXX_COMPILER g++)
set(CMAKE_CXX_STANDARD 17)

# Compiler flags for the different targets
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=address -fPIC -Wall -Wextra -fno-omit-frame-pointer -march=native -Wno-unknown-pragmas")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fsanitize=address -fPIC -Wall -Wextra -fno-omit-frame-pointer -march=native")

find_package(Threads)

include(lib/gtest.cmake)

### Library for join query
add_library(sum src/sum.cpp)
target_include_directories(sum PUBLIC
    $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
    $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
    $<INSTALL_INTERFACE:include>
    PRIVATE src)

### Tests
add_executable(test_all test/test_sum.cpp)
target_link_libraries(test_all sum gtest gtest_main pthread)

### main executable
add_executable(main src/main.cpp)
target_link_libraries(main sum)