mirror of
				https://github.com/ggml-org/llama.cpp.git
				synced 2025-10-31 08:51:55 +00:00 
			
		
		
		
	 381efbf480
			
		
	
	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)
 |