Files
2026-07-13 13:33:03 +08:00

49 lines
1.7 KiB
CMake

cmake_minimum_required(VERSION 3.10)
# source files
FILE(GLOB SRCS ${CMAKE_CURRENT_LIST_DIR}/src/*.cpp)
include_directories(${CMAKE_SOURCE_DIR}/tools/cv/include/)
include_directories(${CMAKE_CURRENT_LIST_DIR}/include/)
if (MNN_BUILD_LLM)
include_directories(${CMAKE_CURRENT_LIST_DIR}/../../llm/engine/src/)
endif()
if (MNN_SEP_BUILD)
if (MNN_BUILD_SHARED_LIBS)
# compile dynamic so, support Linux/Mac
add_library(diffusion SHARED ${SRCS})
set_target_properties(diffusion PROPERTIES WINDOWS_EXPORT_ALL_SYMBOLS TRUE)
target_link_libraries(diffusion ${MNN_DEPS})
if (MNN_BUILD_LLM AND TARGET llm)
target_link_libraries(diffusion llm)
endif()
else()
add_library(diffusion STATIC ${SRCS})
endif()
list(APPEND MNN_DEPS diffusion)
else()
add_library(diffusion OBJECT ${SRCS})
endif()
if (MNN_BUILD_LLM)
target_compile_definitions(diffusion PRIVATE MNN_DIFFUSION_WITH_LLM_TOKENIZER)
endif()
add_executable(diffusion_demo
${CMAKE_CURRENT_LIST_DIR}/diffusion_demo.cpp
)
target_link_libraries(diffusion_demo ${MNN_DEPS})
if (MNN_BUILD_LLM)
# sana_diffusion_demo depends on SanaLlm, which includes llm/llm.hpp and links against the llm engine.
add_executable(sana_diffusion_demo ${CMAKE_CURRENT_LIST_DIR}/sana_diffusion_demo.cpp)
target_link_libraries(sana_diffusion_demo ${MNN_DEPS})
add_executable(wan_diffusion_demo ${CMAKE_CURRENT_LIST_DIR}/wan_diffusion_demo.cpp)
target_link_libraries(wan_diffusion_demo ${MNN_DEPS})
endif()
add_executable(diffusion_sd35_demo ${CMAKE_CURRENT_LIST_DIR}/diffusion_sd35_demo.cpp)
target_link_libraries(diffusion_sd35_demo ${MNN_DEPS})