cmake_minimum_required(VERSION 3.28)
project(CabinCoreAudit LANGUAGES C CXX)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
if(NOT LLAMA_SOURCE_DIR)
  message(FATAL_ERROR "Set LLAMA_SOURCE_DIR to the exact commit in Config/dependencies.json")
endif()
foreach(option BUILD_SHARED_LIBS LLAMA_BUILD_COMMON LLAMA_BUILD_TESTS LLAMA_BUILD_TOOLS LLAMA_BUILD_EXAMPLES LLAMA_BUILD_SERVER LLAMA_BUILD_MTMD LLAMA_BUILD_APP GGML_CUDA GGML_METAL GGML_VULKAN GGML_OPENMP GGML_NATIVE)
  set(${option} OFF CACHE BOOL "" FORCE)
endforeach()
add_subdirectory("${LLAMA_SOURCE_DIR}" llama)
add_executable(cabin-core-tests core_tests.cpp ../../CabinLocal/Native/InferenceCore.cpp)
target_include_directories(cabin-core-tests PRIVATE ../../CabinLocal/Native)
target_link_libraries(cabin-core-tests PRIVATE llama)
target_compile_options(cabin-core-tests PRIVATE -Wall -Wextra -Werror)
