Files
drharness/CMakeLists.txt
T
2026-05-05 09:22:41 -05:00

40 lines
995 B
CMake

cmake_minimum_required(VERSION 3.16)
project(drharness LANGUAGES CXX)
set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
find_package(CURL REQUIRED)
find_package(nlohmann_json REQUIRED)
set(TOOL_SOURCES
tools/shell_tool.cpp
tools/agent_tool.cpp
tools/edit_tool.cpp
tools/file_list_tool.cpp
tools/file_read_tool.cpp
)
if(CMAKE_SYSTEM_NAME STREQUAL "Windows")
list(REMOVE_ITEM TOOL_SOURCES tools/shell_tool.cpp)
endif()
add_library(drharness_lib
src/tool_registry.cpp
src/ollama_client.cpp
src/harness.cpp
${TOOL_SOURCES}
)
target_include_directories(drharness_lib PUBLIC include tools)
target_link_libraries(drharness_lib
PUBLIC nlohmann_json::nlohmann_json
PRIVATE CURL::libcurl
)
target_compile_options(drharness_lib PRIVATE -Wall -Wextra -Wpedantic)
add_executable(drharness src/main.cpp)
target_link_libraries(drharness PRIVATE drharness_lib)
install(TARGETS drharness DESTINATION bin)