@@ -53,7 +53,6 @@ option(MNN_DEBUG_TENSOR_SIZE "Enable Tensor Size" OFF)
5353option (MNN_GPU_TRACE "Enable MNN Gpu Debug" OFF )
5454option (MNN_SUPPORT_RENDER "Enable MNN Render Ops" OFF )
5555option (MNN_SUPPORT_TRANSFORMER_FUSE "Enable MNN transformer Fuse Ops" OFF )
56- option (MNN_PORTABLE_BUILD "Link the static version of third party libraries where possible to improve the portability of built executables" OFF )
5756option (MNN_SEP_BUILD "Build MNN Backends and expression separately. Only works with MNN_BUILD_SHARED_LIBS=ON" ON )
5857option (NATIVE_LIBRARY_OUTPUT "Native Library Path" OFF )
5958option (NATIVE_INCLUDE_OUTPUT "Native Include Path" OFF )
@@ -174,9 +173,6 @@ ENDIF()
174173IF (CMAKE_CXX_COMPILER_ID STREQUAL "GNU" AND NOT MNN_BUILD_SHARED_LIBS AND NOT (MSVC OR WIN32 ))
175174 SET (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} " )
176175 SET (MNN_SEP_BUILD OFF CACHE BOOL "<docstring>" FORCE)
177- IF (MNN_BUILD_CONVERTER)
178- SET (MNN_PORTABLE_BUILD ON CACHE BOOL "<docstring>" FORCE)
179- ENDIF ()
180176ENDIF ()
181177
182178if (MNN_FORBID_MULTI_THREAD)
@@ -515,6 +511,7 @@ endif()
515511if ((NOT MSVC ) AND MNN_HIDDEN)
516512 set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility-inlines-hidden -fvisibility=hidden" )
517513 set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fvisibility=hidden" )
514+ set (CMAKE_ASM_FLAGS "${CMAKE_ASM_FLAGS} -fvisibility=hidden" )
518515 # Omit frame pointer may cause difficult debug
519516 set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fomit-frame-pointer" )
520517endif ()
@@ -701,6 +698,16 @@ IF(MNN_TENSORRT)
701698 list (APPEND MNN_EXTRA_DEPENDS ${MNN_TRT_LIBS} )
702699ENDIF ()
703700
701+ IF (MNN_BUILD_OPENCV)
702+ add_subdirectory (${CMAKE_CURRENT_LIST_DIR} /tools/cv)
703+ IF (MNN_SEP_BUILD)
704+ list (APPEND MNN_DEPS MNNOpenCV)
705+ ELSE ()
706+ list (APPEND MNN_TARGETS MNNOpenCV)
707+ list (APPEND MNN_OBJECTS_TO_LINK $<TARGET_OBJECTS:MNNOpenCV>)
708+ ENDIF ()
709+ ENDIF ()
710+
704711IF (MNN_BUILD_LLM)
705712 # add_definitions(-DMNN_BUILD_LLM)
706713 include (${CMAKE_CURRENT_LIST_DIR} /transformers/llm/engine/CMakeLists.txt)
@@ -709,6 +716,13 @@ IF(MNN_BUILD_LLM)
709716 list (APPEND MNN_OBJECTS_TO_LINK $<TARGET_OBJECTS:llm>)
710717 ENDIF ()
711718ENDIF ()
719+ IF (MNN_BUILD_DIFFUSION AND MNN_BUILD_OPENCV AND MNN_IMGCODECS)
720+ include (${CMAKE_CURRENT_LIST_DIR} /transformers/diffusion/engine/CMakeLists.txt)
721+ IF (NOT MNN_SEP_BUILD)
722+ list (APPEND MNN_TARGETS diffusion)
723+ list (APPEND MNN_OBJECTS_TO_LINK $<TARGET_OBJECTS:diffusion>)
724+ ENDIF ()
725+ ENDIF ()
712726
713727IF (MNN_SEP_BUILD)
714728 add_library (MNN SHARED ${CMAKE_CURRENT_LIST_DIR} /cmake/dummy.cpp ${MNN_OBJECTS_TO_LINK} ${MNN_PUB_HDRS} ${MNN_EXPR_PUB_HDRS} ${MNN_EXTRA_HEADERS} )
@@ -774,13 +788,7 @@ IF(WIN32 AND MNN_BUILD_CONVERTER AND MNN_BUILD_SHARED_LIBS)
774788 target_link_libraries (MNN PUBLIC ${Protobuf_LIBRARIES} )
775789ENDIF ()
776790# Merge MNN/MNNExpress/MNNOpenCV and other backends into one .lib/.dll on Windows
777- add_subdirectory (${CMAKE_CURRENT_LIST_DIR} /tools/cv)
778- IF (MNN_BUILD_OPENCV AND NOT MNN_SEP_BUILD)
779- IF (MSVC )
780- target_compile_definitions (MNNOpenCV PRIVATE "-DBUILDING_MNN_DLL" INTERFACE "-DUSING_MNN_DLL" )
781- ENDIF ()
782- target_sources (MNN PRIVATE $<TARGET_OBJECTS:MNNOpenCV>)
783- ENDIF ()
791+
784792add_subdirectory (${CMAKE_CURRENT_LIST_DIR} /tools/audio)
785793IF (MNN_BUILD_AUDIO AND NOT MNN_SEP_BUILD)
786794 IF (MSVC )
@@ -820,9 +828,7 @@ list(REMOVE_ITEM MNN_TARGETS MNN)
820828IF (MNN_BUILD_DEMO)
821829include (${CMAKE_CURRENT_LIST_DIR} /demo/exec/CMakeLists.txt)
822830ENDIF ()
823- IF (MNN_BUILD_DIFFUSION AND MNN_BUILD_OPENCV AND MNN_IMGCODECS)
824- include (${CMAKE_CURRENT_LIST_DIR} /transformers/diffusion/CMakeLists.txt)
825- ENDIF ()
831+
826832IF (MNN_BUILD_TOOLS)
827833include (${CMAKE_CURRENT_LIST_DIR} /tools/cpp/CMakeLists.txt)
828834ENDIF ()
0 commit comments