Page MenuHomePhabricator

D1786.id4912.diff
No OneTemporary

D1786.id4912.diff

diff --git a/cmake/modules/FindEvent.cmake b/cmake/modules/FindEvent.cmake
--- a/cmake/modules/FindEvent.cmake
+++ b/cmake/modules/FindEvent.cmake
@@ -11,7 +11,25 @@
find_path(EVENT_INCLUDE_DIR NAMES event.h)
find_library(EVENT_LIBRARY NAMES event libevent)
-find_library(EVENT_PTHREAD_LIBRARY event_pthreads)
+
+if(NOT TARGET Event)
+ # Create a library to be used
+ add_library(Event STATIC IMPORTED)
+ set_target_properties(Event PROPERTIES
+ IMPORTED_LOCATION ${EVENT_LIBRARY}
+ INTERFACE_INCLUDE_DIRECTORIES ${EVENT_INCLUDE_DIR})
+
+ # On windows, libevent depends on ws2_32
+ if(${CMAKE_SYSTEM_NAME} MATCHES "Windows")
+ find_library(WS2_32_LIBRARY NAMES ws2_32)
+ set_target_properties(Event PROPERTIES
+ IMPORTED_LINK_INTERFACE_LIBRARIES ${WS2_32_LIBRARY})
+ else()
+ find_library(EVENT_PTHREAD_LIBRARY event_pthreads)
+ set_target_properties(Event PROPERTIES
+ IMPORTED_LINK_INTERFACE_LIBRARIES ${EVENT_PTHREAD_LIBRARY})
+ endif()
+endif()
message(STATUS "libevent: " ${EVENT_LIBRARY})
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -221,23 +221,15 @@
# This require libevent
find_package(Event REQUIRED)
-target_include_directories(server
- PRIVATE
- leveldb/helpers/memenv
- ${EVENT_INCLUDE_DIR}
-)
+target_include_directories(server PRIVATE leveldb/helpers/memenv)
target_link_libraries(server
- ${EVENT_LIBRARY}
+ Event
bitcoinconsensus
leveldb
memenv
)
-if(NOT ${CMAKE_SYSTEM_NAME} MATCHES "Windows")
- target_link_libraries(server ${EVENT_PTHREAD_LIBRARY})
-endif()
-
# Test suite.
add_subdirectory(test)
@@ -269,8 +261,7 @@
target_sources(bitcoin-cli PRIVATE bitcoin-cli-res.rc)
endif()
- target_include_directories(bitcoin-cli PRIVATE ${EVENT_INCLUDE_DIR})
- target_link_libraries(bitcoin-cli common rpcclient ${EVENT_LIBRARY})
+ target_link_libraries(bitcoin-cli common rpcclient Event)
endif()
# bitcoin-tx
diff --git a/src/wallet/CMakeLists.txt b/src/wallet/CMakeLists.txt
--- a/src/wallet/CMakeLists.txt
+++ b/src/wallet/CMakeLists.txt
@@ -19,11 +19,6 @@
walletdb.cpp
)
-target_link_libraries(wallet util univalue ${BDBXX_LIBRARY} ${EVENT_LIBRARY})
+target_link_libraries(wallet util univalue Event ${BDBXX_LIBRARY})
-target_include_directories(wallet
- PUBLIC
- ${BDBXX_INCLUDE_DIR}
- PRIVATE
- ${EVENT_INCLUDE_DIR}
-)
+target_include_directories(wallet PUBLIC ${BDBXX_INCLUDE_DIR})

File Metadata

Mime Type
text/plain
Expires
Tue, May 20, 21:47 (15 h, 40 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
5865999
Default Alt Text
D1786.id4912.diff (2 KB)

Event Timeline