diff --git a/lite/CMakeLists.txt b/lite/CMakeLists.txt index 921b34abfc9380529f4014ecce05127a434489fc..41b8dcef36924671822bf0cebee8ce51891fa094 100644 --- a/lite/CMakeLists.txt +++ b/lite/CMakeLists.txt @@ -32,7 +32,9 @@ endif() # Write out lite_build_config.h # It defines macros needed by lite configure_file(src/lite_build_config.h.in ${CMAKE_CURRENT_BINARY_DIR}/genfiles/lite_build_config.h) -install(FILES ${CMAKE_CURRENT_BINARY_DIR}/genfiles/lite_build_config.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) +install(FILES ${CMAKE_CURRENT_BINARY_DIR}/genfiles/lite_build_config.h DESTINATION ${CMAKE_INSTALL_PREFIX}/lite/include) + +# begin config lite add_library(lite_static STATIC ${SOURCES_LITE}) add_dependencies(lite_static lite_fbs_generate) include_directories($) @@ -80,6 +82,26 @@ endif() if(ANDROID) target_link_libraries(lite_shared_whl PRIVATE log) endif() + +# add lite_static_all_in_one same name build by BUILD +# please do not change flatbuffers/cpuinfo/clog/lite_static order, if change!, cmake +# can not gen flatbuffers/cpuinfo/clog OBJs to lite_static_all_in_one, this may cmake issue +# NOTICE: this target always use to separate build with lite, if build lite via include +# MegEngine/megbrain ROOT_DIR/CMakeLists.txt, just depends lite_static or lite_shared +#TODO: need refine lite_static_all_in_one depend objects, but now cmake do not support +# define a add_library which OBJECTS args is a set or list or string +if (MGE_ENABLE_CPUINFO AND MGE_WITH_OPENCL) + add_library(lite_static_all_in_one STATIC $ $ $ $ $) +elseif (MGE_ENABLE_CPUINFO AND NOT MGE_WITH_OPENCL) + add_library(lite_static_all_in_one STATIC $ $ $ $) +elseif (NOT MGE_ENABLE_CPUINFO AND MGE_WITH_OPENCL) + add_library(lite_static_all_in_one STATIC $ $ $) +else() + add_library(lite_static_all_in_one STATIC $ $) +endif() +if(LITE_BUILD_WITH_MGE) + target_link_libraries(lite_static_all_in_one PRIVATE megbrain megdnn ${MGE_CUDA_LIBS}) +endif() set(LITE_VERSION_SCRIPT ${PROJECT_SOURCE_DIR}/lite/src/version_lite.ld CACHE INTERNAL "Path to linker version script") add_custom_target(_lite_version_ld SOURCES ${LITE_VERSION_SCRIPT}) if(NOT MSVC AND NOT WIN32) @@ -106,6 +128,10 @@ install(TARGETS lite_shared ARCHIVE DESTINATION lite/lib/${MGE_ARCH} ) +install(TARGETS lite_static_all_in_one + LIBRARY DESTINATION lite/lib/${MGE_ARCH} + FRAMEWORK DESTINATION lite/lib/${MGE_ARCH} + ARCHIVE DESTINATION lite/lib/${MGE_ARCH}) install(FILES ${PROJECT_SOURCE_DIR}/lite/include/lite/common_enum_c.h DESTINATION ${CMAKE_INSTALL_PREFIX}/lite/include/lite-c)