cmake_minimum_required(VERSION 3.15) project(async-mqtt5 VERSION 1.0.1 LANGUAGES CXX) include(cmake/project-is-top-level.cmake) include(cmake/variables.cmake) add_library(async_mqtt5 INTERFACE) add_library(Async::MQTT5 ALIAS async_mqtt5) set_property( TARGET async_mqtt5 PROPERTY EXPORT_NAME MQTT5 ) target_include_directories( async_mqtt5 ${warning_guard} INTERFACE "$" ) target_compile_features(async_mqtt5 INTERFACE cxx_std_17) find_package(Boost 1.82 REQUIRED) target_link_libraries(async_mqtt5 INTERFACE Boost::headers ) if(NOT CMAKE_SKIP_INSTALL_RULES) include(cmake/install-rules.cmake) endif() if(PROJECT_IS_TOP_LEVEL) option(BUILD_EXAMPLES "Build examples tree." "${async-mqtt5_DEVELOPER_MODE}") if(BUILD_EXAMPLES) add_subdirectory(example) endif() endif() if(NOT async-mqtt5_DEVELOPER_MODE) return() elseif(NOT PROJECT_IS_TOP_LEVEL) message( AUTHOR_WARNING "Developer mode is intended for developers of async-mqtt5" ) endif() include(cmake/dev-mode.cmake)