forked from premiere/premiere-libtorrent
experimental CMakeList file
This commit is contained in:
parent
317d97b316
commit
c80745ad13
|
@ -0,0 +1,185 @@
|
|||
cmake_minimum_required(VERSION 2.6)
|
||||
project(libtorrent)
|
||||
|
||||
set(sources
|
||||
alert
|
||||
assert
|
||||
connection_queue
|
||||
create_torrent
|
||||
disk_buffer_holder
|
||||
entry
|
||||
error_code
|
||||
file_storage
|
||||
lazy_bdecode
|
||||
escape_string
|
||||
file
|
||||
gzip
|
||||
http_connection
|
||||
http_stream
|
||||
http_parser
|
||||
identify_client
|
||||
ip_filter
|
||||
peer_connection
|
||||
bt_peer_connection
|
||||
web_peer_connection
|
||||
instantiate_connection
|
||||
natpmp
|
||||
piece_picker
|
||||
policy
|
||||
session
|
||||
session_impl
|
||||
socks4_stream
|
||||
socks5_stream
|
||||
stat
|
||||
storage
|
||||
# mapped_storage
|
||||
torrent
|
||||
torrent_handle
|
||||
torrent_info
|
||||
tracker_manager
|
||||
http_tracker_connection
|
||||
udp_tracker_connection
|
||||
sha1
|
||||
udp_socket
|
||||
upnp
|
||||
logger
|
||||
file_pool
|
||||
lsd
|
||||
disk_io_thread
|
||||
enum_net
|
||||
broadcast_socket
|
||||
magnet_uri
|
||||
parse_url
|
||||
|
||||
# -- extensions --
|
||||
metadata_transfer
|
||||
ut_pex
|
||||
ut_metadata
|
||||
smart_ban
|
||||
)
|
||||
|
||||
set(kademlia_sources
|
||||
closest_nodes
|
||||
dht_tracker
|
||||
node
|
||||
refresh
|
||||
rpc_manager
|
||||
find_data
|
||||
node_id
|
||||
routing_table
|
||||
traversal_algorithm
|
||||
)
|
||||
|
||||
set(zlib_sources
|
||||
adler32
|
||||
compress
|
||||
crc32
|
||||
deflate
|
||||
gzio
|
||||
infback
|
||||
inffast
|
||||
inflate
|
||||
inftrees
|
||||
trees
|
||||
uncompr
|
||||
zutil
|
||||
)
|
||||
|
||||
set(includes include zlib)
|
||||
|
||||
option(WITH_TCMALLOC "link against google performance tools tcmalloc" OFF)
|
||||
option(USE_POOL_ALLOCATORS "Uses a pool allocator for disk and piece buffers" ON)
|
||||
option(ENABLE_ENCRYPTION "link against openssl and enable encryption" ON)
|
||||
option(ENABLE_GEOIP "link against LGPL GeoIP code from Maxmind, to enable geoip database support" OFF)
|
||||
option(ENABLE_DHT "enable support for Mainline DHT" ON)
|
||||
option(ENABLE_RESOLVE_COUNTRIES "enable support for resolving countries from peer IPs" ON)
|
||||
option(ENABLE_UNICODE "enable unicode support" ON)
|
||||
option(WITH_DEPRECATED_FUNCTIONS "enable deprecated functions for backwards compatibility" ON)
|
||||
|
||||
if (ENABLE_ENCRYPTION)
|
||||
list(APPEND sources pe_crypto)
|
||||
endif (ENABLE_ENCRYPTION)
|
||||
|
||||
foreach(s ${sources})
|
||||
list(APPEND sources2 src/${s})
|
||||
endforeach(s)
|
||||
foreach(s ${zlib_sources})
|
||||
list(APPEND zlib_sources2 zlib/${s})
|
||||
endforeach(s)
|
||||
|
||||
if (ENABLE_DHT)
|
||||
foreach(s ${kademlia_sources})
|
||||
list(APPEND sources2 src/kademlia/${s})
|
||||
endforeach(s)
|
||||
else (ENABLE_DHT)
|
||||
add_definitions(-DTORRENT_DISABLE_DHT)
|
||||
endif (ENABLE_DHT)
|
||||
|
||||
add_library(z ${zlib_sources2})
|
||||
add_library(torrent SHARED ${sources2} ${kademlia_sources2} ${zlib_sources2})
|
||||
|
||||
set(library_search_paths /usr/local/lib /usr/lib /opt/local/lib)
|
||||
find_library(fs boost_filesystem-mt-1_35 ${library_search_paths})
|
||||
target_link_libraries(torrent ${fs})
|
||||
find_library(th boost_thread-mt-1_35 ${library_search_paths})
|
||||
target_link_libraries(torrent ${th})
|
||||
find_library(sys boost_system-mt-1_35 ${library_search_paths})
|
||||
target_link_libraries(torrent ${sys})
|
||||
|
||||
if (WIN32)
|
||||
target_link_libraries(torrent wsock32 ws2_32)
|
||||
endif (WIN32)
|
||||
|
||||
if (ENABLE_ENCRYPTION)
|
||||
add_definitions(-DTORRENT_USE_OPENSSL)
|
||||
if (WIN32)
|
||||
target_link_libraries(torrent ssleay32 libeay32 advapi32 user32 shell32 gdi32)
|
||||
else (WIN32)
|
||||
target_link_libraries(torrent crypto ssl)
|
||||
endif (WIN32)
|
||||
else (ENABLE_ENCRYPTION)
|
||||
add_definitions(-DTORRENT_DISABLE_ENCRYPTION)
|
||||
endif (ENABLE_ENCRYPTION)
|
||||
|
||||
if (NOT USE_POOL_ALLOCATORS)
|
||||
add_definitions(-DTORRENT_DISABLE_POOL_ALLOCATOR)
|
||||
endif (NOT USE_POOL_ALLOCATORS)
|
||||
|
||||
if (NOT ENABLE_GEOIP)
|
||||
add_definitions(-DTORRENT_DISABLE_GEO_IP)
|
||||
endif (NOT ENABLE_GEOIP)
|
||||
|
||||
if (NOT ENABLE_RESOLVE_COUNTRIES)
|
||||
add_definitions(-DTORRENT_DISABLE_RESOLVE_COUNTRIES)
|
||||
endif (NOT ENABLE_RESOLVE_COUNTRIES)
|
||||
|
||||
if (ENABLE_UNICODE)
|
||||
add_definitions(-DUNICODE -D_UNICODE)
|
||||
endif (ENABLE_UNICODE)
|
||||
|
||||
if (NOT WITH_DEPRECATED_FUNCTIONS)
|
||||
add_definitions(-DTORRENT_NO_DEPRECATE)
|
||||
endif (NOT WITH_DEPRECATED_FUNCTIONS)
|
||||
|
||||
if (MSVC)
|
||||
# disable bogus deprecation warnings on msvc8
|
||||
add_definitions(-D_SCL_SECURE_NO_DEPRECATE -D_CRT_SECURE_NO_DEPRECATE)
|
||||
# these compiler settings just makes the compiler standard conforming
|
||||
add_definitions(/Zc:wchar_t /Zc:forScope)
|
||||
|
||||
# <toolset>msvc,<variant>release:<linkflags>/OPT:ICF=5
|
||||
# <toolset>msvc,<variant>release:<linkflags>/OPT:REF
|
||||
endif(MSVC)
|
||||
|
||||
message(${CMAKE_CONFIGURATION_TYPES})
|
||||
|
||||
add_definitions(-D_FILE_OFFSET_BITS=64)
|
||||
|
||||
if (WITH_TCMALLOC)
|
||||
target_link_libraries(torrent tcmalloc)
|
||||
endif (WITH_TCMALLOC)
|
||||
|
||||
target_link_libraries(torrent ${libraries} z)
|
||||
include_directories(${includes})
|
||||
|
||||
|
Loading…
Reference in New Issue