project(hiredis) include(ExternalProject) set_directory_properties(PROPERTIES EP_UPDATE_DISCONNECTED true) ExternalProject_Add(hiredisDownload PREFIX ${hiredis_root} GIT_REPOSITORY https://github.com/redis/hiredis.git GIT_TAG "v1.0.1" GIT_SHALLOW TRUE CONFIGURE_COMMAND "" BUILD_IN_SOURCE ON INSTALL_COMMAND "" ) ExternalProject_Get_Property(hiredisDownload SOURCE_DIR) set(HIREDIS_INCLUDE_DIR ${SOURCE_DIR}) set(HIREDIS_LIB_DIR ${SOURCE_DIR}) add_library(${PROJECT_NAME} SHARED IMPORTED) add_dependencies(${PROJECT_NAME} hiredisDownload) target_include_directories(${PROJECT_NAME} INTERFACE ${HIREDIS_INCLUDE_DIR}) set_target_properties(${PROJECT_NAME} PROPERTIES IMPORTED_LOCATION "${HIREDIS_LIB_DIR}/libhiredis.a")