cmake_minimum_required(VERSION 3.24) project(casino_fortune LANGUAGES C CXX) set(CMAKE_CXX_STANDARD 17) set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$:Debug>") set(BUILD_SHARED_LIBS OFF CACHE BOOL "" FORCE) set(GGML_NATIVE OFF CACHE BOOL "" FORCE) set(GGML_OPENMP OFF CACHE BOOL "" FORCE) set(GGML_BACKEND_DL OFF CACHE BOOL "" FORCE) set(GGML_AVX2 OFF CACHE BOOL "" FORCE) set(GGML_FMA OFF CACHE BOOL "" FORCE) set(GGML_F16C OFF CACHE BOOL "" FORCE) set(GGML_BMI2 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_CURL OFF CACHE BOOL "" FORCE) add_subdirectory("${CMAKE_CURRENT_LIST_DIR}/../vendor/llama.cpp" llama) # CMake-generated unity sources use the system code page for Cyrillic paths. set_target_properties(llama PROPERTIES UNITY_BUILD OFF) add_executable(fortune-engine worker.cpp) target_link_libraries(fortune-engine PRIVATE llama) if(MSVC) target_compile_options(fortune-engine PRIVATE /utf-8 /W4 /EHsc) endif()