Team Ai
Datasetpublic

Brunobkr/llama.cpp_AlgMor24_github

ΩFFFΣLLIa • llama.cpp • AlgMor24 ██████╗ ███████╗███████╗███████╗██╗ ██╗ ██╗ █████╗ ██╔═══██╗██╔════╝██╔════╝██╔════╝██║ ██║ ██║██╔══██╗ ██║ ██║█████╗ █████╗ █████╗ ██║ ██║ ██║███████║ ██║ ██║██╔══╝ ██╔══╝ ██╔══╝ ██║ ██║ ██║██╔══██║ ╚██████╔╝██║ ██║ ███████╗███████╗███████╗██║██║ ██║ ╚═════╝ ╚═╝ ╚═╝ ╚══════╝╚══════╝╚══════╝╚═╝╚═╝ ╚═╝ High-Performance LLM / VLM Inference & Autonomous Agentic Ecosystem… See the full description on the dataset page: https://huggingface.co/datasets/Brunobkr/llama.cpp_AlgMor24_github.

sourceHugging Faceupdated 2mo agoView on Hugging Face
0likes3.1kdownloads
CMakeLists.txt292 linesDownload Raw Back to root
1cmake_minimum_required(VERSION 3.14...3.28) # for add_link_options and implicit target directories.2project("llama.cpp" C CXX)3include(CheckIncludeFileCXX)4 5#set(CMAKE_WARN_DEPRECATED YES)6set(CMAKE_WARN_UNUSED_CLI YES)7 8set(CMAKE_EXPORT_COMPILE_COMMANDS ON)9 10if (NOT XCODE AND NOT MSVC AND NOT CMAKE_BUILD_TYPE)11    set(CMAKE_BUILD_TYPE Release CACHE STRING "Build type" FORCE)12    set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS "Debug" "Release" "MinSizeRel" "RelWithDebInfo")13endif()14 15message("CMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}")16 17# Add path to modules18list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake/")19 20set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)21set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)22 23if (CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR)24    set(LLAMA_STANDALONE ON)25 26    include(git-vars)27 28    # configure project version29    # TODO30else()31    set(LLAMA_STANDALONE OFF)32endif()33 34option(LLAMA_USE_SYSTEM_GGML "Use system libggml" OFF)35 36option(LLAMA_WASM_MEM64 "llama: use 64-bit memory in WASM builds" ON)37 38if (EMSCRIPTEN)39    set(BUILD_SHARED_LIBS_DEFAULT OFF)40 41    # Use 64-bit memory to support backend_get_memory queries42    # TODO: analyze performance impact, see https://spidermonkey.dev/blog/2025/01/15/is-memory64-actually-worth-using43    if (LLAMA_WASM_MEM64)44      add_compile_options("-sMEMORY64=1")45      add_link_options("-sMEMORY64=1")46    endif()47    add_link_options("-sALLOW_MEMORY_GROWTH=1")48 49    option(LLAMA_WASM_SINGLE_FILE "llama: embed WASM inside the generated llama.js" OFF)50    option(LLAMA_BUILD_HTML "llama: build HTML file" ON)51    if (LLAMA_BUILD_HTML)52        set(CMAKE_EXECUTABLE_SUFFIX ".html")53    endif()54else()55    if (MINGW)56        set(BUILD_SHARED_LIBS_DEFAULT OFF)57    else()58        set(BUILD_SHARED_LIBS_DEFAULT ON)59    endif()60endif()61 62option(BUILD_SHARED_LIBS "build shared libraries" ${BUILD_SHARED_LIBS_DEFAULT})63 64if (WIN32)65    add_compile_definitions(_CRT_SECURE_NO_WARNINGS)66endif()67 68if (MSVC)69    add_compile_options("$<$<COMPILE_LANGUAGE:C>:/utf-8>")70    add_compile_options("$<$<COMPILE_LANGUAGE:CXX>:/utf-8>")71    add_compile_options("$<$<COMPILE_LANGUAGE:C>:/bigobj>")72    add_compile_options("$<$<COMPILE_LANGUAGE:CXX>:/bigobj>")73endif()74 75if (LLAMA_STANDALONE)76    # enable parallel builds for msbuild77    list(APPEND CMAKE_VS_GLOBALS UseMultiToolTask=true)78    list(APPEND CMAKE_VS_GLOBALS EnforceProcessCountAcrossBuilds=true)79endif()80 81if (CMAKE_SYSTEM_NAME STREQUAL "iOS")82    set(LLAMA_TOOLS_INSTALL_DEFAULT OFF)83else()84    set(LLAMA_TOOLS_INSTALL_DEFAULT ${LLAMA_STANDALONE})85endif()86 87# subprocess spawning isn't a supported/sandbox-friendly operation on mobile OSes or in WASM88if (CMAKE_SYSTEM_NAME STREQUAL "iOS" OR CMAKE_SYSTEM_NAME STREQUAL "Android" OR ANDROID89        OR CMAKE_SYSTEM_NAME STREQUAL "Emscripten" OR EMSCRIPTEN)90    set(LLAMA_SUBPROCESS_DEFAULT OFF)91else()92    set(LLAMA_SUBPROCESS_DEFAULT ON)93endif()94 95#96# option list97#98 99# debug100option(LLAMA_ALL_WARNINGS           "llama: enable all compiler warnings"                   ON)101option(LLAMA_ALL_WARNINGS_3RD_PARTY "llama: enable all compiler warnings in 3rd party libs" OFF)102 103# build104option(LLAMA_FATAL_WARNINGS "llama: enable -Werror flag" OFF)105 106# sanitizers107option(LLAMA_SANITIZE_THREAD    "llama: enable thread sanitizer"    OFF)108option(LLAMA_SANITIZE_ADDRESS   "llama: enable address sanitizer"   OFF)109option(LLAMA_SANITIZE_UNDEFINED "llama: enable undefined sanitizer" OFF)110 111# utils112option(LLAMA_BUILD_COMMON "llama: build common utils library" ${LLAMA_STANDALONE})113 114# extra artifacts115option(LLAMA_BUILD_TESTS     "llama: build tests"                                                                ${LLAMA_STANDALONE})116option(LLAMA_BUILD_TOOLS     "llama: build tools"                                                                ${LLAMA_STANDALONE})117option(LLAMA_BUILD_EXAMPLES  "llama: build examples"                                                             ${LLAMA_STANDALONE})118option(LLAMA_BUILD_SERVER    "llama: build server example"                                                       ${LLAMA_STANDALONE})119option(LLAMA_BUILD_APP       "llama: build the unified binary"                                                   ${LLAMA_STANDALONE})120option(LLAMA_BUILD_UI        "llama: build the embedded Web UI for server"                                       ON)121option(LLAMA_USE_PREBUILT_UI "llama: use prebuilt UI from HF Bucket when available (requires LLAMA_BUILD_UI=ON)" ON)122 123option(LLAMA_TOOLS_INSTALL "llama: install tools" ${LLAMA_TOOLS_INSTALL_DEFAULT})124option(LLAMA_TESTS_INSTALL "llama: install tests" ON)125 126# 3rd party libs127option(LLAMA_OPENSSL    "llama: use openssl to support HTTPS" ON)128option(LLAMA_SUBPROCESS "llama-common: use subprocess, required by server tools and server router mode" ${LLAMA_SUBPROCESS_DEFAULT})129option(LLAMA_LLGUIDANCE "llama-common: include LLGuidance library for structured output in common utils" OFF)130 131 132# Required for relocatable CMake package133include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/build-info.cmake)134include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/common.cmake)135 136if (NOT DEFINED LLAMA_BUILD_NUMBER)137    set(LLAMA_BUILD_NUMBER        ${BUILD_NUMBER})138endif()139if (NOT DEFINED LLAMA_BUILD_COMMIT)140    set(LLAMA_BUILD_COMMIT        ${BUILD_COMMIT})141endif()142set(LLAMA_INSTALL_VERSION 0.0.${LLAMA_BUILD_NUMBER})143 144# override ggml options145set(GGML_ALL_WARNINGS   ${LLAMA_ALL_WARNINGS})146set(GGML_FATAL_WARNINGS ${LLAMA_FATAL_WARNINGS})147 148# change the default for these ggml options149if (NOT DEFINED GGML_LLAMAFILE)150    set(GGML_LLAMAFILE_DEFAULT ON)151endif()152 153if (NOT DEFINED GGML_CUDA_GRAPHS)154    set(GGML_CUDA_GRAPHS_DEFAULT ON)155endif()156 157# transition helpers158function (llama_option_depr TYPE OLD)159    if (${OLD})160        set(NEW "${ARGV2}")161        if(NEW)162            message(${TYPE} "${OLD} is deprecated, use ${NEW} instead")163            set(${NEW} ON PARENT_SCOPE)164        else()165            message(${TYPE} "${OLD} is deprecated and will be ignored")166        endif()167    endif()168endfunction()169 170llama_option_depr(FATAL_ERROR LLAMA_CUBLAS              GGML_CUDA)171llama_option_depr(WARNING     LLAMA_CUDA                GGML_CUDA)172llama_option_depr(WARNING     LLAMA_METAL               GGML_METAL)173llama_option_depr(WARNING     LLAMA_METAL_EMBED_LIBRARY GGML_METAL_EMBED_LIBRARY)174llama_option_depr(WARNING     LLAMA_NATIVE              GGML_NATIVE)175llama_option_depr(WARNING     LLAMA_RPC                 GGML_RPC)176llama_option_depr(WARNING     LLAMA_SYCL                GGML_SYCL)177llama_option_depr(WARNING     LLAMA_SYCL_F16            GGML_SYCL_F16)178llama_option_depr(WARNING     LLAMA_CANN                GGML_CANN)179llama_option_depr(WARNING     LLAMA_CURL)180 181include("cmake/license.cmake")182license_add_file("llama.cpp" "LICENSE")183 184#185# 3rd-party186#187 188if (LLAMA_USE_SYSTEM_GGML)189    message(STATUS "Using system-provided libggml, skipping ggml build")190    find_package(ggml REQUIRED)191    add_library(ggml ALIAS ggml::ggml)192endif()193 194if (NOT TARGET ggml AND NOT LLAMA_USE_SYSTEM_GGML)195    set(GGML_BUILD_NUMBER ${LLAMA_BUILD_NUMBER})196    set(GGML_BUILD_COMMIT ${LLAMA_BUILD_COMMIT})197    add_subdirectory(ggml)198    # ... otherwise assume ggml is added by a parent CMakeLists.txt199endif()200 201#202# build the library203#204 205add_subdirectory(src)206 207#208# utils, programs, examples and tests209#210 211if (LLAMA_BUILD_COMMON)212    add_subdirectory(common)213    add_subdirectory(vendor/cpp-httplib)214endif()215 216if (LLAMA_BUILD_COMMON AND LLAMA_BUILD_TESTS AND NOT CMAKE_JS_VERSION)217    include(CTest)218    add_subdirectory(tests)219endif()220 221if (LLAMA_BUILD_COMMON AND LLAMA_BUILD_EXAMPLES)222    add_subdirectory(examples)223    add_subdirectory(pocs)224endif()225 226if (LLAMA_BUILD_COMMON AND LLAMA_BUILD_TOOLS)227    add_subdirectory(tools)228endif()229 230if (LLAMA_BUILD_APP)231    add_subdirectory(app)232endif()233 234# Standalone libmtmd build without pulling in the rest of the tools/ tree.235# Useful when packaging just the mtmd library for language bindings (e.g. an236# Apple XCFramework, or a WASM build). When the full tools build is enabled,237# mtmd is already built by the tools/ subdirectory above; this hook only fires238# when LLAMA_BUILD_TOOLS is OFF to avoid double-adding the target.239option(LLAMA_BUILD_MTMD "llama: build tools/mtmd library standalone" OFF)240if (LLAMA_BUILD_MTMD AND NOT (LLAMA_BUILD_COMMON AND LLAMA_BUILD_TOOLS))241    add_subdirectory(tools/mtmd)242endif()243 244#245# install246#247 248include(GNUInstallDirs)249include(CMakePackageConfigHelpers)250 251set(LLAMA_INCLUDE_INSTALL_DIR ${CMAKE_INSTALL_INCLUDEDIR} CACHE PATH "Location of header  files")252set(LLAMA_LIB_INSTALL_DIR     ${CMAKE_INSTALL_LIBDIR}     CACHE PATH "Location of library files")253set(LLAMA_BIN_INSTALL_DIR     ${CMAKE_INSTALL_BINDIR}     CACHE PATH "Location of binary  files")254 255set(LLAMA_PUBLIC_HEADERS256    ${CMAKE_CURRENT_SOURCE_DIR}/include/llama.h257    ${CMAKE_CURRENT_SOURCE_DIR}/include/llama-cpp.h)258 259set_target_properties(llama260    PROPERTIES261        PUBLIC_HEADER "${LLAMA_PUBLIC_HEADERS}")262 263install(TARGETS llama LIBRARY PUBLIC_HEADER)264 265if (LLAMA_BUILD_COMMON)266    install(TARGETS llama-common LIBRARY)267endif()268 269configure_package_config_file(270        ${CMAKE_CURRENT_SOURCE_DIR}/cmake/llama-config.cmake.in271        ${CMAKE_CURRENT_BINARY_DIR}/llama-config.cmake272    INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/llama273    PATH_VARS LLAMA_INCLUDE_INSTALL_DIR274              LLAMA_LIB_INSTALL_DIR275              LLAMA_BIN_INSTALL_DIR )276 277write_basic_package_version_file(278        ${CMAKE_CURRENT_BINARY_DIR}/llama-version.cmake279    VERSION ${LLAMA_INSTALL_VERSION}280    COMPATIBILITY SameMajorVersion)281 282install(FILES ${CMAKE_CURRENT_BINARY_DIR}/llama-config.cmake283              ${CMAKE_CURRENT_BINARY_DIR}/llama-version.cmake284        DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/llama)285 286configure_file(cmake/llama.pc.in287        "${CMAKE_CURRENT_BINARY_DIR}/llama.pc"288        @ONLY)289 290install(FILES "${CMAKE_CURRENT_BINARY_DIR}/llama.pc"291        DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)292 
Brunobkr/llama.cpp_AlgMor24_github · Team Ai