summaryrefslogtreecommitdiffstats
path: root/CMakeLists.txt
diff options
context:
space:
mode:
authorDouglas B. Rumbaugh <doug@douglasrumbaugh.com>2024-12-06 16:54:05 -0500
committerDouglas B. Rumbaugh <doug@douglasrumbaugh.com>2024-12-06 16:54:05 -0500
commit9876d74e503df64eb9e82e540ca41fcf593ebf64 (patch)
tree3512690afa8c04f702bd8de500bf8f41b05571c4 /CMakeLists.txt
parente2b81a2d311470d503edae93e68e82791f6bb17c (diff)
downloaddynamic-extension-9876d74e503df64eb9e82e540ca41fcf593ebf64.tar.gz
Adjusted query result interfacesHEADmaster
Now, the vector<> is part of the user-defined type, not required by the framework. This should allow for more flexibility in either using alternative containers, or for more sensible implementations of queries with single value results (like range count).
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt34
1 files changed, 16 insertions, 18 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index b185b0f..0c1aaa1 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -14,12 +14,15 @@ set(tests True)
set(bench false)
set(vldb_bench true)
+# ALEX doesn't build under C++20
+set(build_alex false)
+
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/bin")
set(CMAKE_CXX_FLAGS=-latomic -mcx16)
-add_compile_options(-Iinclude -Iexternal/PLEX/include -Iexternal -mcx16 -march=native) # -fconcepts-diagnostics-depth=3)
+add_compile_options(-Iinclude -Iexternal/PLEX/include -Iexternal -mcx16 -march=native -Werror) # -fconcepts-diagnostics-depth=3)
find_package(OpenMP REQUIRED)
add_compile_options(${OpenMP_CXX_FLAGS})
@@ -130,11 +133,6 @@ if (tests)
target_link_options(alias_tests PUBLIC -mcx16)
target_include_directories(alias_tests PRIVATE include external/psudb-common/cpp/include)
- add_executable(triespline_tests ${CMAKE_CURRENT_SOURCE_DIR}/tests/triespline_tests.cpp)
- target_link_libraries(triespline_tests PUBLIC gsl check subunit pthread atomic)
- target_link_options(triespline_tests PUBLIC -mcx16)
- target_include_directories(triespline_tests PRIVATE include external/psudb-common/cpp/include external/PLEX/include)
-
add_executable(pgm_tests ${CMAKE_CURRENT_SOURCE_DIR}/tests/pgm_tests.cpp)
target_link_libraries(pgm_tests PUBLIC gsl check subunit pthread gomp atomic)
target_include_directories(pgm_tests PRIVATE include external/PGM-index/include external/psudb-common/cpp/include)
@@ -144,6 +142,11 @@ if (tests)
# Triespline code doesn't build under OpenBSD due to ambiguous function call;
# this is likely a difference between gcc and clang, rather than an OS thing
if (NOT BSD)
+ add_executable(triespline_tests ${CMAKE_CURRENT_SOURCE_DIR}/tests/triespline_tests.cpp)
+ target_link_libraries(triespline_tests PUBLIC gsl check subunit pthread atomic)
+ target_link_options(triespline_tests PUBLIC -mcx16)
+ target_include_directories(triespline_tests PRIVATE include external/psudb-common/cpp/include external/PLEX/include)
+
add_executable(triespline_debug ${CMAKE_CURRENT_SOURCE_DIR}/tests/triespline_debug.cpp)
target_link_libraries(triespline_debug PUBLIC gsl check subunit pthread atomic)
target_link_options(triespline_debug PUBLIC -mcx16)
@@ -227,12 +230,6 @@ if (vldb_bench)
target_link_options(ts_bsm_bench PUBLIC -mcx16)
target_compile_options(ts_bsm_bench PUBLIC)
- #add_executable(ts_mdsp_bench ${CMAKE_CURRENT_SOURCE_DIR}/benchmarks/vldb/ts_mdsp_bench.cpp)
- #target_link_libraries(ts_mdsp_bench PUBLIC gsl pthread atomic)
- #target_include_directories(ts_mdsp_bench PRIVATE include external external/m-tree/cpp external/PGM-index/include external/PLEX/include benchmarks/include external/psudb-common/cpp/include)
- #target_link_options(ts_mdsp_bench PUBLIC -mcx16)
- #target_compile_options(ts_mdsp_bench PUBLIC)
-
add_executable(pgm_bench ${CMAKE_CURRENT_SOURCE_DIR}/benchmarks/vldb/pgm_bench.cpp)
target_link_libraries(pgm_bench PUBLIC gsl pthread atomic gomp)
target_include_directories(pgm_bench PRIVATE include external external/m-tree/cpp external/PGM-index/include external/PLEX/include benchmarks/include external/psudb-common/cpp/include)
@@ -251,11 +248,13 @@ if (vldb_bench)
target_link_options(btree_bench PUBLIC -mcx16)
target_compile_options(btree_bench PUBLIC)
- add_executable(alex_bench ${CMAKE_CURRENT_SOURCE_DIR}/benchmarks/vldb/alex_bench.cpp)
- target_link_libraries(alex_bench PUBLIC gsl )
- target_include_directories(alex_bench PRIVATE external/psudb-common/cpp/include external/alex/src/core/ benchmarks/include)
- target_compile_options(alex_bench PUBLIC)
- set_property(TARGET alex_bench PROPERTY CXX_STANDARD 14)
+ if (build_alex)
+ add_executable(alex_bench ${CMAKE_CURRENT_SOURCE_DIR}/benchmarks/vldb/alex_bench.cpp)
+ target_link_libraries(alex_bench PUBLIC gsl )
+ target_include_directories(alex_bench PRIVATE external/psudb-common/cpp/include external/alex/src/core/ benchmarks/include)
+ target_compile_options(alex_bench PUBLIC)
+ set_property(TARGET alex_bench PROPERTY CXX_STANDARD 14)
+ endif()
add_executable(mtree_bench_alt ${CMAKE_CURRENT_SOURCE_DIR}/benchmarks/vldb/mtree_bench_alt.cpp)
target_link_libraries(mtree_bench_alt PUBLIC gsl pthread atomic gomp)
@@ -281,7 +280,6 @@ if (vldb_bench)
target_link_options(thread_scaling_bench PUBLIC -mcx16)
target_compile_options(thread_scaling_bench PUBLIC)
-
add_executable(btree_thread_scaling_bench
${CMAKE_CURRENT_SOURCE_DIR}/benchmarks/vldb/btree_thread_scaling_bench.cpp)
target_link_libraries(btree_thread_scaling_bench PUBLIC gsl pthread atomic)