Skip to content

Commit

Permalink
Add cmake_install_test, cmake_subdir_test
Browse files Browse the repository at this point in the history
  • Loading branch information
pdimov committed Oct 17, 2023
1 parent e6ca858 commit bbef7b8
Show file tree
Hide file tree
Showing 4 changed files with 84 additions and 0 deletions.
15 changes: 15 additions & 0 deletions test/cmake_install_test/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# Copyright 2018-2021 Peter Dimov
# Distributed under the Boost Software License, Version 1.0.
# https://www.boost.org/LICENSE_1_0.txt

cmake_minimum_required(VERSION 3.5...3.20)

project(cmake_install_test LANGUAGES CXX)

find_package(boost_cobalt REQUIRED)

add_executable(main main.cpp)
target_link_libraries(main Boost::cobalt)

enable_testing()
add_test(main main)
20 changes: 20 additions & 0 deletions test/cmake_install_test/main.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
// Copyright (c) 2023 Klemens D. Morgenstern
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

#include <boost/cobalt/main.hpp>
#include <boost/cobalt/op.hpp>
#include <boost/asio/steady_timer.hpp>

using namespace boost;

// tag::timer_example[]
cobalt::main co_main(int argc, char * argv[]) // <1>
{
asio::steady_timer tim{co_await asio::this_coro::executor, // <2>
std::chrono::milliseconds(std::stoi(argv[1]))}; // <3>
co_await tim.async_wait(cobalt::use_op); // <4>
co_return 0; // <5>
}
// end::timer_example[]
29 changes: 29 additions & 0 deletions test/cmake_subdir_test/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# Copyright 2018-2021 Peter Dimov
# Distributed under the Boost Software License, Version 1.0.
# See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt

cmake_minimum_required(VERSION 3.5...3.20)

project(cmake_subdir_test LANGUAGES CXX)

add_subdirectory(../.. boostorg/timer)

set(deps

# Primary dependencies
config
io
predef
)

foreach(dep IN LISTS deps)

add_subdirectory(../../../${dep} boostorg/${dep})

endforeach()

add_executable(main main.cpp)
target_link_libraries(main Boost::timer)

enable_testing()
add_test(main main)
20 changes: 20 additions & 0 deletions test/cmake_subdir_test/main.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
// Copyright (c) 2023 Klemens D. Morgenstern
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

#include <boost/cobalt/main.hpp>
#include <boost/cobalt/op.hpp>
#include <boost/asio/steady_timer.hpp>

using namespace boost;

// tag::timer_example[]
cobalt::main co_main(int argc, char * argv[]) // <1>
{
asio::steady_timer tim{co_await asio::this_coro::executor, // <2>
std::chrono::milliseconds(std::stoi(argv[1]))}; // <3>
co_await tim.async_wait(cobalt::use_op); // <4>
co_return 0; // <5>
}
// end::timer_example[]

0 comments on commit bbef7b8

Please sign in to comment.