cmake_minimum_required(VERSION 3.16)
project(limonata-resident-stage LANGUAGES C CXX)
if(NOT DEFINED LLAMA_SOURCE_DIR)
  message(FATAL_ERROR "LLAMA_SOURCE_DIR must name the isolated patched pinned source")
endif()
set(BUILD_SHARED_LIBS OFF CACHE BOOL "" FORCE)
set(LLAMA_BUILD_COMMON OFF CACHE BOOL "" FORCE)
set(LLAMA_BUILD_TESTS OFF CACHE BOOL "" FORCE)
set(LLAMA_BUILD_TOOLS OFF CACHE BOOL "" FORCE)
set(LLAMA_BUILD_EXAMPLES OFF CACHE BOOL "" FORCE)
set(LLAMA_BUILD_SERVER OFF CACHE BOOL "" FORCE)
set(LLAMA_BUILD_APP OFF CACHE BOOL "" FORCE)
set(LLAMA_BUILD_UI OFF CACHE BOOL "" FORCE)
set(LLAMA_OPENSSL OFF CACHE BOOL "" FORCE)
set(GGML_RPC OFF CACHE BOOL "" FORCE)
set(GGML_NATIVE OFF CACHE BOOL "" FORCE)
add_subdirectory("${LLAMA_SOURCE_DIR}" llama)
add_executable(limonata-stage stage.cpp)
target_compile_features(limonata-stage PRIVATE cxx_std_17)
target_include_directories(limonata-stage PRIVATE "${LLAMA_SOURCE_DIR}/vendor" "${LLAMA_SOURCE_DIR}/src" "${LLAMA_SOURCE_DIR}/ggml/src")
target_link_libraries(limonata-stage PRIVATE llama)
set_target_properties(limonata-stage PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin")
