Felipe97/llama-cpp-compiled
01.1k
1llama_add_compile_flags()2 3#4# libraries5#6 7# llama8 9file(GLOB LLAMA_MODELS_SOURCES "models/*.cpp")10 11set(LLAMA_CORE_SOURCES12 llama.cpp13 llama-adapter.cpp14 llama-arch.cpp15 llama-batch.cpp16 llama-chat.cpp17 llama-context.cpp18 llama-cparams.cpp19 llama-grammar.cpp20 llama-graph.cpp21 llama-hparams.cpp22 llama-impl.cpp23 llama-io.cpp24 llama-kv-cache.cpp25 llama-kv-cache-iswa.cpp26 llama-kv-cache-dsa.cpp27 llama-kv-cache-dsa-iswa.cpp28 llama-kv-cache-msa.cpp29 llama-kv-cache-dsv4.cpp30 llama-memory.cpp31 llama-memory-hybrid.cpp32 llama-memory-hybrid-iswa.cpp33 llama-memory-hybrid-idx.cpp34 llama-memory-recurrent.cpp35 llama-mmap.cpp36 llama-model-loader.cpp37 llama-model-saver.cpp38 llama-model.cpp39 llama-quant.cpp40 llama-sampler.cpp41 llama-vocab.cpp42 unicode-data.cpp43 unicode.cpp44)45 46add_library(llama47 ../include/llama.h48 ${LLAMA_CORE_SOURCES}49 unicode.h50 ${LLAMA_MODELS_SOURCES}51 )52 53set_target_properties(llama PROPERTIES54 VERSION ${LLAMA_VERSION_BASE}55 SOVERSION ${LLAMA_VERSION_MAJOR}56 MACHO_CURRENT_VERSION 0 # keep macOS linker from seeing oversized version number57 UNITY_BUILD ON58 UNITY_BUILD_BATCH_SIZE 1659)60 61# exclude non-model sources from unity build62set_source_files_properties(${LLAMA_CORE_SOURCES} ../include/llama.h unicode.h63 PROPERTIES SKIP_UNITY_BUILD_INCLUSION ON)64 65configure_file(llama-version.h.in ${CMAKE_CURRENT_BINARY_DIR}/llama-version.h @ONLY)66 67target_include_directories(llama PRIVATE . ${CMAKE_CURRENT_BINARY_DIR})68target_include_directories(llama PUBLIC ../include)69target_compile_features (llama PRIVATE cxx_std_17) # don't bump70 71target_link_libraries(llama PUBLIC ggml)72 73if (BUILD_SHARED_LIBS)74 set_target_properties(llama PROPERTIES POSITION_INDEPENDENT_CODE ON)75 target_compile_definitions(llama PRIVATE LLAMA_BUILD)76 target_compile_definitions(llama PUBLIC LLAMA_SHARED)77endif()78 