Support building as a shared library
This commit is contained in:
parent
9f03ac7086
commit
22f43fca0a
1 changed files with 27 additions and 13 deletions
|
@ -1,22 +1,36 @@
|
||||||
set(TARGET llava)
|
add_library(llava OBJECT
|
||||||
|
llava.cpp
|
||||||
|
llava.h
|
||||||
|
clip.cpp
|
||||||
|
clip.h
|
||||||
|
)
|
||||||
|
|
||||||
add_library(${TARGET} STATIC llava.cpp llava.h clip.cpp clip.h)
|
target_link_libraries(llava PRIVATE ggml llama ${CMAKE_THREAD_LIBS_INIT})
|
||||||
target_link_libraries(${TARGET} PRIVATE ggml llama ${CMAKE_THREAD_LIBS_INIT})
|
|
||||||
|
|
||||||
target_include_directories(${TARGET} PUBLIC .)
|
target_include_directories(llava PUBLIC .)
|
||||||
target_include_directories(${TARGET} PUBLIC ../..)
|
target_include_directories(llava PUBLIC ../..)
|
||||||
target_include_directories(${TARGET} PUBLIC ../../common)
|
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()
|
||||||
|
|
||||||
target_compile_features(${TARGET} PRIVATE cxx_std_11)
|
|
||||||
if (NOT MSVC)
|
if (NOT MSVC)
|
||||||
target_compile_options(${TARGET} PRIVATE -Wno-cast-qual) # stb_image.h
|
target_compile_options(llava PRIVATE -Wno-cast-qual) # stb_image.h
|
||||||
endif()
|
endif()
|
||||||
if(TARGET BUILD_INFO)
|
if(TARGET BUILD_INFO)
|
||||||
add_dependencies(${TARGET} BUILD_INFO)
|
add_dependencies(llava BUILD_INFO)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
set(TARGET llava-cli)
|
set(TARGET llava-cli)
|
||||||
add_executable(${TARGET} llava-cli.cpp)
|
add_executable(llava-cli llava-cli.cpp)
|
||||||
install(TARGETS ${TARGET} RUNTIME)
|
install(TARGETS llava-cli RUNTIME)
|
||||||
target_link_libraries(${TARGET} PRIVATE common llama llava ${CMAKE_THREAD_LIBS_INIT})
|
target_link_libraries(llava-cli PRIVATE common llama llava ${CMAKE_THREAD_LIBS_INIT})
|
||||||
target_compile_features(${TARGET} PRIVATE cxx_std_11)
|
target_compile_features(llava PRIVATE cxx_std_11)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue