if(PROJECT_ENABLE_LIBEVENT) if(PROJECT_BUILD) find_package(Libevent ${LIBEVENT_VERSION} REQUIRED) add_definitions(-DPROJECT_ENABLE_LIBEVENT) include_directories(BEFORE SYSTEM ${LIBEVENT_INCLUDE_DIRS} ) link_libraries( ${LIBEVENT_LIBRARIES} ) elseif(NOT PROJECT_IS_MINGW OR CMAKE_HOST_WIN32) if(PROJECT_BUILD_SHARED_LIBS) set(LIBEVENT_LIBRARY_TYPE BOTH) else() set(LIBEVENT_LIBRARY_TYPE STATIC) endif() ExternalProject_Add(libevent_project PREFIX external URL ${PROJECT_3RD_PARTY_DIR}/libevent-${LIBEVENT_VERSION}-stable.tar.gz URL_HASH SHA256=92e6de1be9ec176428fd2367677e61ceffc2ee1cb119035037a27d346b0403bb LIST_SEPARATOR | CMAKE_ARGS ${PROJECT_EXTERNAL_CMAKE_FLAGS} -DBUILD_SHARED_LIBS=${PROJECT_BUILD_SHARED_LIBS} -DBUILD_STATIC_LIBS=ON -DEVENT__DISABLE_OPENSSL=ON -DEVENT__DISABLE_SAMPLES=ON -DEVENT__DISABLE_TESTS=ON -DEVENT__LIBRARY_TYPE=${LIBEVENT_LIBRARY_TYPE} ) set(PROJECT_DEPENDENCIES ${PROJECT_DEPENDENCIES} libevent_project ) endif() endif()