mirror of
https://github.com/ggerganov/llama.cpp.git
synced 2024-12-24 18:34:36 +00:00
381efbf480
* wip llava python bindings compatibility * add external llava API * add base64 in-prompt image support * wip refactor image loading * refactor image load out of llava init * cleanup * further cleanup; move llava-cli into its own file and rename * move base64.hpp into common/ * collapse clip and llava libraries * move llava into its own subdir * wip * fix bug where base64 string was not removed from the prompt * get libllava to output in the right place * expose llava methods in libllama.dylib * cleanup memory usage around clip_image_* * cleanup and refactor *again* * update headerdoc * build with cmake, not tested (WIP) * Editorconfig * Editorconfig * Build with make * Build with make * Fix cyclical depts on Windows * attempt to fix build on Windows * attempt to fix build on Windows * Upd TODOs * attempt to fix build on Windows+CUDA * Revert changes in cmake * Fix according to review comments * Support building as a shared library * address review comments --------- Co-authored-by: M. Yusuf Sarıgöz <yusufsarigoz@gmail.com> Co-authored-by: Jared Van Bortel <jared@nomic.ai>
37 lines
1.2 KiB
CMake
37 lines
1.2 KiB
CMake
add_library(llava OBJECT
|
|
llava.cpp
|
|
llava.h
|
|
clip.cpp
|
|
clip.h
|
|
)
|
|
|
|
target_link_libraries(llava PRIVATE ggml llama ${CMAKE_THREAD_LIBS_INIT})
|
|
|
|
target_include_directories(llava PUBLIC .)
|
|
target_include_directories(llava PUBLIC ../..)
|
|
target_include_directories(llava PUBLIC ../../common)
|
|
|
|
target_compile_features(llava PRIVATE cxx_std_11)
|
|
|
|
add_library(llava_static STATIC $<TARGET_OBJECTS:llava>)
|
|
if (BUILD_SHARED_LIBS)
|
|
set_target_properties(llava PROPERTIES POSITION_INDEPENDENT_CODE ON)
|
|
target_compile_definitions(llava PRIVATE LLAMA_SHARED LLAMA_BUILD)
|
|
add_library(llava_shared SHARED $<TARGET_OBJECTS:llava>)
|
|
target_link_libraries(llava_shared PRIVATE ggml llama ${CMAKE_THREAD_LIBS_INIT})
|
|
install(TARGETS llava_shared LIBRARY)
|
|
endif()
|
|
|
|
if (NOT MSVC)
|
|
target_compile_options(llava PRIVATE -Wno-cast-qual) # stb_image.h
|
|
endif()
|
|
if(TARGET BUILD_INFO)
|
|
add_dependencies(llava BUILD_INFO)
|
|
endif()
|
|
|
|
set(TARGET llava-cli)
|
|
add_executable(llava-cli llava-cli.cpp)
|
|
install(TARGETS llava-cli RUNTIME)
|
|
target_link_libraries(llava-cli PRIVATE common llama llava ${CMAKE_THREAD_LIBS_INIT})
|
|
target_compile_features(llava PRIVATE cxx_std_11)
|