diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 78adc56..ff435a2 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -19,8 +19,10 @@ add_library(braft-static STATIC $) endif() if (BUILD_SHARED_LIBS) +target_include_directories(braft-shared PUBLIC $) target_link_libraries(braft-shared PUBLIC ${DYNAMIC_LIB}) else() +target_include_directories(braft-static PUBLIC $) target_link_libraries(braft-static PUBLIC ${DYNAMIC_LIB}) endif() @@ -31,15 +33,30 @@ SET_TARGET_PROPERTIES(braft-shared PROPERTIES OUTPUT_NAME braft CLEAN_DIRECT_OUT endif() if (NOT BUILD_SHARED_LIBS) -install(TARGETS braft-static +install(TARGETS braft-static EXPORT unofficial-braftTargets RUNTIME DESTINATION bin LIBRARY DESTINATION lib${LIBSUFFIX} ARCHIVE DESTINATION lib${LIBSUFFIX} ) else() -install(TARGETS braft-shared +install(TARGETS braft-shared EXPORT unofficial-braftTargets RUNTIME DESTINATION bin LIBRARY DESTINATION lib${LIBSUFFIX} ARCHIVE DESTINATION lib${LIBSUFFIX} ) endif() + +file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/unofficial-braft-config.cmake" +[[include(CMakeFindDependencyMacro) +find_dependency(gflags CONFIG) +file(GLOB TARGET_FILES "${CMAKE_CURRENT_LIST_DIR}/unofficial-braftTargets.cmake") +foreach (TARGET_FILE ${TARGET_FILES}) + include("${TARGET_FILE}") +endforeach() +]]) +install(FILES "${CMAKE_CURRENT_BINARY_DIR}/unofficial-braft-config.cmake" DESTINATION share/unofficial-braft) + +install(EXPORT unofficial-braftTargets + NAMESPACE unofficial::braft:: + DESTINATION share/unofficial-braft +)