37 lines
1.0 KiB
CMake
37 lines
1.0 KiB
CMake
#
|
|
# ASIO
|
|
#
|
|
|
|
set(ASIO_FOUND FALSE)
|
|
|
|
find_package(Threads REQUIRED)
|
|
|
|
set(ASIO_INSTALL_DIR "" CACHE STRING "ASIO install dir")
|
|
set(ASIO_INSTALL_DIR_INTERNAL "" CACHE STRING "ASIO install dir")
|
|
if(NOT "${ASIO_INSTALL_DIR}" STREQUAL "${ASIO_INSTALL_DIR_INTERNAL}") # ASIO_INSTALL_DIR is given in command-line
|
|
unset(ASIO_INCLUDE_DIR CACHE)
|
|
find_path(ASIO_DIR asio.hpp HINTS ${ASIO_INSTALL_DIR} PATH_SUFFIXES include)
|
|
else() # in system path
|
|
find_path(ASIO_DIR asio.hpp PATH_SUFFIXES include)
|
|
endif()
|
|
|
|
|
|
|
|
if (NOT ASIO_DIR)
|
|
message(WARNING "Cannot find ASIO library headers!")
|
|
set(ASIO_FOUND FALSE)
|
|
else()
|
|
message(STATUS "Found ASIO: (${ASIO_DIR})")
|
|
|
|
# ASIO is header-only library so it is IMPORTED target
|
|
add_library(ASIO::ASIO INTERFACE IMPORTED GLOBAL)
|
|
|
|
# set standalone version (do not use Boost)
|
|
set_target_properties(ASIO::ASIO PROPERTIES INTERFACE_COMPILE_DEFINITIONS "ASIO_STANDALONE" INTERFACE_INCLUDE_DIRECTORIES "${ASIO_DIR}")
|
|
|
|
target_link_libraries(ASIO::ASIO INTERFACE Threads::Threads)
|
|
set(ASIO_FOUND TRUE)
|
|
|
|
endif()
|
|
|