Skip to content

Commit 51fa76f

Browse files
authored
mtmd : drop _shared from libmtmd name, merge helpers into libmtmd (⚠️ breaking change) (#13917)
* mtmd : fix missing public header * no object * apply suggestion from Georgi * rm mtmd-helper, merge it to mtmd * missing vendor include dir
1 parent 12d0188 commit 51fa76f

File tree

3 files changed

+32
-36
lines changed

3 files changed

+32
-36
lines changed

tools/mtmd/CMakeLists.txt

Lines changed: 31 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,53 +1,50 @@
11
# mtmd
22

3-
add_library(mtmd OBJECT
3+
find_package(Threads REQUIRED)
4+
5+
add_library(mtmd
46
mtmd.cpp
57
mtmd-audio.cpp
68
mtmd.h
79
clip.cpp
810
clip.h
911
clip-impl.h
10-
)
11-
12-
target_link_libraries(mtmd PRIVATE ggml llama ${CMAKE_THREAD_LIBS_INIT})
13-
target_include_directories(mtmd PUBLIC .)
14-
target_include_directories(mtmd PRIVATE ../..)
15-
target_compile_features(mtmd PRIVATE cxx_std_17)
16-
17-
# compile the helper separately, to avoid long compile times with miniaudio.h and stb_image.h
18-
19-
add_library(mtmd_helper OBJECT
2012
mtmd-helper.cpp
2113
mtmd-helper.h
2214
)
2315

24-
target_link_libraries(mtmd_helper PRIVATE ggml llama mtmd ${CMAKE_THREAD_LIBS_INIT})
25-
target_include_directories(mtmd_helper PUBLIC .)
26-
target_include_directories(mtmd_helper PRIVATE ../../vendor)
27-
target_compile_features(mtmd_helper PRIVATE cxx_std_17)
16+
target_link_libraries (mtmd PUBLIC ggml llama)
17+
target_link_libraries (mtmd PRIVATE Threads::Threads)
18+
target_include_directories(mtmd PUBLIC .)
19+
target_include_directories(mtmd PRIVATE ../..)
20+
target_include_directories(mtmd PRIVATE ../../vendor)
21+
target_compile_features (mtmd PRIVATE cxx_std_17)
2822

2923
if (BUILD_SHARED_LIBS)
30-
set_target_properties(mtmd PROPERTIES POSITION_INDEPENDENT_CODE ON)
31-
target_compile_definitions(mtmd PRIVATE LLAMA_SHARED LLAMA_BUILD)
32-
add_library(mtmd_shared SHARED $<TARGET_OBJECTS:mtmd>)
33-
target_link_libraries(mtmd_shared PRIVATE ggml llama ${CMAKE_THREAD_LIBS_INIT})
34-
install(TARGETS mtmd_shared LIBRARY)
35-
36-
set_target_properties(mtmd_helper PROPERTIES POSITION_INDEPENDENT_CODE ON)
37-
target_compile_definitions(mtmd_helper PRIVATE LLAMA_SHARED LLAMA_BUILD)
38-
add_library(mtmd_helper_shared SHARED $<TARGET_OBJECTS:mtmd>)
39-
target_link_libraries(mtmd_helper_shared PRIVATE ggml llama mtmd ${CMAKE_THREAD_LIBS_INIT})
40-
install(TARGETS mtmd_helper_shared LIBRARY)
24+
set_target_properties (mtmd PROPERTIES POSITION_INDEPENDENT_CODE ON)
25+
target_compile_definitions(mtmd PRIVATE LLAMA_BUILD)
26+
target_compile_definitions(mtmd PUBLIC LLAMA_SHARED)
4127
endif()
4228

29+
set(MTMD_PUBLIC_HEADERS
30+
${CMAKE_CURRENT_SOURCE_DIR}/mtmd.h
31+
${CMAKE_CURRENT_SOURCE_DIR}/mtmd-helper.h
32+
)
33+
34+
set_target_properties(mtmd
35+
PROPERTIES
36+
PUBLIC_HEADER "${MTMD_PUBLIC_HEADERS}")
37+
38+
install(TARGETS mtmd LIBRARY PUBLIC_HEADER)
39+
4340
if (NOT MSVC)
4441
# for stb_image.h and miniaudio.h
45-
target_compile_options(mtmd_helper PRIVATE -Wno-cast-qual)
42+
target_compile_options(mtmd PRIVATE -Wno-cast-qual)
4643
endif()
4744

48-
if(TARGET BUILD_INFO)
49-
add_dependencies(mtmd BUILD_INFO)
50-
add_dependencies(mtmd_helper BUILD_INFO)
45+
if (TARGET BUILD_INFO)
46+
add_dependencies(mtmd BUILD_INFO)
47+
add_dependencies(mtmd-helper BUILD_INFO)
5148
endif()
5249

5350
add_executable(llama-llava-cli deprecation-warning.cpp)
@@ -56,8 +53,8 @@ add_executable(llama-minicpmv-cli deprecation-warning.cpp)
5653
add_executable(llama-qwen2vl-cli deprecation-warning.cpp)
5754

5855
set(TARGET llama-mtmd-cli)
59-
add_executable(${TARGET} mtmd-cli.cpp)
60-
set_target_properties(${TARGET} PROPERTIES OUTPUT_NAME llama-mtmd-cli)
61-
install(TARGETS ${TARGET} RUNTIME)
62-
target_link_libraries(${TARGET} PRIVATE common mtmd mtmd_helper ${CMAKE_THREAD_LIBS_INIT})
56+
add_executable (${TARGET} mtmd-cli.cpp)
57+
set_target_properties (${TARGET} PROPERTIES OUTPUT_NAME llama-mtmd-cli)
58+
install (TARGETS ${TARGET} RUNTIME)
59+
target_link_libraries (${TARGET} PRIVATE common mtmd Threads::Threads)
6360
target_compile_features(${TARGET} PRIVATE cxx_std_17)

tools/mtmd/mtmd.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33

44
#include "ggml.h"
55
#include "llama.h"
6-
#include "clip.h"
76

87
#include <stddef.h>
98
#include <stdint.h>

tools/server/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ install(TARGETS ${TARGET} RUNTIME)
3535

3636
target_include_directories(${TARGET} PRIVATE ../llava)
3737
target_include_directories(${TARGET} PRIVATE ${CMAKE_SOURCE_DIR})
38-
target_link_libraries(${TARGET} PRIVATE common mtmd mtmd_helper ${CMAKE_THREAD_LIBS_INIT})
38+
target_link_libraries(${TARGET} PRIVATE common mtmd ${CMAKE_THREAD_LIBS_INIT})
3939

4040
if (LLAMA_SERVER_SSL)
4141
find_package(OpenSSL REQUIRED)

0 commit comments

Comments
 (0)