cmake: build examples in the same solution as libtorrent

Keep the search script for reference
This commit is contained in:
Steven Siloti 2017-08-25 14:32:14 -07:00 committed by Arvid Norberg
parent d250ba5a17
commit 626ce25225
3 changed files with 7 additions and 34 deletions

View File

@ -181,6 +181,7 @@ option(exceptions "build with exception support" ON)
option(libiconv "enable linking against system libiconv" OFF) option(libiconv "enable linking against system libiconv" OFF)
option(logging "build with logging" ON) option(logging "build with logging" ON)
option(build_tests "build tests" OFF) option(build_tests "build tests" OFF)
option(build_examples "build examples" OFF)
find_package(Threads REQUIRED) find_package(Threads REQUIRED)
@ -408,10 +409,10 @@ install(
${ConfigPackageLocation} ${ConfigPackageLocation}
) )
# === set up examples directory as an independent project === # === build examples ===
file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/examples) if (build_examples)
configure_file(examples/run_cmake.sh.in examples/run_cmake.sh) add_subdirectory(examples)
# to build the examples, run examples/run_cmake.sh after building libtorrent endif()
# === build tests === # === build tests ===
if(build_tests) if(build_tests)

View File

@ -1,26 +1,5 @@
project(libtorrent-examples) project(libtorrent-examples)
cmake_minimum_required(VERSION 2.6) cmake_minimum_required(VERSION 2.6)
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/cmake/")
# Add extra include and library search directories so examples can optionally
# be built without a prior "make install" of libtorrent.
list(INSERT CMAKE_INCLUDE_PATH 0 "${CMAKE_CURRENT_SOURCE_DIR}/../include")
list(INSERT CMAKE_LIBRARY_PATH 0 "${CMAKE_CURRENT_BINARY_DIR}/..")
# Also use the generated pkg-config file prior to "make install".
# In an independent project, these lines would simply not exist.
set(PKG_CONFIG_CHANGED_PATH "${CMAKE_CURRENT_BINARY_DIR}/..;$ENV{PKG_CONFIG_PATH}")
if(UNIX)
string(REPLACE ";" ":" PKG_CONFIG_CHANGED_PATH "${PKG_CONFIG_CHANGED_PATH}")
endif ()
set(ENV{PKG_CONFIG_PATH} "${PKG_CONFIG_CHANGED_PATH}")
find_package(LibtorrentRasterbar REQUIRED)
find_package(Boost REQUIRED COMPONENTS system)
find_package(OpenSSL REQUIRED)
include_directories(${LibtorrentRasterbar_INCLUDE_DIRS} ${Boost_INCLUDE_DIRS} ${OPENSSL_INCLUDE_DIR})
add_definitions(${LibtorrentRasterbar_DEFINITIONS})
set(single_file_examples set(single_file_examples
simple_client simple_client
@ -32,7 +11,7 @@ set(single_file_examples
foreach(example ${single_file_examples}) foreach(example ${single_file_examples})
add_executable(${example} "${example}.cpp") add_executable(${example} "${example}.cpp")
target_link_libraries(${example} ${LibtorrentRasterbar_LIBRARIES} ${Boost_LIBRARIES}) target_link_libraries(${example} torrent-rasterbar)
endforeach(example) endforeach(example)
add_executable(client_test add_executable(client_test
@ -40,4 +19,4 @@ add_executable(client_test
print.cpp print.cpp
torrent_view.cpp torrent_view.cpp
session_view.cpp) session_view.cpp)
target_link_libraries(client_test ${LibtorrentRasterbar_LIBRARIES} ${Boost_LIBRARIES}) target_link_libraries(client_test torrent-rasterbar)

View File

@ -1,7 +0,0 @@
#!/bin/sh
cd ${libtorrent_BINARY_DIR}/examples
cmake \
-G "${CMAKE_GENERATOR}" \
$@ \
${libtorrent_SOURCE_DIR}/examples