- Offline neural worker based on llama.cpp (fortune-engine.exe) with local Qwen3-4B model support - Native assembly Tarot 3-card spread divination and teacher grade divination mode - Text input dialog in MODE_FORTUNE communicating over anonymous pipes - Clean process lifecycle management, WM_CHAR dispatch and fallback handling - Test suites and packaging tools for offline release
26 lines
1.1 KiB
CMake
26 lines
1.1 KiB
CMake
cmake_minimum_required(VERSION 3.24)
|
|
project(casino_fortune LANGUAGES C CXX)
|
|
set(CMAKE_CXX_STANDARD 17)
|
|
set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>: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()
|