load cities from external source, develop multithreaded parser

This commit is contained in:
Aaron Po
2026-04-01 00:23:55 -04:00
parent 7f1ca2050c
commit f3553eefc9
13 changed files with 1417 additions and 645 deletions

View File

@@ -9,6 +9,7 @@ set(CMAKE_CXX_EXTENSIONS OFF)
find_package(CURL REQUIRED)
find_package(Boost REQUIRED COMPONENTS unit_test_framework)
find_package(SQLite3 REQUIRED)
include(FetchContent)
@@ -19,33 +20,21 @@ FetchContent_Declare(
)
FetchContent_MakeAvailable(nlohmann_json)
FetchContent_Declare(
llama
GIT_REPOSITORY https://github.com/ggml-org/llama.cpp.git
# Stable release tag: b8485 (commit 31a5cf4c3f5d3af7f16fc4abc9baa75f8d568421)
GIT_TAG 31a5cf4c3f5d3af7f16fc4abc9baa75f8d568421
)
FetchContent_MakeAvailable(llama)
# TODO: Integrate real llama.cpp when generator is ready to use actual models
# For now, using mocked brewery generation in generator.cpp
# Workaround for upstream llama.cpp release stream (b8485/b8496) missing
# <algorithm> include in llama-quant.cpp where std::sort is used.
# Remove once fixed upstream.
if(TARGET llama)
target_compile_options(llama PRIVATE
$<$<COMPILE_LANGUAGE:CXX>:-include algorithm>
)
endif()
# SQLite for in-memory database
find_package(SQLite3 REQUIRED)
file(GLOB_RECURSE SOURCES CONFIGURE_DEPENDS
src/*.cpp
src/*.h
)
add_executable(biergarten-pipeline ${SOURCES})
target_include_directories(biergarten-pipeline
PRIVATE
${CMAKE_CURRENT_SOURCE_DIR}/include
${CMAKE_CURRENT_SOURCE_DIR}/includes
)
target_link_libraries(biergarten-pipeline
@@ -53,7 +42,7 @@ target_link_libraries(biergarten-pipeline
CURL::libcurl
nlohmann_json::nlohmann_json
Boost::unit_test_framework
llama
SQLite::SQLite3
)
target_compile_options(biergarten-pipeline PRIVATE